From: ahemavathy (ahemavathy_at_hotmail.com)
Date: Mon Jan 12 2004 - 13:38:14 PST
The authors of this paper do not believe in strict hierarchical layering proposed by Dijkstra. The paper describes the core kernel functionalities of their OS Hydra. They believe that the set provides primitives which are both necessary and adequate for the construction of a large and interesting class of the operating environments. The key aspects of these facilities are the generalized notion of resource, the definition of an execution domain and the protection mechanism which allows or prevents access to resources within a domain.
They define the 3 object types : procedures, LNS (local name space) and process. Procedures are just like the C++ objects with data and function members. The Hydra procedures include protection facilities called capabilities which define which other objects,this object can reference and what actions (access rights )it may perform on those objects. Capabilities can be manipulated only by the kernel. The procedures may contain Templates which characterize the actual parameters expected by the procedure.
LNS is the unique execution record which is created for each invocation and disappears once the procedure terminates.
Process is the stack of LNS's which represent the cumulative state of a single sequential task.
The authors feel that everything else essential to OS can also be added as an object and by keeping an open structure we give flexibility to programmers of the OS. Lastly they show how the protection can be suited to a user's needs with a bibliography example. The paper underlines object oriented-ness which is followed today. Also call and return functions are encountered for the first time in this paper. The would have a more interesting one if they could have shown how the sets implemented by them, made implementing other OS functionalities easier.
This archive was generated by hypermail 2.1.6 : Mon Jan 12 2004 - 13:38:24 PST