This topic will provide an overview of operating systems, including its definition, functions, types, and the role it plays in managing computer hardware and software.
Introduction to Operating Systems
Course‑level overview – suitable for beginners
| Aspect | Description |
|---|---|
| Definition | System software that manages hardware resources and provides services for application programs. |
| Primary Goals | • Abstract hardware details • Allocate resources efficiently • Ensure security & stability |
| Typical Users | End‑users, developers, system administrators, embedded devices. |
Process Management
Memory Management
File System Management
Device (I/O) Management
Security & Protection
User Interface
| Model | Key Characteristics |
|---|---|
| Monolithic Kernel | All services run in kernel space (e.g., Linux, early UNIX). Fast but less fault‑tolerant. |
| Microkernel | Minimal kernel (scheduler, IPC, basic memory mgmt); other services run in user space (e.g., Minix, QNX). Improves reliability, may incur performance overhead. |
| Hybrid Kernel | Mix of monolithic and microkernel ideas; core services in kernel, others modular (e.g., Windows NT, modern macOS). |
| Exokernel | Exposes hardware resources directly to applications; OS provides only protection and allocation policies. Research‑oriented. |
| Concept | Process | Thread |
|---|---|---|
| Definition | Independent execution unit with its own address space. | Lightweight execution unit sharing the process’s address space. |
| Overhead | Higher (creation, context switch). | Lower – faster creation and switching. |
| Use Cases | Isolated tasks, security boundaries. | Parallelism within a program (e.g., UI thread + worker threads). |
| Communication | Requires IPC mechanisms. | Can share memory directly; synchronization needed (mutexes, semaphores). |
Scheduling Goals
Types of Schedulers