Linux Kernel Architecture

Linux Kernel Architecture An architecture diagram generated by Archify. Applications · Regular user programs · User Space Applications Regular user programs Shell · Bash, Zsh · User Space Shell Bash, Zsh System Libraries · User Space System Libraries System Call Interface · Entry point to kernel services · Kernel Space System Call Interface Entry point to kernel services Process Management · Kernel Space › Kernel Subsystems Process Management Memory Management · Kernel Space › Kernel Subsystems Memory Management File System · Kernel Space › Kernel Subsystems File System Networking · Kernel Space › Kernel Subsystems Networking Security · Kernel Space › Kernel Subsystems Security Device Drivers · Kernel Space Device Drivers Hardware · CPU · Memory · Storage · Network Card · Architecture component Hardware CPU · Memory · Storage · Network Card system calls communicates with hardware devices User Space Kernel Space Kernel Subsystems Legend User space components Kernel components Security subsystem Hardware

User Space

  • • Memory region where regular applications run
  • • Reaches kernel services through system calls (fork, exec, open, read, write, socket, clone)

Role of the Kernel

  • • Intermediary between hardware and software
  • • Process creation, scheduling, termination; virtual and physical memory allocation
  • • Device management: communication with hardware devices

Hardware

  • • CPU · Memory · Storage · Network Card
  • • Reached by kernel subsystems only through device drivers