Operating Systems
Processes, threads, memory, filesystems and concurrency — how an OS shares a computer between programs.
§ 1Calendar
- Quiz 1—
- Quiz 2—
- End-term examination—
§ 2Previous Year Questions
No papers uploaded yet.
§ 3Resources
-
Drive folder
drive.google.comIITM login required
-
Course YouTube channel
youtube.com
Syllabus
The official course syllabus, transcribed from the IITM BS Data Science & Applications course booklet.
§ 1Course Description
Operating systems interface between hardware and applications, enabling efficient resource management without direct hardware handling. This introductory course, intended for students with prior knowledge of computer organization, explores these concepts using the xv6 operating system, similar to Linux.
Pre-requisite: BSCS3031 : Computer Systems Design
Lectures-Tutorials-Practicals-Credits: 4-0-0-4
§ 2Faculty
- Prof. Chester Rebeiro, Department of Computer Science and Engineering, IIT Madras
§ 3Week-by-week
Week 1: Introduction to operating systems; OS concepts and structure; System organization fundamentals.
Week 2: System booting and xv6 on QEMU; Virtual memory and demand paging; Page translation and page tables.
Week 3: Memory management in xv6; Process abstraction; Process control blocks; System calls and trap handling.
Week 4: Process management (fork, exec, exit, wait); Process trees; Kernel-to-user transitions in xv6.
Week 5: Executable formats (ELF); Exec system call; Program loading and execution in xv6.
Week 6: Interrupts and exceptions; Hardware and timer interrupts; Context switching.
Week 7: Scheduling
Week 8: Synchronization
Week 9: Deadlocks and Threads
Week 10: Storage and file systems; Disk access and scheduling; File system organization and implementation.
Week 11: File system internals (xv6); System crashes and recovery; OS security and access control mechanisms.
Week 12: System vulnerabilities and attacks; Micro-architectural attacks; Countermeasures; Trusted execution and secure storage.