CS 2254 - OPERATING SYSTEMS |
UNIT I PROCESSES AND THREADS |
Introduction to operating systems review of computer organization operating system
structures system calls system programs system structure virtual machines.
Processes: Process concept Process scheduling Operations on processes
Cooperating processes Interprocess communication Communication in client-server
systems. Case study: IPC in Linux. Threads: Multi-threading models Threading issues.
Case Study: Pthreads library |
UNIT II PROCESS SCHEDULING AND SYNCHRONIZATION |
CPU Scheduling: Scheduling criteria Scheduling algorithms Multiple-processor
scheduling Real time scheduling Algorithm Evaluation. Case study: Process
scheduling in Linux. Process Synchronization: The critical-section problem
Synchronization hardware Semaphores Classic problems of synchronization
critical regions Monitors. Deadlock: System model Deadlock characterization
Methods for handling deadlocks Deadlock prevention Deadlock avoidance
Deadlock detection Recovery from deadlock. |
UNIT IIISTORAGE MANAGEMENT |
Memory Management: Background Swapping Contiguous memory allocation
Paging Segmentation Segmentation with paging. Virtual Memory: Background
Demand paging Process creation Page replacement Allocation of frames
Thrashing. Case Study: Memory management in Linux |
UNIT IVFILE SYSTEMS |
File-System Interface: File concept Access methods Directory structure Filesystem
mounting Protection. File-System Implementation : Directory implementation
Allocation methods Free-space management efficiency and performance recovery
log-structured file systems. Case studies: File system in Linux file system in
Windows XP |
UNIT VI/O SYSTEMS |
I/O Systems I/O Hardware Application I/O interface kernel I/O subsystem
streams performance. Mass-Storage Structure: Disk scheduling Disk management
Swap-space management RAID disk attachment stable storage tertiary storage.
Case study: I/O in Linux |
Text Book |
1. Silberschatz, Galvin, and Gagne, Operating System Concepts, Sixth Edition, Wiley
India Pvt Ltd, 2003. |
References |
1. Andrew S. Tanenbaum, Modern Operating Systems, Second Edition, Pearson
Education, 2004.
2. Gary Nutt, Operating Systems, Third Edition, Pearson Education, 2004.
3. Harvey M. Deital, Operating Systems, Third Edition, Pearson Education, 2004. |