CS31202/CS39002 Operating Systems: Theory and Laboratory | Spring 2025 |
Schedule
Timing: Slot E4 [Wed (12:00pm–01:00pm), Thu (11:00am–12:00pm) Fri (09:00am–11:00am)] Theory
Section 1 Students with odd roll numbers
Instructor: Abhijit Das
Classroom: NC243Section 2 Students with even roll numbers
Instructor: Bivas Mitra
Classroom: NC244Lab: Software Labs, Old Building, Slot X [Wed (02:00pm–05:00pm)]
Teaching Assistants Aman Sharma
Anju Bhuiya
Aritra Mitra
Arpan Dam
Divyansh Vijayvergia
Harsh Borse
Rohit Ranjan
Salma Mandi
Tarannum AraTentative Coverage (Theory)
Topic # hours More info Introduction to OS 2 Concept of process, states and state transition 3 Scheduling algorithms, context switching 3 Process synchronization and inter-process communication 5 Deadlock: necessary conditions, avoidance and prevention 3 Threads, popular thread libraries, thread synchronization 2 Memory management: Contiguous and non-contiguous allocation, Physical and logical addresses 3 Memory management: Paging, different Page-table architectures, Virtual Memory 6 File systems: file operations, organization, mounting, sharing 2 File system implementation 4 Disk and I/O management 3 Virtualization: motivation and techniques 2 Case studies of operating systems 2 Books and References
- Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne, Operating System Concepts, 10th edition (Global edition), Wiley, 2018 (2023).
- Andrew S. Tanenbaum and Herbert Bos, Modern Operating Systems, 5th edition, Pearson, 2023.
- William Stallings, Operating Systems: Internals and Design Principles, 9th edition (Global edition), Pearson, 2018.
- Brian "Beej Jorgensen" Hall, Beej’s Guide to Interprocess Communication, online tutorial.
Tests
- Class Test 1 and Lab Test 1: 07-Feb-2025 (Friday), 6:15pm – 8:30pm
- Class Test 2 and Lab Test 2: 11-Apr-2025 (Friday), 6:15pm – 8:30pm
- Mid-Semester Test: 24-Feb-2025, 02:00pm – 04:00pm
- End-Semester Test: 25-Apr-2025, 02:00pm – 05:00pm
Lab Assignments and Tests
# Topic Date and type More info LA1 [gendep.c] Multi-process applications 08-Jan-2025 Sample codes: [fork and wait] 1, 2, 3, 4 | [exec] 1, 2
SolutionLA2 IPC using signals 15-Jan-2025 Sample code: [signal]
SolutionLA3 [genproc.c] Performance measurement of scheduling algorithms 22-Jan-2025 No prerequisites
SolutionLA4 [boardgen.c] IPC using pipes (and dup) 29-Jan-2025 Sample code: [pipe] [dup]
SolutionLA5 IPC using shared memory 05-Feb-2025 Sample code: [shm]
SolutionLA6 [gencustomers.c | Sample] IPC using shared memory and semaphores 05-Mar-2025 Sample code: [sem]
SolutionLA7 Multi-threaded applications using pthread 12-Mar-2025 Sample code | Tutorial
SolutionLA8 [geninput.c | Sample] Deadlock in multi-threaded applications 19-Mar-2025 Solution LA9 [gensearch.c | sample] Demand paging without page replacement 26-Mar-2025 Solution LA10 [gensearch.c | sample] Demand paging with page replacement 02-Apr-2025 Solution LA11 File System Interface 09-Apr-2025 Reference Manual, Section 14 [PDF] Submission Site