Week 6: Operating System Structures and Functional Modules
1. OS Structures: Monolithic, Microkernel
• Monolithic Kernel:
o Definition: A single large process that runs in supervisor mode, handling all OS
functions. Includes device drivers, file systems, and system calls.
o Advantages: Efficient communication between components, fewer context
switches.
o Disadvantages: Less modular, harder to maintain and extend.
• Microkernel:
o Definition: Only the most essential functions (e.g., communication, basic
hardware management) run in kernel mode. Other services (e.g., file systems,
device drivers) run in user mode.
o Advantages: More modular and easier to maintain; faults in one component do
not necessarily crash the entire system.
o Disadvantages: Potentially slower due to more context switches and inter-
process communication.
2. Functional Modules of an OS
• Modules:
o File System: Manages file operations such as creation, deletion, reading, and
writing. Provides abstraction for file storage.
o Memory Management: Handles allocation and deallocation of memory, paging,
and segmentation.
o Process Management: Manages process creation, scheduling, and termination.
Ensures fair CPU allocation and efficient multitasking.
o Device Drivers: Provide an interface for the OS to communicate with hardware
devices.
3. Levels of Abstraction in OS
• User Mode vs. Kernel Mode:
MERU UNIVERSITY OF SCIENCE AND TECHNOLOGY-KAJE DAVID MURITHI
o User Mode: The mode in which user applications run with restricted access to
hardware and system resources.
o Kernel Mode: The mode in which the OS kernel operates with full access to
hardware and system resources.
• Abstraction Layers:
o Hardware Abstraction Layer (HAL): Provides a consistent interface for
hardware across different devices.
o System Call Interface: Provides a way for user applications to request services
from the kernel.
o Application Programming Interface (API): Provides a set of functions and
protocols for application developers to interact with the OS.
4. Flow of Control in Operating Systems
• Control Flow: Manages how processes and threads are scheduled and executed.
Includes handling interrupts and system calls.
• Interrupts: Mechanism to handle asynchronous events and ensure timely responses to
hardware signals.
• System Calls: Interface through which user applications request services from the OS.
Examples include file operations (open(), read(), write()) and process control
(fork(), exec()).
MERU UNIVERSITY OF SCIENCE AND TECHNOLOGY-KAJE DAVID MURITHI