csc264

Operating Systems

Exam Preparation: 40 hours
Deep Understanding: 95 hours
Subject Code CSC 264
Credit Hours 3 Hours
Nature Theory + Lab
Full Marks 60 + 20 + 20
Pass Marks 24 + 8 + 8
Description

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.

Objective

Describe the need and role of operating systems,Understand OS components such as scheduler, memory manager, file system handlers, and I/O device managers,Analyze and evaluate techniques used in OS components,Demonstrate and simulate algorithms used in OS components,Identify algorithms and techniques used in different components of Linux

Course Contents

Operating System Overview

4 Hours

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 Management

10 Hours

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

Process Deadlocks

6 Hours

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

Memory Management

8 Hours

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 Management

6 Hours

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

Device Management

6 Hours

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

Linux Case Study

5 Hours

History, Kernel Modules, Process Management, Scheduling, Inter-process Communication, Memory Management, File System Management Approaches, Device Management Approaches

Laboratory Works

Learn basic Linux commands,Create processes and threads, implement IPC techniques,Simulate process scheduling algorithms and deadlock detection,Simulate page replacement algorithms,Simulate free space management techniques and disk scheduling algorithms

Books

Textbooks

Modern Operating Systems, Andrew S. Tanenbaum, 3rd Edition, PHI, 2008

Reference Books

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