CSE 291 (E00): Advanced Studies in Classical Operating Systems (Winter 2021)
Date and Time:
Mondays and Wednesdays, 3:30-4:50, via Zoom
Prof. Joseph Pasquale
Current operating systems research is sometimes characterized as
"polishing a round ball," meaning that as most of the great ideas in
operating systems were developed a long time ago, all we are doing today
is refining them. This is somewhat unfair, but there is a grain of truth,
and looking back at the development of those great ideas is a worthy and
illuminating pursuit. Toward this end, we will study some of the most
influential operating systems, where most of the modern-day abstractions,
mechanisms, and policies were first developed. These systems are especially
interesting because of their focus on justifying the design and implementation
decisions they made -- Why a particular overall structuring of the kernel?
Why a certain notion of process, or synchronization mechanism, or scheduling
policy? How do these decisions interact? -- which are mostly either lost
or taken for granted today. It is instructive to see what predictions they
made, whether they came true or not, and how their thinking process might
inform us as to how we might go about making such predictions today, based
on changing user interests, application demands, and technological trends.
Some of the systems we will look at include the early "classical" ones:
MIT's Multics, Dijkstra's THE, Hansen's RC 4000, Bell Labs' UNIX,
etc. We will also read some "reflection" papers, i.e., retrospective
studies on lessons learned regarding overall operating system design.
The pace will be informal and relaxed, about one paper per week, so that
we have the time to really understand and get into the details. Grading
will be based mostly on class participation and a short final paper or exam.
As will be discussed in our first meeting, class attendance is very important,
and your participation will form the primary contribution to your grade.
Discussion board: Piazza (CSE 291E students: please refer to Piazza for all course-related questions not addressed on this page)