Skip to main content

Functions of OS and microkernel

Short answer

OS functions include process, memory, file, and I/O management, protection, and user interface. A microkernel keeps only essential services (IPC, scheduling, basic memory) in kernel mode; other services like file systems and drivers run as user-mode servers communicating via message passing.

What are the functions of an operating system? Explain about microkernel.

Functions of an operating system

  1. Process management: creation, scheduling, synchronization, communication and termination of processes.
  2. Memory management: allocation, protection, swapping, paging and virtual memory.
  3. File-system management: files and directories, access control, storage allocation.
  4. I/O (device) management: device drivers, buffering, spooling and disk scheduling.
  5. Protection and security: authentication and access control for resources.
  6. User interface: shell or GUI, error handling and resource accounting.

Microkernel

A microkernel is an OS design in which only the minimum essential services run in kernel mode, and everything else runs as ordinary user-mode server processes.

The microkernel keeps only:

  • low-level address-space management (basic memory handling),
  • process/thread management and scheduling, and
  • inter-process communication (IPC) by message passing.

The file system, device drivers, networking and memory pagers run as separate servers in user space. A client requests a service by sending a message to the microkernel, which passes it to the right server and returns the reply.

 User mode:
 +------+ +--------+ +---------+ +-----+
 | File | | Device | | Network | | App |
 | srv  | | driver | | server  | |     |
 +--+---+ +---+----+ +----+----+ +--+--+
    |         |           |         |
 ---+---------+-----------+---------+---
 Kernel mode:
 +------------------------------------+
 | Microkernel: IPC, scheduling,      |
 | basic memory management            |
 +------------------------------------+
 | Hardware                           |
 +------------------------------------+

Advantages: small, easy to port and extend; more reliable and secure because a failing server does not crash the kernel; servers can be added or replaced without recompiling the kernel.

Disadvantage: slower than a monolithic kernel because of repeated message passing and mode switches. Examples: Mach, QNX, MINIX 3.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Operating System chapter 1 questions →