Difference between revisions of "System call (syscall)"
Jump to navigation
Jump to search
↑ Silberschatz, Abraham (2018). Operating System Concepts. Peter B Galvin; Greg Gagne (10th ed.). Hoboken, NJ: Wiley. p. 67. ISBN 9781119320913. OCLC 1004849022.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
(18 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
− | * [[ptrace]] | + | * <code>[[ptrace]]</code> |
+ | * <code>[[unlink]]</code>: <code>[[rm]]</code> | ||
+ | * <code>[[chroot]]</code> | ||
+ | * <code>[[fork]]</code> | ||
+ | * <code>[[futex]]</code> | ||
+ | * <code>[[strace]] -c -f -p $PID</code> | ||
+ | ==Categories of system calls== | ||
+ | System calls can be grouped roughly into six major categories:<ref>{{Cite book|title=Operating System Concepts|last=Silberschatz|first=Abraham|publisher=Wiley|others=Peter B Galvin; Greg Gagne|year=2018|isbn=9781119320913|edition=10th|location=Hoboken, NJ|pages=67|oclc=1004849022}}</ref> | ||
+ | |||
+ | : | ||
+ | |||
+ | # Process control | ||
+ | #* create process (for example, <code>[[fork (operating system)|fork]]</code> on Unix-like systems, or <code>NtCreateProcess</code> in the [[Windows NT]] [[Native API]]) | ||
+ | #*Terminate [[process]]: [[process_mrelease]](2), [[kill]] | ||
+ | #*[[Loader (computing)|load]], [[Exec (operating system)|execute]] | ||
+ | #* get/set process attributes | ||
+ | #*[[Wait (operating system)|wait]] for time, wait event, [[Signal (computing)|signal]] event | ||
+ | #*[[Dynamic memory allocation|allocate]] and [[Garbage collection (computer science)|free]] memory | ||
+ | |||
+ | # File management | ||
+ | #* create file, delete file | ||
+ | #* open, close | ||
+ | #* read, write, reposition | ||
+ | #* get/set file attributes | ||
+ | # Device management | ||
+ | #* request device, release device | ||
+ | #* read, write, reposition | ||
+ | #* get/set device attributes | ||
+ | #* logically attach or detach devices | ||
+ | # Information maintenance | ||
+ | #* get/set total system information (including time, date, computer name, enterprise etc.) | ||
+ | #* get/set process, file, or device metadata (including author, opener, creation time and date, etc.) | ||
+ | # Communication | ||
+ | #* create, delete communication connection | ||
+ | #* send, receive messages | ||
+ | #* transfer status information | ||
+ | #* attach or detach remote devices | ||
+ | #Protection | ||
+ | #*get/set file permissions | ||
+ | |||
+ | == Related terms == | ||
+ | * [[Linux commands]] | ||
+ | * [[man]] | ||
+ | * [[/var/log/audit/audit.log]] | ||
== See also == | == See also == | ||
− | * {{ | + | * {{syscall}} |
+ | * {{perf}} | ||
* {{Linux Kernel}} | * {{Linux Kernel}} | ||
+ | |||
+ | |||
+ | [[Category:Computing]] |
Latest revision as of 08:02, 26 June 2023
Categories of system calls[edit]
System calls can be grouped roughly into six major categories:[1]
- Process control
- create process (for example,
fork
on Unix-like systems, orNtCreateProcess
in the Windows NT Native API) - Terminate process: process_mrelease(2), kill
- load, execute
- get/set process attributes
- wait for time, wait event, signal event
- allocate and free memory
- create process (for example,
- File management
- create file, delete file
- open, close
- read, write, reposition
- get/set file attributes
- Device management
- request device, release device
- read, write, reposition
- get/set device attributes
- logically attach or detach devices
- Information maintenance
- get/set total system information (including time, date, computer name, enterprise etc.)
- get/set process, file, or device metadata (including author, opener, creation time and date, etc.)
- Communication
- create, delete communication connection
- send, receive messages
- transfer status information
- attach or detach remote devices
- Protection
- get/set file permissions
Related terms[edit]
See also[edit]
- syscall, Dtruss,
fork
, Fork bomb - Performance:
perf
,strace
, Dtrace, SystemTap,iperf
,uperf
,cgroups
,netperf
, sysbench, Queries Per Second (QPS), PerfKitBenchmarker, Load testing - Linux Kernel: namespaces, Cgroups, OOM, proc, Linux Kernel changelog,
sysctl, userfaultfd
, Grub, ENOSPC, ENOMEM, DKMS, syscall, Transparent huge pages, smatch, sysfs, vm.swappiness, CFS, Runlevel, Jens Axboe, Consistent Network Device Naming, Initial ramdisk (initrd),modprobe
, MTD, Linux Kernel vulnerabilities,/sys/kernel/
, KernelCare,unix://
, Data Plane Development Kit (DPDK)
Advertising: