CS 736 – Spring 2006
Lecture 10: Complexity Summary (2)
- Layering
- THE - services
- Pilot manager/kernel
- Layers of indirection
- THE – virtual memory
- Programming semantics – capabilities
- Hydra – capabilities
- Programming semantics / hydra: directories and c-lists for lists of capabilities
- Unix mountable file system: mount table indirects on files
- SPIN event dispatchers
- RPC naming / binding mechanism
- Hierarchy
- Nucleus – processes
- Semantics – inferior spheres of protection
- Opal – resource groups
- Programming Semantics – file system structure
- Message passing
- Nucleus – all communication
- Mach
- Kernel / nucleus
- Nucleus
- Hydra
- Semantics
- Mach
- Naming for users
- Programming Semantics
- RPC
- Pilot naming handled outside kernel
- Fine grained protection: allows trusted code to be separated into pieces rather than all in kernel
- Programming semantics – capabilities
- Hydra – capabilities
- Spin – name spaces
- Opal – protection domains
-
- Capabilities
- Programming semantics
- Hydra
- Spin
- Opal
- Mach port rights
- Single address space
- Programming semantics
- Pilot
- Opal
- Spin
- Protected subsystems
- Programming semantics: entry capabilities
- Hydra: templates
- Opal: portals, protection domains
- Mach: message servers
- Policy/mechanism separation
- Nucleus: scheduling, resource allocation by parent
- Programming semantics: exceptions handled by parent
- Hydra: PM for scheduling, memory mgmt
- SPIN: event handlers for threads, memory
- Unix: fork/exec allows policy by code before exec
- Byte-oriented text communication
- Unix pipes / stdin / stdout
- Unix i/o routines – read/write for everything
- Pliot streams
- Binary operating programs to allow chaining
- Unix pipes
- Pilot stream filters
-
- Scripting
- Unix shell
- Expose hardware events & names
- Exo kernel
- Type safe languages
- Pilot
- Spin
- Kernel / manager organization
- Pilot
- Mach: external pager
- Caching: COMPARE TO special case code
- Mach: machine-independent memory
- Mach: external pagers
- Pilot: kernels for memory management
- Hints: COMPARE TO special case code
- Pilot hints on process swap out
- Segments
- OPAL
- Programming semantics
- Hydra
- Optimize for common case but handle others correctly
- RPC message size/frequency
- Reduce state in system
- Exo kernel: keep in library OS
- Mach: keep in external pager; outside PMAP
- RPC: limit server state
-