Open Source Technology Masters of Computer Science

Linux Kernel Fundamentals. Things you need to know about Linux Kernel

Linux Kernel Fundamentals. Things you need to know about Linux Kernel

Introduction of Kernel

  • Kernel is core of OS representing core aspect of Linux distribution for computers and servers
  • Architecture of Kernel is monolithic and OS operates in Kernel space.
  • Complete control over anything is there with Kernel
  • Linux Kernel is a layer between hardware of device and software.
  • Kernel is responsible for
    • For application execution,  process is managed by Kernel
    • Memory Management
    • I/O Management
    • System call control
    • With help of device drivers, Kernel has role in device management.

Operations of Kernel

  • As Kernel controls all the programs in system, sometimes Kernel is considered is heart of the operating system.
  • When the device starts, initialization process starts where functions such as checking of memory is performed.
  • Memory allocation is performed and environment is created where application runs with no disturbances.
  • As Kernel works as service provider, for accomplishing  multiple tasks like requesting the usage of disk, network card etc, program can request Kernel.
  • For CPU to enable multitasking, Kernel can set interrupts.
  • By not letting faulty programs to enter operational functions of others, computational environment is protected by Kernel.
  • Unauthorized programs are stopped by Kernel at entrance itself by not allowing memory space.
  • Kernel can also limits the CPU time consumed by unauthorized programmes.

Types of Kernel

Monolithic Kernel

  • Contains many drivers.
  • Creates communication interface between h/w and s/w if device
  • Consist various modules which can be dynamically loaded and unloaded.
  • This architecture expands the capacities of OS and allows easy extension to Kernel
  • Maintenance of Kernel is easy  as it allows concern module to load and unload when there is need of bug fixation

Microkernel

  • Executes basic functionality without interruptions
  • Addresses the issue of ever growing size of Kernel code (monolithic failed in this)
  • To run in user space, some basic services are allowed. Services are protocol stack, device driver management, file system etc.
  • Capability of OS can be enhanced with minimum code, improved security and ensuring stability.
  • All the basic OS services are available to program via IPC – Interprocess Communication
  • Allows direct interaction between device drivers and hardware

Hybrid Kernel

  • Combines monolithic and microkernel
  • Can decide what it wants to run in user and supervisor mode.
  • Device drivers, filesystens I/O etc run in user mode
  • In supervisor mode, server calls and IPC are placed.

Kernel Space Vs User Space

Kernel Space

  • Found in elevated state. Kernel space provides full access of hardware devices
  • It protects memory space
  • Memory space and user space is togetherly called Kernel space.
  • In environment of Kernel space, core access to system service and hardware are maintained.
  • This is provided as sercice to rest of the system.

User Space

  • It’s a code that run outside OS Kernel Environment

Userspace is various applications/programs/libraries which are used by OS to connect with Kernel.

About Author

ICT Byte