CS31202/CS39002 Operating Systems: Theory and Laboratory Spring 2024

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: Amrita Bose, Arpan Dam, Biraja Misra, Bokade Tushar Kishor, Debasree Das, Harsh Borse, Salma Mandi, Shubhraneel Pal, Sugandh Pargal


Notices and Announcements

Jan 04, 2024 (3:00am)
We can accept a few non-CSE students in the theory course. Based upon our capacity, we have accepted/declined all the requests available until now. No new requests will be processed further.
Dec 29, 2023
For space limitations, we cannot accept any non-CSE student in the lab.

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


Lab Assignments and Tests

# Topic Date and type More info
A1 Solving problems by multiple processes 10-Jan-2024 (in-lab, individual) Sample codes: [fork and wait] 1 | 2 | 3 | 4, [exec] 1 | 2
Solution
A2 [job.c] IPC using signals 17-Jan-2024 (in-lab, individual) Sample codes: [signal]
Solution: using signal, using sigaction
A3 IPC using pipes (and dup) 24-Jan-2024 (in-lab, individual) Sample codes: [pipe] [dup]
Solution: assignment version, for FooBar Inc.
A4 IPC using shared memory 31-Jan-2024 (in-lab, individual) Sample codes: [shm]
Solution
A5 [LA5.zip] IPC using shared memory and semaphores 07-Feb-2024 (in-lab, individual) Sample codes: [sem]
Solution
A6 [LA6.zip] Multithreaded applications using pthread 06-Mar-2024 (in-lab, individual) Sample codes: [pthread] | Tutorial
Solution
A7 [gentree.c | makefile] Design your own thread library 13-Mar-2024 (in-lab, individual) Tutorial on clone
Solution
Lab Test Written test 20-Mar-2024 (in-lab, individual) Solution
A8 Simulation of pure demand paging 27-Mar-2024 (take-home, group)  
A9 File System Interface 10-Apr-2024 (take-home, group) Reference Manual, Section 14 [PDF]
Submission Site