Tenex

Takeaways

 * Early system with virtual memory
 * Example of inter-process communication with shared memory
 * copy on write memory
 * Protection similar to Unix (user/group/everybody - read/write/list/append/execute), versioning
 * Debugger for core memory, kernel, user programs
 * Backwards compatibility

Overview

 * Time sharing system for PDP10
 * Full-featured virtual memory system
 * Processes communicate through shared memory with private copy-on-write
 * JSYS system call added for all system calls. Does not conflict with old system calls, allowing for binary compatibility
 * Adaptive Priority scheduler
 * Parent process has control over subprocesses, allows for debugging
 * Has a terminal!
 * Debugging - three forms of DDT

File System

 * Has built-in file versioning
 * File access can be restricted by user or group
 * Files can be accessed "thawed" (no consistency protection) or "unthawed" (unlimited readers OR only one writer at a time, consistent!)