System calls: Difference between revisions

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




[[File:Operating system placement.svg.png|frame|System calls happen at the operating system part of this diagram.]]
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


[[File:System call.png|500px]]
== 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>




[https://man7.org/linux/man-pages/man2/syscalls.2.html Please click here for a list of system calls in Linux]





Latest revision as of 10:53, 24 November 2020

Resource Management[1]
System calls happen between the application and operating system layer part of this diagram.
This diagram shows a simplified representation of a system call[2].


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]:

  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

Video



References