CS4022 · BS elective · 4 credits

Operating Systems

Processes, threads, memory, filesystems and concurrency — how an OS shares a computer between programs.

Instructor Prof. Chester Rebeiro Term As offered Prereq CS3031

§ 1Calendar

  • Quiz 1—
  • Quiz 2—
  • End-term examination—

§ 2Previous Year Questions

No papers uploaded yet.

§ 3Resources

CS4022 · BS elective · 4 credits

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

§ 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.