Pre-Requisite: None
Contact Hours and Credits: ( 3 -0- 0 ) 3
To expose the principles and practice of operating system design and to illustrate the current design practices using DOS and UNIX operating systems.
Types of operating systems, Different views of the operating system, Principles of Design and Implementation. The process and threads. System programmer's view of processes, Operating system's views of processes, Operating system services for process management. Process scheduling, Schedulers, Scheduling algorithms. Overview of Linux operating system.
Interprocess synchronization, Mutual exclusion algorithms, Hardware support, Semaphores, Concurrent programming using semaphores.
Conditional critical regions, Monitors, Interprocess communication: Messages, Pipes. Deadlocks: Characterization. Prevention. Avoidance. Detection and recovery. Combined approach to deadlock handling.
Contiguous allocation. Static and dynamic partitioned memory allocation. Segmentation. Non-contiguous allocation. Paging, Hardware support, Virtual Memory
Need for files. File abstraction. File naming. File system organization. File system optimization. Reliability. Security and protection. I/O management and disk scheduling. Recent trends and developments.