EC457
Operating Systems
Pre-Requisite: None
Contact Hours and Credits: ( 3 -0- 0 ) 3
Objective:
To expose the principles and practice of operating system design and to illustrate the current design practices using DOS and UNIX operating systems.
Topics Covered:
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.
Course Outcomes:
-
CO1: Students will understand the principle of operating system design and their memory allocation strategies.
-
CO2: Students will have the knowledge of various concurrent processes of the operating systems.
Text Books:
-
Gary: Operating Systems- A modern Perspective, (2/e), Addison Wesley, 2000.
-
M. Milenkovic: Operating systems, Concepts and Design, McGraw Hill, 1992.
Reference Books:
-
C. Crowley: Operating Systems, Irwin, 1997.
-
J.l. Peterson & A.S. Chatz: Operating System Concepts, Addison Wesley, 1985.
-
W. Stallings: Operating Systems, (2/e), Prentice Hall, 1995.
-
Mattuck, A., Introduction to Analysis, Prentice-Hall,1998.