In computing, a system call is the programmatic way in which a computer program requests a service from the kernel of the operating system it is executed on. A system call is a way for programs to interact with the operating system. A computer program makes a system call when it makes a request to the operating system’s kernel. System call provides the services of the operating system to the user programs via Application Program Interface(API). It provides an interface between a process and operating system to allow user-level processes to request services of the operating system. System calls are the only entry points into the kernel system. All programs needing resources must use system calls.
Services Provided by System Calls :
- Process creation and management
- Main memory management
- File Access, Directory and File system management
- Device handling(I/O)
- Networking, etc.
- Process control: end, abort, create, terminate, allocate and free memory.
- File management: create, open, close, delete, read file etc.
- Device management
- Information maintenance
- Operating Systems | States of a process
- Operating System | Types of Operating Systems
- Operating System | Microkernel
- Operating System | Monolithic Kernel and key differences from Microkernel
- Dual Mode operations in OS
- Operating System | Introduction of Operating System - Set 1
- Operating System | Dekker's algorithm
- Operating System | Process Table and Process Control Block (PCB)
- Difference between 32-bit and 64-bit operating systems
- What happens when we turn on computer?
- Last Minute Notes – Operating Systems
- Operating System | Thread
- Operating System | Process Synchronization | Introduction
- Operating System | Process Management | Introduction
- Operating System | Critical Section
Types of System Calls : There are 5 different categories of system calls –
Examples of Windows and Unix System Calls –
|Process Control||CreateProcess() ExitProcess() WaitForSingleObject()||fork() exit() wait()|
|File Manipulation||CreateFile() ReadFile() WriteFile() CloseHandle()||open() read() write() close()|
|Device Manipulation||SetConsoleMode() ReadConsole() WriteConsole()||ioctl() read() write()|
|Information Maintenance||GetCurrentProcessID() SetTimer() Sleep()||getpid() alarm() sleep()|
|Communication||CreatePipe() CreateFileMapping() MapViewOfFile()||pipe() shmget() mmap()|
|Protection||SetFileSecurity() InitlializeSecurityDescriptor() SetSecurityDescriptorGroup()||chmod() umask() chown()|
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : manjit