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 | |||||