OPERATING SYSTEMS (OS) – CLEAN & STRUCTURED
NOTES
1. What is an Operating System?
An Operating System (OS) is system software that acts as an intermediary between computer
hardware and users. It manages hardware resources (CPU, memory, storage, I/O devices) and
provides services for application programs.
Purpose: - Efficient and fair resource allocation - Hardware management - User-friendly interface
Real-Life Example: Like a restaurant manager coordinating between customers (users) and kitchen
staff (hardware), ensuring orders are executed correctly and efficiently while handling errors.
1. Types of Operating Systems
2.1 Batch Operating System
■ Meaning: Executes a group (batch) of jobs one after another without user interaction.
■ Real-world example: Bank processes salary or electricity bills at night in batches.
2.2 Time-Sharing Operating System
■ Meaning: Allows multiple users to use the computer at the same time by sharing CPU time.
■ Real-world example: Many users working simultaneously on a college server or Linux system.
2.3 Distributed Operating System
■ Meaning: Manages multiple computers and makes them work like a single system.
■ Real-world example: Google servers working together to provide search results.
2.4 Real-Time Operating System (RTOS)
■ Meaning: Gives instant response within a fixed time limit.
■ Real-world example: Airbag system in cars or traffic signal control system.
3. Comparison of OS Types
Feature Batch OS Time-Sharing OS Distributed OS Real-Time OS
User Interaction Minimal High Moderate Minimal
Response Time Long Short Variable Immediate
Usage Non-interactive Interactive Networked systems Embedded systems
4. Functions and Services of an OS
Process Management: Creation, scheduling, and termination of processes
Memory Management: Allocation and efficient use of memory
File System Management: Organizing files and directories
Device Management: Managing hardware peripherals
Security & Access Control: Protecting resources
User Interface: GUI or Command Line Interface
5. Process vs Program
Aspect Process Program
Definition Active entity (running instance) Passive entity (set of instructions)
State Dynamic Static
Example Running browser Browser executable file
Real-Life Example: Recipe (program) vs cooking the dish (process)
6. Process States
New, Ready, Running, Waiting / Blocked, Terminated
Theme Park Example: Arrival → Waiting → On ride → Snack break → Leaving
7. Process Control Block (PCB)
Process ID, Process state, CPU registers, Memory limits, Open files
Real-Life Example: Like a student profile in a school database
8. Context Switching
Context Switching is saving the state of a running process and loading the state of another process
to enable multitasking.
Example: Pausing one dish while cooking another
9. CPU Scheduling Algorithms
FCFS, SJF, Round Robin, Priority Scheduling
10. Preemptive vs Non-Preemptive Scheduling
11. Multithreading
12. Process vs Thread
13. User-Level vs Kernel-Level Threads
14. Concurrency and Synchronization
15. Synchronization Mechanisms
16. Deadlock
17. Starvation and Livelock
18. Memory Hierarchy
19. Memory Allocation
20. Fragmentation
21. Paging and Segmentation
22. Virtual Memory
23. Page Replacement Algorithms
24. Thrashing
25. File Systems
26. File Allocation Methods
27. Disk Scheduling Algorithms
28. I/O Hardware and Interfaces
29. I/O Buffering
30. Direct Memory Access (DMA)
31. Device Drivers
End of OS Notes