[ Home | Class Roster | Syllabus | Status | Glossary | Search | Course Notes]
OS components 230,000 LOC (device drivers, file systems, network protocols)
Glue components together to get new OS
Mainly for OS and program language research
kernel support is architecture dependent
interrupts, memory management hardware, bootstraps
memory management (hardware limitations - DMA alignment)
Minimal C library
source level debugging over serial line - also check memory mismanagement
encapsulate device drivers
separable using "glue" to provide a level of indirection and default parameters
function libraries - minimizing dependencies
component libraries
COM interface (multiple interfaces)
no required support code
reentrancy, synchronization, interruptability and other execution models
recipes (pre-emptive, multiprocessor, interrupt driven models)
open implementation - to allow control over implementation decisions (COM interface extension)
Com interfaces to legacy code + changes low level memory management of legacy
"oskit" namespace (by prepending this to names)
COM glue allows no copy buffer sharing between linux and BSD codes
locking in glue code protects incompatible blocking models
glues code "manufactures" PCBs on demand to satisfy legacy code
sleep/wakeup implemented on top of simple primitives
assumes dense address space usage
Chesapeake's Test TCP benchmark
bandwidth, copying needed for packet
latency 1byte roundtrip
Fluke OS: microkernel research
Standard ML: functional language research (one semester)
continuations for modeling concurrency (need control of context switching)
SR: language for parallel systems
JAVA on the hardware (14 hours to three weeks)
DOS extender
Good bootstrap support
no imposed process/thread model (ML not stack based)
direct hardware access more suitable than bad OS abstraction
eliminate file system for network computers
412KB code with ethernet driver, networking, threads and glue code
supports multiple execution models using abstraction
debugging essential
memory management frequent and expensive due to generality