An overview of what operating systems are, their role in managing computer hardware and software, and their importance in facilitating user interaction with the system.
Introduction to Operating Systems
Course notes – concise, organized, and ready for review
| Aspect | Description |
|---|---|
| Definition | System software that manages hardware resources and provides services for application programs. |
| Primary Goals | • Resource management • User convenience • System security & stability |
| Typical Users | End‑users, developers, system administrators, embedded devices. |
| Examples | Windows, macOS, Linux, Android, iOS, FreeRTOS, QNX. |
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; fast but large. |
| Microkernel | Minimal kernel (scheduling, IPC, basic memory); other services run in user space. |
| Hybrid Kernel | Combines monolithic performance with microkernel modularity (e.g., Windows NT). |
| Exokernel | Exposes hardware resources directly; OS provides library OSes. |
| Layered (Modular) Architecture | System built as a stack of layers; each layer uses services of the one below. |
| Concept | Process | Thread |
|---|---|---|
| Definition | Independent execution unit with its own address space. | Lightweight unit of execution sharing a process’s address space. |
| Overhead | Higher (context switch, memory). | Lower (share code, data, files). |
| Communication | Requires IPC mechanisms. | Implicit via shared memory. |
| Use Cases | Isolated tasks, security boundaries. | Parallelism within a single application. |
Scheduling Goals
Types of Schedulers
Common Algorithms