- Back to Home »
- System Calls in Operating System:
System Calls in Operating System:
System calls provide an interface between a running program and operating system. System calls are generally available as assembly language instructions. Several higher level languages such as C also allow to make system calls directly.
The system call interface layer contains entry point in kernel code. All system resources are managed, by the kernel. Any request from user or application that involves access to any system resource must be handled by kernel code. The user process must not be given open access to kernel code for security reason. Many opening into kernel code called system calls are provided to user so that the user processes can invoke the execution of kernel code. System calls allow processes and users to manipulate system resources.
There are three general methods that are used to pass information (parameters) between a running program and the operating system.
- One method is to store parameters in registers.
- Another is to store parameters in a table in memory and pass the address of table.
- The third method is to push parameters on stack and allow operating system to pop the parameters off the stack.
Types of System Calls in Operating System:
The main types of system calls are as follows:
Process Control: These types of system calls are used to control the processes. Some examples are end, abort, load, execute, create process, terminate process etc.
File Management: These types of system calls are used to manage files. Some examples are Create file, delete file, open, close, read, write etc.
Device Management: These types of system calls are used to manage devices. Some examples are Request device, release device, read, write, get device attributes etc.
Information Maintenance: These types of system calls are used to maintain information. Some examples are Get time or date, set time or date, get system data, set system data etc.
Communications: These types of system calls are used to for communication. Some examples are Create, delete communication connection, send, receive messages etc.