An overview of what an operating system is, its functions, types of operating systems, and the role it plays in managing computer hardware and software resources.
Introduction to Operating Systems
Course‑level overview – concise, organized, and ready for study or quick reference.
| Aspect | Description |
|---|---|
| Definition | System software that manages hardware resources and provides services for application programs. |
| Primary Goals | • Efficient resource utilization • Fair and secure sharing of resources • Simplicity for programmers (abstraction) |
| Typical Users | End‑users, developers, system administrators, embedded devices. |
| Examples | Windows, macOS, Linux, Android, iOS, RTOS (e.g., FreeRTOS, VxWorks). |
Process Management
Memory Management
File System Management
Device Management
Security & Protection
User Interface (UI)
+---------------------------+
| Applications |
+---------------------------+
| System Call Interface |
+---------------------------+
| Operating System |
| (Kernel + Services) |
+---------------------------+
| Hardware Abstraction |
+---------------------------+
| Physical HW |
+---------------------------+
| Layer | Role |
|---|---|
| Kernel Space | Privileged code; handles core tasks (CPU scheduling, memory, device drivers). |
| User Space | Runs applications and most system services; cannot directly access hardware. |
| Type | Characteristics |
|---|---|
| Monolithic | All OS services run in kernel mode (e.g., Linux). |
| Microkernel | Minimal kernel (CPU, memory, IPC); other services run in user mode (e.g., Minix, QNX). |
| Hybrid | Mix of monolithic and microkernel ideas (e.g., Windows NT). |
| Exokernel | Exposes hardware resources directly; OS policies implemented in libraries. |
| Term | Definition |
|---|---|
| Process | Instance of a program in execution; has its own address space. |
| Thread | Light‑weight execution unit within a process; shares address space. |
| PCB (Process Control Block) | Data structure holding process state (PID, registers, scheduling info). |
| Context Switch | Saving current PCB, loading next PCB – enables multitasking. |
| Scheduling | Algorithms that decide which process/thread runs next. |
| States | New → Ready → Running → Waiting (Blocked) → Terminated. |