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, which are 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 addresses that are 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 calls the program will switch to the kernel. It will happen with the hardware resources in 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.
Given below is the structure of system call −
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.
Now let us see the roles of User interface and kernel.
It facilitates communication between an application and its user by acting as an intermediary between them. Every application that is included in the operating system is provided with a specific UI for effective communication. There are two basic functions of a user interface of an application which takes the inputs from the user and to provide the output to the users.
It can be classified into two categories as follows −
Graphical user interface (GUI) − It is a graphical representation of the Interface.
Command line user interface (CLI) − In this you have to pass specific code or command to achieve your goal.
It is the central component of an OS (operating system). Kernel is responsible for managing all the processes, memory, files, etc. It acts as an interface (bridge) between the user-level application (software) and the hardware. It is also called the main part or heart of the computer.