course handout (3)
course handout (3)
The objective of this course is to understand the fundamental concepts, techniques & algorithms, and internal working
principles of a computer operating system to become a system designer or an efficient application developer.
Pre-Requisite -:
Detailed Syllabus:
Module# CO Topics Hours
Introduction: Overview, Evolution of operating system, Types of
systems - Batch Processing, Multiprogramming, Time Sharing
Module-1 CO1 systems; Personal Computers, Parallel, Distributed, and Real- 6
time Systems; Operating System Services, System components,
System calls.
Process Management: Process concepts, states, PCB, Process
scheduling queues, queuing diagram, Types of schedulers,
Operations on process; Interprocess communication - shared
memory, message passing, Concept of buffering, Thread
overview, Benefits of multi-threaded program, User and kernel
Module-2 CO2 10
threads, Multi-threading models, Issues with multi-threading -
thread cancellation, thread pools, thread specific data; CPU
Scheduling: Dispatcher, Scheduling - Criteria, Algorithms -
FCFS, SJF, SRTF, RR, Priority, Multi-level Queue (MLQ), MLQ
with Feedback.
Process Synchronization: Background, Bounded-buffer –
Shared-memory solution to Producer-consumer problem, Race
condition, Critical section problem - Peterson’s solution,
Synchronization hardware: TestAndSet(), swap() instructions,
Semaphores - Counting and binary semaphore, spinlocks,
Module-3 CO3 Classical problems of synchronization - Bounded-buffer 10
problem, Readers-writers problem, Dining-philosophers
problem, Monitors; Deadlock: System model, characterization,
Resource-allocation graph, Methods for handling deadlocks,
Deadlock prevention & avoidance, Banker’s algorithm,
Deadlock detection & recovery.
Memory Management: Background, Logical & physical address
space, Dynamic loading & dynamic linking, Swapping,
Contiguous memory allocation, Dynamic storage allocation
problem, Overlays, Paging, Segmentation; Virtual Memory:
Module-4 CO4 9
Background, Demand paging, Page fault, Basic page
replacement policy, Page replacement algorithms - FIFO, OPT,
LRU, LRUApproximation, LFU, MFU, Thrashing,Working-set
model.
Module# CO Topics Hours
Secondary Storage Structure: Overview of mass storage
structure, Disk structure, Disk scheduling - FCFS, SSTF, SCAN,
C-SCAN, LOOK, CLOOK, Swap-space management, RAID
Module-5 CO5 structure; File System: Concept, Access methods, Directory 7
structure, Directory implementation, Allocation methods, Free
space management, Access control list; I/O System: Polling,
Interrupts, DMA; Case Studies: The LINUX System.
Total 42 Hours
Text Book
A. Silberschatz, P. B. Galvin, and G. Gagne, Operating System Concepts, 8th Edition,Wiley, 2009, ., .
M. Milenkovi´c, Operating Systems: Concepts and Design, 2nd Edition, Tata McGraw-Hill, 2001, ., .
Reference Book
A. S. Tanenbaum, Modern Operating Systems, 3rd Edition, PHI, 2009, ., .
P. B. Prasad, Operating Systems and System Programming, 2nd Edition, Scitech Publications, 2015, ., .
Online Reference Material(s):
Course Outcome:
Explore principles behind various types of operating systems, system components, system calls,
CO1
protection mechanisms and services
Explain different schedulers, scheduling policies, and design new scheduling algorithms for real life
CO2
problems
Describe the significance of process synchronization through classical synchronization problems and
CO3
deadlock handling mechanisms.
Describe the working principle of main memory, cache memory and virtual memory organization
CO4
and solve memory related problems.
Articulate secondary storage management, and analyze the performance of various disk scheduling
CO5
algorithms.