Pilot: An Operating System for a Personal Computer

Q: How do the requirements of the Pilot operating system differ from the systems we have read about so far, and how does the design of Pilot reflect those differences?

Why?

  • Single user
  • Defensive protection
  • Resources - not on fairness
  • Network

Feature of Mesa language

  • Object oriented (Pointer not exist)
  • Single address space (No H/W protection)
  • Strong type check

Hints

  • Memory mapped file, pages used, can be moved
  • OS trust the app hints
  • No incentive for lying

Virtual memory

Virtual memory -> Space

Space.Create

  • Space is servering as the unit of allocation.
  • Space can be created as nest.

Space.Map

  • Virtual memory is the only access path to the contents of files, and files are the only backing store for virtual memory.

Swapping

  • The swapping between primary memory and backing store is performed in the units of spaces.
  • The swapping stategy followed is to swap in the lowest (i.e., smallest) space containing the page.
  • Space.Activate as a hint to be swapped in asap. Space.Deactivate is the inverse operation.

Advantage of all files memory mapped

  • Decouple read / write and paging
  • Reuse virtual memory functionality
  • Stream I/O on top

Kernel / Manager

Kernel -> Mechanism

Manager -> Policy

Kernel: Memory page out, page in.

Manager: Decides which page to page out.