System calls: Difference between revisions
Mr. MacKenty (talk | contribs) No edit summary |
Mr. MacKenty (talk | contribs) No edit summary |
||
(8 intermediate revisions by the same user not shown) | |||
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>]] | ||
[[File:Operating system placement.svg.png|frame|System calls happen between the application and operating system layer part of this diagram.|right]] | |||
[[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>.|right]] | |||
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> | |||
Categories of system calls can be grouped as noted below<ref>https://en.wikipedia.org/wiki/System_call</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) | |||
#*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 | |||
# 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 | |||
== Video == | |||
<html> | |||
<iframe width="560" height="315" src="https://www.youtube.com/embed/xHu7qI1gDPA" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> | |||
</html> | |||
Latest revision as of 09:53, 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.[3]
Categories of system calls can be grouped as noted below[4]:
- 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
Video