TENEX, a Paged Time Sharing System for the PDP-10

What features in TENEX are reminiscent of features in UNIX (a later system)?

Good Virtualization

  1. Paged virtual address space -> Memory virtualization
  2. Multiple process capability in virtual machine with appropriate communication facilities -> Processor virtualization
  3. File system integrated into virtual address space, built on multilevel symbolic directory structure with protection -> Secondary Storage virtualization

3. The TENEX Virtual Machine

3.1 Virtual Memory Structure

3.2 Job Structure

  • A job is a set of one or more hierarchically related processes.
  • This tree structure provides the protection and reference facilities that are wanted in most applications.

4. UI with TENEX

4.1 Terminal Interaction

  • A command language interpreter called the TENEX Executive.
  • Like the UNIX shell

5. The Tenex File System

It includes 2 parts.

  1. Symbolic name -> internal file descriptor block pointer
  2. Checking information, including file status and the File Access Protection
  3. Symbolic name includes five fields, device name, directory name, file name, extension and version number.
  4. Access Protection
    • User, user group, other users
    • Five kinds of access: directory listing, read, write, execute, append.
    • Bitwise and of the user group word of the accessor and of the directory group word of the accessee.

6. The Monitor

6.1 Scheduler -> Policy

  • Provide equitable distribution of CPU service.
  • Give prompt service to jobs making interactive requests
  • Balanced set scheduling with a priority rating.
  • To prevent starvation, priority is based on a long term average ratio of CPU use to real time, and a process's priority after an interaction is determined by its priority before the interaction and the length of the interaction.
  • Resource gurantees and limitations
    C/T > F

6.2 Core Management

  • Cache?
  • LRU