SWE3030: Operating System Project (Fall 2017)

[General information]

When: 09:00 - 10:15 (Monday), 10:30 - 11:45 (Wednesday)
Where: Rm #26312, 2nd Engineering Building 3rd Floor
Instructor: Joonwon Lee

Computer Systems Laboratory

Course
Description:
This is a project-oriented course in operating systems with a focus on the design and construction of a modern OS kernel. We will review in depth, fundamental operating system concepts such as booting, system calls, process and thread abstractions, scheduling, synchronization, interprocess communication, virtual memory system, file systems, and device drivers. Our aim is to move beyond a simple conceptual familiarity with OS components to a deeper understanding of how such components are realized in production-quality operating systems. Students will work in teams to perform various projects which will enhance the functionality of the existing operating system component.
Textbook:
  • Robert Love, Linux Kernel Development, 3rd edition, Addision-Wesley.
  • Wolfgang Mauerer, Professional Linux Kernel Architecture, Wrox.
  • Daniel P. Bovet and Marco Cesati, Understanding the Linux Kernel, 3rd edition, O'reilly.
Grading:
  • Personal projects: 30%
  • Team projects: 70%
Notice
Teaching Assistants:
Lectures
  1. Introduction to Linux Kernel (pdf)
  2. Task, scheduler, system call and interrupt
  3. Memory management and virtual memory
  4. File systems
  5. Block I/O layer
Homework
  1. Proj0. - slide
Links:
Office Hour:
  • TBD