Operating Systems Syllabus

A Hunt for Reaching Horizon of Science



Introduction to operating systems: OS structure and strategies, Process concept, Interprocess communication, Threads, Multithreaded programming.
Process scheduling: Scheduling criteria, Scheduling Algorithms, Multi Process scheduling, Thread Scheduling.


Memory Management, swapping, contiguous allocation, paging, static and dynamic partition, demand paging, page replacement algorithms, thrashing, segmentation with paging, Virtual memory.
File System Interface: File Concept, Access Methods, Directory Structure, File System Mounting, File sharing, protection.
File System implementation: File system structure, File system implementations, Directory implementation, Allocation Methods, Free space management, Efficiency and performance, recovery.
Case Studies: UNIX file system, Windows file system


Process Synchronization: Critical section problem, semaphore, monitors.
Deadlocks: Necessary conditions, resource allocation graph, methods for handling deadlocks, preventions, avoidance, detection and recovery, protection, goals of protection, domain of protection, access matrix .


Device Management: Disk structure, Disk Attachment, Disk Scheduling, Disk Management, RAID Structure, Stable storage implementation.
I/O System: I/O hardware, Application I/O interface, Kernel I/O Subsystem, Transforming I/O request to hardware operation, STREAMS.


Case Studies:
LINUX System: Design Principles, Kernel Modules, Process Management, Scheduling Memory Management, File Systems, Input and Output, Interprocess communication, Network Structure, Security.
Windows XP: Design Principles, Architecture, Environmental subsystem, File Subsystem, Networking, Programming interface, Android OS

Suggested Reading:

1.Abraham Silberchatz, Peter B.Galvin, Greg Gagne, Operating System-Concepts, Wiley India, 2006.

2.Andrew S.Tanenbaum, Modern Operating Systems, Third Edition, Pearson education, Asia-2008.

3.DhananjayM.Dhamdhere, Operating System-concept based approach, third edition, Tata McGraw Hill, Asia-2009.

Robert Love: Linux kernel Development, Pearson Education, 2004.