CO313: Operating Systems

Course Number : CO313
Course Title : Operating Systems
Credits : 3
Prerequisites : Data Structures and Algorithms (CO214)
No Course Content Time Allocated (hours)
      L T P A
01 Overview of Operating Systems
Role and purpose of OS, History of OS development –batch to time-sharing to network-centric evolution, Review of computer organisation: I/O, Interrupts, DMA, Storage hierarchy.
3      
02 Design Principles
Functionality of a typical OS, Design issues (efficiency, robustness, flexibility, portability, security, compatibility). Abstractions: Processes and files. Multiprogramming: dispatching and context switch, User/system state and protection, System calls and APIs, Kernel structuring models (monolithic, layered, modular, micro-kernel), Policy/mechanism separation.
4 1 2 2
03 Scheduling and Dispatching
States and state diagrams, Structures (ready list, process control blocks, and so forth), Pre-emptive and non-pre-emptive scheduling, Schedulers and policies, Multiprocessor & real-time issues.
4 1 2 2
04 Threads
Threads vs. processes, User vs. kernel threads, Mapping user threads to kernel threads: many-to-one, one-to-one, many-to-many, Threading APIs.
3      
05 Synchronization & Deadlock
Inter-process communication: shared memory vs. message passing, The "mutual exclusion" problem and some solutions, Synchronization mechanisms (semaphores, monitors, condition variables), Producer-consumer and other classical IPC problems, Deadlock: causes and conditions, avoidance.
6 1 2 2
06 Memory management
Contiguous allocation, Paging vs. segmentation, Placement and replacement policies, Hardware support for memory management, Working sets and thrashing.
5 1 2 2
07 File Systems
Files: data, metadata, File operations, access methods, organization & buffering, Directories: contents and structure, File systems: partitioning, mount/un-mount, virtual file systems, Implementation techniques.
5   3 3
Total 30 4 11 11
Assessment Percentage Marks
Continuous Assessment 30  
         Tutorials   10
         Practical work   20
         Assignments   0
Written Examinations 70  
         Mid-semester   20
         End-semester   50