Persistence in the Grasshopper Kernel

A Lindström, Alan Dearle, R di Bona, S Norris, J Rosenberg, F Vaughan

Research output: Chapter in Book/Report/Conference proceedingConference contribution


The Grasshopper operating system provides explicit support for orthogonal persistence. A consequence of this is that the kernel itself must, in part, be persistent. To conform to the model of persistence in Grasshopper, the kernel persistent store must provide a means to stabilise entities independently of each other and must also be able to maintain an arbitrary number of versions for each entity. The design of the kernel persistent store is constrained by the need to be very efficient and to intrude as little as possible on the code using the store. Entities in the store reside at fixed, unique virtual addresses by which they are identified. This allows standard demand paging techniques are used making the store efficient and unobtrusive. Rather than provide for the independent stabilisation of individual data structures, the store provides regions, which are variable-size sets of possibly noncontiguous virtual pages, that may be stabilised independent of each other and that may have many versions. These regions, called persistent arenas, are used by higher-level software as pools for the allocation of smaller data structures that must logically be stabilised together.
Original languageEnglish
Title of host publicationProceedings of the 18th Australasian Computer Science Conference
Place of PublicationAdelaide, Australia
Publication statusPublished - 1995


Dive into the research topics of 'Persistence in the Grasshopper Kernel'. Together they form a unique fingerprint.

Cite this