Course Type Subject L T P Credit TC T TE PC PE Pre-requisites
Code s A M S A S
S
Operatin 3 0 2 None
CC 4 15 15 40 15 15
g
Systems
COURSE OUTCOMES
1. Understand the function, structure, history of an operating system and the design issues
associated with an operating system.
2. Understand the concept of multithreading, process management concepts including
scheduling, synchronization and deadlocks.
3. Learn the memory management concepts including virtual memory.
4. Comprehend file system interface and implementation and disk management.
5. Be familiar with protection and security mechanisms.
COURSE CONTENT
Unit 1
Overview: Operating systems – structure, operations, components, types, services, user
interfaces. System calls, system programs, system boot.
Process management: Processes – concept, scheduling, operations on processes, interprocess
communications. Threads – single- and multi-threaded processes.
Unit 2
CPU scheduling – criteria, algorithms, multiple-processor scheduling.
Process synchronization – critical-section problem, semaphores, classic synchronization
problems, monitors.
Unit 3
Deadlocks – characterization, deadlock prevention, deadlock avoidance, deadlock detection,
recovery from deadlock.
Memory management: Main memory – memory allocation schemes, paging, segmentation.
Virtual memory – demand paging, page replacement, frame allocation, thrashing.
Unit 4
Storage management: File system – files and directories, structure and implementation of file
systems, mounting and unmounting, storage allocation methods, free-space management. Disk
– structure, scheduling, management.
Unit 5
I/o management: i/o hardware, i/o interface, kernel i/o subsystem.
Protection and security: Access matrix, security threats.
Case studies of latest operating systems.
Practical List
Implement these programs in C/C++ using Linux/Unix environment operating system. Maintain
hard copy of the same for final assessment.
1. Process creation and termination for operating system (fork, wait, signal, exit etc.).
2. Thread programming.
3. CPU scheduling algorithms: FCFS, SJF, Round Robin, Preemptive Priority Scheduling.
4. Inter process communication.
5. Critical Section problem.
6. Producer – Consumer problem using bounded and unbounded buffer.
7. Reader Writers problem, Dining Philosophers problem using semaphores.
8. Banker’s algorithm.
9. Page replacement algorithms: LRU, LRU-Approximation, FIFO, Optimal.
10. File operation system calls (open, read, close, append etc.)
11. Disk scheduling algorithms: FCFS, SSTF, SCAN, CSCAN, LOOK, CLOOK.
12. Experiments based on case studies.
Text Book:
1. Silberschatz, A., Galvin, P. B., and Gagne, G. 2009. “Operating System Principles (8th
ed.)”, Wiley.
Reference Book:
1. Stallings, W. 2014. “Operating Systems: Internals and Design Principles (8th ed.)”,
Pearson.
2. Tanenbaum, A. S. 2007. “Modern Operating Systems (3rd ed.)”, Pearson.