20587 Workshop: Operating Systems

Credits: 3 advanced seminar credits in Computer Science or in Software Engineering

Prerequisites: 36 credits in Computer Science. Students must also fulfill all English requirements and take bibliographic instruction in the Library.

Required: Operating Systems1

Only students who have successfully completed, or are about to complete, at least one advanced course in Computer Science may enroll in a workshop. Enrollment is subject to the written approval of the faculty member responsible for seminars.

The workshop is based on Linux Kernel Development (3rd ed.), by R. Love (Addison Wesley, 2010).

The workshop deals with the following topics: structure of the Linux kernel, process management and scheduling, system calls, interrupts and delayed interrupts, synchronization in Linux kernel, timers and time measurements, memory management, virtual file systems, the I/O layer, page cache, modules, kernel objects, kernel debugging.

Students are required to develop a project dealing with real programming issues, taken from the Open Source Code and other projects. Students’ projects are implementations of issues dealt with in the workshop.


1or Principles of Operating Systems (20354), which is no longer offered.