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.