Introduction to Linux Kernel
- The Linux or the unix kernel is just developed under the microkernel architecture…
- The Microkernel provides only the necessary minimum of functionality (inter process communication and the memory management) and can be accordingly be implemented in a small and compact form. Building on this microkernel, the remaining functions of the operating system are relocated to the autonomous processes communicating with the microkernel via a well defied interface.
- Generally, microkernel systems have been created whose performance can be improved by the monolithic systems. Since linux provides slow i386 architecture, so linux is developed using the monolithic design..
- the code size of linux mainly occupied by the device drivers and similars. on the other hand, the central routines of process and memory management are relatively small and easily understood, with 13000 lines of C code in each
- Thus LINUX is successfully tries to make use of the advantages of a microkernel architecture without giving up its original monolithic design.
Running – The task is active and running inthe non privileged user mode. This state can be interrupted only when there is a system call or the interrupt.
Interrupt Routine – The interrupt routine becomes active when the hardware signals an exception condition which may be new characters from the keyboard or any other hardware interrupt.
System calls – system calls are initiated by software interrupts
Waiting – the process is waiting for an external event. Eg. waiting for a button press…
Ready – the process is ready to run under the CPU, but some other process is currently running under the cpu.
Return from system call – This state is adopted after the end of the system call or end of the interrupts.