Subject Code
CSC264
Credit Hours
3 hrs
Nature
Theory + Lab
Marks
Full: 60 + 20 + 20Pass: 24 + 8 + 8
This course includes the basic concepts of operating system components, including process management, deadlocks and synchronization, memory management techniques, file system implementation, I/O device management, and a case study on Linux OS.
Describe the need and role of operating systemsUnderstand OS components such as scheduler, memory manager, file system handlers, and I/O device managersAnalyze and evaluate techniques used in OS componentsDemonstrate and simulate algorithms used in OS componentsIdentify algorithms and techniques used in different components of Linux
Definition, Two views of operating system, Evolution, Types of OS
System Call, Handling System Calls, System Programs
Operating System Structures, The Shell, Open Source Operating Systems
Process vs Program, Multiprogramming, Process Model, Process States, Process Control Block
Threads, Thread vs Process, User and Kernel Space Threads
Inter Process Communication, Race Condition, Critical Section
Implementing Mutual Exclusion: Busy Waiting, Sleep and Wakeup, Semaphore, Monitors, Message Passing
Classical IPC problems: Producer-Consumer, Sleeping Barber, Dining Philosopher
Process Scheduling: Goals, Batch System Scheduling (FCFS, SJF, SRTN), Interactive System Scheduling (Round-Robin, Priority, Multiple Queues), Real-Time System Scheduling Overview
Introduction, Deadlock Characterization, Preemptable and Non-preemptable Resources, Resource-Allocation Graph, Conditions for Deadlock
Handling Deadlocks: Ostrich Algorithm, Deadlock Prevention, Deadlock Avoidance, Deadlock Detection, Recovery from Deadlock
Monoprogramming vs Multiprogramming, Multiprogramming Modelling, Fixed and Variable Partitions, Relocation and Protection
Memory management: Bitmaps & Linked-list, Memory Allocation Strategies
Virtual memory: Paging, Page Table, Handling Page Faults, TLBs
Page Replacement Algorithms: FIFO, Second Chance, LRU, Optimal, LFU, Clock, WS-Clock, Concept of Locality of Reference, Belady’s Anomaly
Segmentation and Segmentation with Paging (MULTICS)
File Overview: Naming, Structure, Types, Access, Attributes, Operations, Single Level, Two Level, Hierarchical Directory Systems, File System Layout
Implementing Files: Contiguous Allocation, Linked List Allocation, Inodes
Directory Operations, Path Names, Directory Implementation, Shared Files
Free Space Management: Bitmaps, Linked List
Classification of I/O devices, Controllers, Memory Mapped I/O, DMA Operation, Interrupts
Goals of I/O Software, Handling I/O (Programmed, Interrupt-Driven, DMA), I/O Software Layers (Interrupt Handlers, Device Drivers)
Disk Structure, Disk Scheduling (FCFS, SSTF, SCAN, CSCAN, LOOK, CLOOK), Disk Formatting (Cylinder Skew, Interleaving, Error Handling), RAID
History, Kernel Modules
Process Management, Scheduling, Inter-process Communication
Memory Management, File System Management Approaches
Device Management Approaches
Learn basic Linux commandsCreate processes and threads, implement IPC techniquesSimulate process scheduling algorithms and deadlock detectionSimulate page replacement algorithmsSimulate free space management techniques and disk scheduling algorithms
Modern Operating Systems, Andrew S. Tanenbaum, 3rd Edition, PHI, 2008
Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, Operating System Concepts, 7th Edition, John Wiley & Sons, 2005
Harvey M. Deitel, Paul J. Deitel, David R. Choffnes, Operating Systems, 3rd Edition, Prentice Hall, 2003