Overview of Operating Systems: Types of Operating Systems, System calls and OS structure. (4 Lectures)
Processes Management: Process, Threads, CPU scheduling. (6 Lectures)
Process Coordination: Mutual exclusion, Mutex implementation, Semaphores, Monitors and condition variables, Deadlocks. (10 Lectures)
Memory Management: Swapping, Paging, Segmentation, Virtual memory, Demand paging, Page Replacement algorithms. (8 Lectures)
Storage Management: I/O devices and drivers, Disks and file Systems, File layout and directories, File system performance, File system reliability. (8 Lectures)
Protection and Security: System protection, System security. (6 Lectures)
Designing a shell in Linux
Multithreaded programming using pthread
Solving the Sleeping-Barber problem
Modification of scheduling algorithm in Linux
Solving the Producer-Consumer problem over a network
Finding text, data, and stack segments of a process in Linux
Implementation of page replacement algorithms
Changing file attributes in Linux
Implementing an encrypted file system in Linux
Implementing symbolic links in Linux
10-10:50 am, Mon-Wed-Thurs, LHB 105
5:30-7:30pm, Wed, CC Ground Floor Lab
Check the Google Classroom regularly for announcements and posting of various resources.
Text Book
A. SILBERSCHATZ, P.B. GALVIN, G. GAGNE (2018), Operating System Concepts, John Wiley & Sons Inc., 10th Edition.
Reference Book
A.S. TANENBAUM, A.S. WOODHULL (2006),Operating Systems Design and Implementation, Pearson, 3rd Edition.
W. STALLINGS (2017), Operating Systems Internals and Design Principles, Pearson, 9th Edition.
Lab Tutor: Dr. Suman Kundu, Department of CSE, IIT Jodhpur
Teaching Assistants:
Mr. Garvit Chugh
Ms. Ananya Mondal
Mr. Jayesh Budhwani
Ms. Bhawana Bhoria