CSE 221 - Operating Systems - Notes on "The structure of 'THE'-Multiprogramming System"

Question to answer:

Dijkstra explicitly states their goals for the THE operating system. How do these goals compare to, say, Microsoft’s goals for the Windows operating system? Why do we no longer build operating systems with the same goals as THE?

Answer

Goals of dijkstra (see notes below)

Goals of MSFT

While the goals of the two systems are seemingly very different, Micrsoft’s windows builds atop a similar kind of system to THE. We’ve moved passed the multiprogramming system (single CPU, shared among many processes), to a “multi-multi” programming environment (many CPU cores for many processes). The work of modern operating systems don’t have the same goals because (1) the underlying hardware is vastly improved and (2) we use systems differently today than we had before, sometimes in ways that actually build upon the abstractions in THE (background processes to make better UX).

Notes

Hardware

The goal of the system is to smoothly process a continuous flow of user programs

Goals

Progress report

He argues that debugging a system like that is complex and its hard to distinguish bugs from hardware issues - so they were very careful during implementation by first designing and proving feasibility of it before building in order to admit exhaustive testing.

System Structure

Storage Allocation

Processor Allocation

System hierarchy

Design Experience

Appendix: Synchronization Primitives

CSE 221 - Operating Systems - Notes on "The structure of 'THE'-Multiprogramming System" - zac blanco