Hydra

Takeaways

 * The seperation of mechanism from policies

Overview

 * a subset of the goals
 * support multiprocessor env
 * separate mechanism and policy
 * reject strict hierarchical layering
 * protection
 * reliability
 * Hydra is a "kernel" or "nucleus", meant to provide mechanisms of universal applicability and absolute reliability for a whole operating system to be built on top of.

Protection

 * Hydra is known for it's protection system
 * Provides a general protection mechanism that applies to the whole system, not just files
 * Breaks the user/kernel paradigm


 * Details**


 * three basic object types: LNS, procedure, process
 * procedure is a function that can be called
 * a LNS is the record of the execution env of a procedure, and is created when a procedure is called
 * a process is a stack of LNSs that represents the cumulative state of a single sequential task
 * objects have capabilities, which are pointers with associated rights
 * in unix, a file descriptor is an example of a capability
 * WHAT IS "WALK" USED FOR?
 * if the walk bit is set on a capability then you can inherit capabilities from the referenced object.
 * this is an example of rights amplification
 * Procedures
 * come with caller independent capabilities
 * define templates that define the type of capabilities that need to be passed in, aka an interface that must be implemented by the arguments
 * when called an LNS is create that is associated with an instance of the called procedure and includes a list of all caller dependent and independent rights (maybe not the independent ones).