operating-systems

Definition

Process-Based Kernel

A process-based kernel is an operating system architecture in which the major functions of the kernel are implemented as separate, modular system processes. In this model, even core OS services compete for CPU time and are managed by a minimal set of non-process basic services.

Only the most fundamental services—such as the dispatcher, low-level interrupt handling, and basic inter-process communication (IPC)—remain outside of the process abstraction.

Mechanism

  • System Processes: Services like file management, network protocols, and device drivers run as high-privilege processes.
  • Uniformity: The OS uses the same scheduling logic and data structures (like the Process Table) for both user and system processes.
  • Communication: Processes request services by sending messages to the corresponding system processes.

Characteristics

  • Modularity: Services can be added, removed, or updated without rebooting the entire kernel.
  • Flexibility: Ideally suited for distributed systems where system processes can reside on different physical machines.
  • Robustness: A failure in a system process (e.g., the network server) does not necessarily crash the entire operating system.
  • Performance: Can be slower than monolithic designs due to the overhead of message passing and frequent process switches.

Analogy

The process-based kernel is analogous to a corporate office:

  • User Processes: Clients requesting services.
  • System Processes: Specialised departments (Accounting, IT, HR).
  • Dispatcher: The office manager who schedules who gets to use the shared boardroom (the CPU).

Just as a client must send a request to a specific department to get work done, user programs send messages to system processes. Everyone in the building follows the same building rules (the kernel’s basic services).