CS 4448 - Fall 1998
Object-Oriented Programming and Design
Talk 7.4
by
will farrell

THE GRASSHOPPER OPERATING SYSTEM
by
...

Orthogonal Persistence—all data should be able to survive for as long as data is required

      1. utilizes static type-checking wherever possible
      2. utilizes dynamic type-checking when necessary
      3. utilizes polymorphism (obtain different forms)
      4. utilizes inheritance
    1. addressing
    2. stability and resilience
    3. process management
    4. protection
    1. Reduction in code development time, efficiency (better memory utilization & higher level of code re-use)
    2. Fine-grain controls over access of data (highly secure system)
    3. Greater flexibility (particularly where large and complex structures must be maintained.

1. Memory Management—replaced by the persistent store file system

2. Input-Output—presented in most OS’s the same abstraction as a normal file system

3. Persistent system requires that the state of the process persists

4. Persistent Operation Systems consist of data & relationships with other Persistent Operating Systems

5. Objects must be stable & resilient

6. Processes must be integrated with the object space so that the process state is contained within the Persistent Operating System

    1. Must restrict access to objects the same as a regular file system would
    1. Stability—ability of system to be consistently checkpointed on a secure medium so computation may resume from that point in the future.
    2. Resilient—safely resume computation after an unexpected system crash.

BUT NEVER FEAR GRASSHOPPER IS HERE!!

2.1 usually restored by a daemon process

Conventional Operating Systems support processes that only access short-term data in addressable physical or virtual memory.

Orthogonal Persistence is where objects must be addressed uniformly and moved between long and short storage. This will not be seen by the user.

Resilience not limited to Persistent Systems in normal Operating systems you have recovery failures (ex. Fsck)

Resilience requires that the persistent store envolves from on consistent state to another automatically.

In a conventional file system each file is an independent object while in a Persistent system there might be cross references between objects so if one is lost their might be a system failure.

Process Management and Protection

      1. using compilers which strictly enforce protection rules
      2. multiple persistent address spaces (course-grain of protection)
        1. either have total access or non at all
        2. Need to have a global mechanism to allow processes operating in separated addresses spaces to cooperate.

Relies on three abstractions

    1. Container—provides the only abstraction over storage
    2. Loci—agents of change
    3. Capabilities—means of access and protection in the system

Disk I/O System



Copyright © University of Colorado. All rights reserved.
Revised: September 17, 1998