Link Search Menu Expand Document

Operating Systems, Fall 2022

Intro Course in Operating Systems

Announcements

Welcome!

This is the webpage for CS 450: Operating Systems at IIT. This course is for junior/senior level undergraduates and graduates in Computer Science. CS 450 is a core requirement for the CS curriculum. Both CS 350 and CS 351 are required prerequisites.

Course Communication

We’ll be using the Diderot platform for course communication. You will receive an invite from me in the first week of class. The course schedule, lecture materials, class discussion, and assignments will all be on Diderot.

This is a list of other resources that you might find useful for this class. Feel free to peruse them at your own convenience.

Interesting, important, historical, and new OS Kernels

  • The Linux Kernel, arguably the most important kernel of our time
  • FreeBSD
  • Nautilus, a research OS written by your instructor for parallel runtime systems
  • Plan 9, an important (but commercially unsuccessful) UNIX successor by Bell Labs
  • Harvey OS, a new successor to Plan 9
  • Drawbridge, research prototype from MSR (components of which are now in the NT kernel).
  • MINIX 3, a historically important microkernel (originally—and still—used for teaching). Intel chips actually run this internally!
  • Several OSes based on the L4 kernel, an important early microkernel
  • Android OS, Google’s mobile OS (based on Linux kernel, but probably soon Fuchsia (below))
  • Fuchsia OS, a new microkernel-based OS from Google
  • Barrelfish OS, an important research OS from ETH Zurich (the OS is a distributed system)
  • Redox, an OS written in Rust (UNIX-like)
  • Kitten Lightweight Kernel, an OS kernel designed for supercomputing
  • Scout, a network-oriented research OS
  • MirageOS, a Unikernel for OCaml applications
  • OSv, a popular new Unikernel
  • Pintos, a teaching OS based on the Nachos research OS.
  • JOS, another teaching OS
  • OS/2, an important mainframe OS from IBM
  • COS, an OS for some of the first supercomputers
  • CP/M, an OS for some of the first microcomputers. Here is the code.
  • code for the OS of Xerox Alto, the first computer with a GUI
  • source code for MS-DOS 1.25 and 2.0
  • source code for the XNU kernel, part of Darwin, which powers macOS
  • source code for ReactOS, a WindowsNT-compatible kernel
  • System software for the Apollo Guidance Computer
  • Code for the Apple II’s DOS
  • Code for the Atari 7800’s OS