nt systems support a single storage abstraction in which all data may be created and manipulated in a uniform manner, regardless of its longevity. In such systems a protection mechanism is required to ensure that programs can access precisely those objects they are supposed to access and no others. In a monolingual system this protection can be provided by the type system of the programming language; in systems which support multiple persistent languages a separate protection mechanism must be supported. This paper describes the capability-based protection mechanism employed in Grasshopper, a new operating system specifically designed to support persistent systems on a conventional workstation platform. We show that this mechanism provides sufficient power and flexibility to handle a wide variety of protection scenarios.
Alan Dearle, Rex di Bona, James Farrow, Frans A. H