To learn the various aspects of operating systems such as process management, Memory management and I/O management.
UNIT I PROCESSES AND THREADS 9
Introduction to operating systems – review of computer organization – operating system structures – system calls – system programs – system structure – virtual machines.
Processes: Process concept – Process scheduling – Operations on processes – Cooperating processes – Interprocess communication – Communication in client-server systems. Case study: IPC in Linux.
Threads: Multi-threading models – Threading issues.
Case Study: Pthreads library
UNIT II PROCESS SCHEDULING AND SYNCHRONIZATION 10
CPU Scheduling: Scheduling criteria – Scheduling algorithms – Multiple-processor scheduling – Real time scheduling – Algorithm Evaluation. Case study: Process scheduling in Linux.
Process Synchronization: The critical-section problem – Synchronization hardware – Semaphores – Classic problems of synchronization – critical regions – Monitors. Deadlock: System model – Deadlock characterization – Methods for handling deadlocks – Deadlock prevention – Deadlock avoidance – Deadlock detection – Recovery from deadlock.
UNIT III STORAGE MANAGEMENT 9
Memory Management: Background – Swapping – Contiguous memory allocation – Paging – Segmentation – Segmentation with paging.
Virtual Memory: Background – Demand paging – Process creation – Page replacement – Allocation of frames – Thrashing.
Case Study: Memory management in Linux
UNIT IV FILE SYSTEMS 9
File-System Interface: File concept – Access methods – Directory structure – File system mounting – Protection.
File-System Implementation: Directory implementation – Allocation methods – Free-space management – efficiency and performance – recovery – log-structured file systems. Case studies: File system in Linux – file system in Windows XP.
UNIT V I/O SYSTEMS 8
I/O Systems – I/O Hardware – Application I/O interface – kernel I/O subsystem – streams – performance.
Mass-Storage Structure: Disk scheduling – Disk management – Swap-space management – RAID – disk attachment – stable storage – tertiary storage.
Case study: I/O in Linux
TOTAL: 45 PERIODS
1. Silberschatz, Galvin, and Gagne, “Operating System Concepts”, Sixth Edition, Wiley India Pvt Ltd, 2003.
1. Andrew S. Tanenbaum, “Modern Operating Systems”, Second Edition, Pearson Education, 2004.
2. Gary Nutt, “Operating Systems”, Third Edition, Pearson Education, 2004. 3. Harvey M. Deital, “Operating Systems”, Third Edition, Pearson Education, 2004.
CS 2257 OPERATING SYSTEMS LAB L T P C (Common to CSE & IT) 0 0 3 2
(Implement the following on LINUX or other Unix like platform. Use C for high level language implementation)
1. Write programs using the following system calls of UNIX operating system: fork, exec, getpid, exit, wait, close, stat, opendir, readdir
2. Write programs using the I/O system calls of UNIX operating system (open, read, write, etc) 3. Write C programs to simulate UNIX commands like ls, grep, etc. 4. Given the list of processes, their CPU burst times and arrival times, display/print the Gantt chart for FCFS and SJF. For each of the scheduling policies, compute and print the average waiting time and average turnaround time. (2 sessions)
5. Given the list of processes, their CPU burst times and arrival times, display/print the Gantt chart for Priority and Round robin. For each of the scheduling policies, compute and print the average waiting time and average...