System calls: Difference between revisions
Mr. MacKenty (talk | contribs) No edit summary |
Mr. MacKenty (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
[[file:resource.png|right|frame|Resource Management<ref>http://www.flaticon.com/</ref>]] | [[file:resource.png|right|frame|Resource Management<ref>http://www.flaticon.com/</ref>]] | ||
In computing, a system call (commonly abbreviated to syscall) is the programmatic way in which a computer program requests a service from the kernel of the operating system on which it is executed. This may include hardware-related services (for example, accessing a hard disk drive), creation and execution of new processes, and communication with integral kernel services such as process scheduling. System calls provide an essential interface between a process and the operating system.<ref>https://en.wikipedia.org/wiki/System_call</ref> | In computing, a system call (commonly abbreviated to syscall) is the programmatic way in which a computer program requests a service from the kernel of the operating system on which it is executed. This may include hardware-related services (for example, accessing a hard disk drive), creation and execution of new processes, and communication with integral kernel services such as process scheduling. System calls provide an essential interface between a process and the operating system.<ref>https://en.wikipedia.org/wiki/System_call</ref> | ||
# Process control | # Process control | ||
#* create process (for example, <code> | #* create process (for example, <code>fork (operating system)|fork</code> on Unix-like systems, or <code>NtCreateProcess</code> in the Windows NT, Native API) | ||
#* | #*Kill (command)|terminate process | ||
#* | #*Loader (computing)|load, Exec (operating system)|execute | ||
#* get/set process attributes | #* 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 | # File management | ||
#* create file, delete file | #* create file, delete file | ||
Line 40: | Line 30: | ||
#Protection | #Protection | ||
#*get/set file permissions | #*get/set file permissions | ||
[[File:Operating system placement.svg.png|frame|System calls happen at the operating system part of this diagram.|left]] | |||
[[File:System call.png|500px|frame|This diagram shows a simplified representation of a system call<ref>https://www.guru99.com/system-call-operating-system.html</ref>.|left]] | |||
System calls can be grouped roughly into six major categories:[12] | |||
Revision as of 09:43, 24 November 2020
In computing, a system call (commonly abbreviated to syscall) is the programmatic way in which a computer program requests a service from the kernel of the operating system on which it is executed. This may include hardware-related services (for example, accessing a hard disk drive), creation and execution of new processes, and communication with integral kernel services such as process scheduling. System calls provide an essential interface between a process and the operating system.[2]
- Process control
- create process (for example,
fork (operating system)|fork
on Unix-like systems, orNtCreateProcess
in the Windows NT, Native API) - Kill (command)|terminate process
- 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
- 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 time or date
- get/set system data
- get/set process, file, or device attributes
- Communication
- create, delete communication connection
- send, receive messages
- transfer status information
- attach or detach remote devices
- Protection
- get/set file permissions
System calls can be grouped roughly into six major categories:[12]
Please click here for a list of system calls in Linux