System calls: Difference between revisions

From Computer Science Wiki
No edit summary
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>
[[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]


# Process control
# 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]])
#* 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]]
#*Kill (command)|terminate process
#*[[Loader (computing)|load]], [[Exec (operating system)|execute]]
#*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
#*Wait (operating system)|wait for time, wait event, Signal (computing)|signal event
#*[[Dynamic memory allocation|allocate]] and [[Garbage collection (computer science)|free]] memory
#*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 10:43, 24 November 2020

Resource Management[1]

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]

  1. Process control
    • create process (for example, fork (operating system)|fork on Unix-like systems, or NtCreateProcess 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
  2. File management
    • create file, delete file
    • open, close
    • read, write, reposition
    • get/set file attributes
  3. Device management
    • request device, release device
    • read, write, reposition
    • get/set device attributes
    • logically attach or detach devices
  4. Information maintenance
    • get/set time or date
    • get/set system data
    • get/set process, file, or device attributes
  5. Communication
    • create, delete communication connection
    • send, receive messages
    • transfer status information
    • attach or detach remote devices
  6. Protection
    • get/set file permissions
System calls happen at the operating system part of this diagram.


This diagram shows a simplified representation of a system call[3].


System calls can be grouped roughly into six major categories:[12]


Please click here for a list of system calls in Linux


References