Operating System Topics
Microkernel Structure of OS
Definition:
A microkernel is the minimal software that provides only the essential mechanisms needed to
implement an operating system. It includes process management, inter-process communication
(IPC), basic memory management, and low-level I/O operations.
Structure of Microkernel:
The microkernel divides the OS into small, isolated components:
- Kernel Space: Minimal process management, minimal memory management, IPC
- User Space: Device drivers, file systems, networking, other OS services
Features of Microkernel:
- Minimal size
- Runs most services in user mode
- Provides message passing for communication
- Modular and easy to maintain
Advantages:
- Better Security
- Easier to Extend
- Higher Reliability
- Better Portability
Disadvantages:
- Performance Overhead due to IPC
- Complex IPC Mechanisms
Examples:
- QNX
- MINIX
Operating System Topics
- L4 Microkernel
- Mac OS X (partially microkernel - hybrid)
+-----------------------------+
| User Applications |
+-----------------------------+
| Device Drivers | File System|
| Network | Servers |
+-----------------------------+
| Microkernel (IPC, PM, MM)|
+-----------------------------+
| Hardware |
+-----------------------------+
Process Control Block (PCB) in OS
Definition:
The Process Control Block (PCB) is a data structure used by the Operating System to store all
information about a specific process.
Components of PCB:
1. Process Identification Information: Process ID, Parent Process ID
2. Process State: New, Ready, Running, Waiting, Terminated
3. Program Counter: Holds the address of the next instruction
4. CPU Registers: Stores the current CPU register values
5. Memory Management Information: Page tables, base and limit registers
6. Accounting Information: CPU usage time, priority, limits
7. I/O Status Information: Devices and files allocated to the process
Functions of PCB:
- Stores process information for context switching
Operating System Topics
- Helps OS manage and schedule processes
- Tracks process execution
- Keeps record of resource allocation
- Maintains process priority and status
Importance:
- Essential for multi-programming and process management
- Enables the OS to track each process efficiently
+-------------------------+
| Process ID |
+-------------------------+
| Process State |
+-------------------------+
| Program Counter |
+-------------------------+
| CPU Registers |
+-------------------------+
| Memory Management Info |
+-------------------------+
| Accounting Info |
+-------------------------+
| I/O Status Info |
+-------------------------+