Medusa

multi-user OS

Goals: Modularity Robustness Performance

shared memory & messaging system blocking IPC causes process to spin, not context switch (necessary in IPC heavy env)

control structure is distributed various OS modules (utilities) run across different processors fault tolerant built specifically for Cm* hardware

structure: Kmap router

SDL - shared descriptor list (activities within task force) PDL - private descriptor list (object list for each activity) UDL - utility descriptor list divided into what is globally accessible and what can only be accessed by utilities XDL - external descriptor list - gives a utility shared access to the SDL or PDL of another task force

task forces - collections of activities they are co-scheduled to reduce thrashing each activity has activity control block

processes can migrate between processors if need utility, process must move to processor with utility

seal - a task force could have memory that it can't use directly, and must have a utility use it for it

exception reporting process can have a buddy, that gets program state when its buddy dies