What is a system call?


System call provides an interface between user program and operating system. It is represented as follows −

When the user wants to give an instruction to the OS then it will do it through system calls. Or a user program can access the kernel which is a part of the OS through system calls.

It is a programmatic way in which a computer program requests a service from the kernel of the operating system.

Program executes in two modes as follows −

  • User mode − Cannot access any hardware resources, which perform only the user operations.

  • Kernel mode − Can access hardware resources like RAM, Printer.

The processor in a computer switches between the two modes depending upon what types of code are running on the processor.

A process running in the user mode cannot access the virtual address that is reserved for the operating system. The system is in user mode when the operating system is running a user application such as handling a text editor.

The transition from the user mode to kernel mode occurs, when the application requests the help of the operating system or an interrupt or a system call occurs. The mode bit is set to 1 in the user mode. When a program needs any hardware resources, it needs to make a call to the kernel.

Through system call, the program will switch to the kernel. It will happen with the hardware resources in the kernel mode. After compilation of the work of hardware resources it will again come back to user mode. When it will require hardware then only it will come to kernel mode.

Due to security reasons, user applications are not given access to hardware resources, when they need to do any I/O or require some memory, it requests OS one of all these. This request is made through system calls.

Updated on: 29-Nov-2021

930 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements