Kernel: It is a program. Kernel is a Core component of operating system, interacts directly with hardware and provides low level services to upper layer components.
Shell: An interface to kernel, hiding complexity of kernel’s functions from users. Takes commands from user and executes kernel’s functions.
User Interface: In information technology, the user interface (UI) is everything designed into an information device with which a human being may interact. Two types CLI (Command line interface) and GUI (Graphical User Interface).
System Library – System libraries are special functions or programs using which application programs or system utilities accesses Kernel’s features. These libraries implements most of the functionality of the operating system and do not requires kernel module’s code access rights.
System Utility – System Utility programs are responsible to do specialized, individual level tasks.
KERNEL MODE VS USER MODE:
- Kernel ModeIn Kernel mode, the executing code has complete and unrestricted access to the underlying hardware. It can execute any CPU instruction and reference any memory address. Kernel mode is generally reserved for the lowest-level, most trusted functions of the operating system. Crashes in kernel mode are catastrophic; they will halt the entire PC.
- User ModeIn User mode, the executing code has no ability to directly access hardware or reference memory. Code running in user mode must delegate to system APIs to access hardware or memory. Due to the protection afforded by this sort of isolation, crashes in user mode are always recoverable. Most of the code running on your computer will execute in user mode.
# Linux system architecture consist of the following layers
HARDWARE LAYER : this layer consist of peripheral devices such as RAM,HDD,CPU
KERNEL : it is the core component of the operating system, it interact directly with the hardware , provides low level services to upper layer components
SHELL: an interface to the kernal, hiding complexity of kernel’s function from users, take the command from the user and executes the kernel function
UTILITIES: this program gives the user most of the functionalities of an operating system