CSE231 OVERVIEW
Operating Systems is a core course offered to second-year undergraduate students at IIIT Delhi. An operating system (OS) serves as the fundamental interface between a computer’s hardware and its users. It is responsible for managing resources, coordinating activities, and enabling efficient sharing of the system's components. The OS provides a range of essential services to both users and application programs. These services are accessed via system calls or application programming interfaces (APIs), which allow applications to request services, pass parameters, and receive responses from the OS.
The course is structured into two complementary components: theory and programming. The theory component delves into the foundational concepts, design principles, and internal workings of modern operating systems. The programming component emphasizes hands-on experience, guiding students through the implementation of core OS functionalities to reinforce and apply the theoretical knowledge.
LECTURE TOPICS
- Introduction to the course [PDF]
- Source code to machine code [PDF]
- Linking and loading of an ELF file [PDF]
- Procedure calling convention [PDF]
- The process abstraction [PDF]
- Process creation [PDF]
- Process creation and termination [PDF]
- Inter-process communication in shared memory [PDF]
- Semaphores [PDF]
- Inter-process communication in distributed memory [PDF]
- Introduction to process scheduling [PDF]
- Process scheduling policies [PDF]
- Dynamic memory allocation [PDF]
- Mid-semester review [PDF]
- Virtual memory [PDF]
- Segmentation [PDF]
- Introduction to Paging [PDF]
- Translation Lookaside Buffer (TLB) [PDF]
- Multi-Level page table [PDF]
- Demand paging [PDF]
- Introduction to multithreading [PDF]
- Race condition in multithreading [PDF]
- Deadlock avoidance [PDF]
- Introduction to file systems [PDF]
- File system implementation [PDF]
- End semester review [PDF]
ASSESSMENT PLAN
- Pair programming assignments(35%)
Assignments are typically released biweekly and span the entire duration of the semester.
- Quizzes (10%)
Quizzes are conducted approximately after every four lectures. Each quiz lasts for 20 minutes and is held during lecture hours, typically toward the end of the session. The quizzes consist of multiple-choice questions, fill-in-the-blank items, and reasoning-based questions.
- Midterm exam (20%)
- Endterm exam (35%)
HELPFUL RESOURCES
PAST OFFERINGS
INSTRUCTOR