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: NC243
     Section 2
Students with even roll numbers
Instructor: Bivas Mitra
Classroom: NC244

Lab: 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 Ara

Tentative Coverage (Theory)

Topic# hoursMore info
Introduction to OS2
Concept of process, states and state transition3
Scheduling algorithms, context switching3
Process synchronization and inter-process communication5
Deadlock: necessary conditions, avoidance and prevention3
Threads, popular thread libraries, thread synchronization2
Memory management: Contiguous and non-contiguous allocation, Physical and logical addresses3
Memory management: Paging, different Page-table architectures, Virtual Memory6
File systems: file operations, organization, mounting, sharing2
File system implementation4
Disk and I/O management3
Virtualization: motivation and techniques2
Case studies of operating systems2

Books and References


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
Solution
LA2 IPC using signals 15-Jan-2025 Sample code: [signal]
Solution
LA3 [genproc.c] Performance measurement of scheduling algorithms 22-Jan-2025 No prerequisites
Solution
LA4 [boardgen.c] IPC using pipes (and dup) 29-Jan-2025 Sample code: [pipe] [dup]
Solution
LA5 IPC using shared memory 05-Feb-2025 Sample code: [shm]
Solution
LA6 [gencustomers.c | Sample] IPC using shared memory and semaphores 05-Mar-2025 Sample code: [sem]
Solution
LA7 Multi-threaded applications using pthread 12-Mar-2025 Sample code | Tutorial
Solution
LA8 [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