O PERATING systems manage a computer's resources, maintain its permanent data, and provide an efficient environment for the execution of user programs. Users expect an operating system to provide a certain level of resilience to failure and facilities for recovering from failure with minimal interruption of computations and minimal loss of data.In conventional operating systems, these tasks are centered around the file system as the repository of permanent data and virtual memory as the execution environment. Persistent systems offer an alternative view in which the lifetime of data is separated from the access mechanism. In a persistent system, all data, regardless of its lifetime, is created and manipulated in a uniform manner.When persistence is included as the basic abstraction of an operating system, many of the inadequacies of existing operating systems are eliminated and the tasks of an application J o h n R o s e n b e r g , A l a n D e a r l e , D a v i d H u l s e , A n d e r s L i n d s t r ö m , a n d S t e p h e n N o r r i s OPERATING SYSTEM SUPPORT FOR PERSISTANTand RECOVERABLE COMPUTATIONS Guaranteeing data recovery and consistency, the authors' experimental Grasshopper persistent operating system simplifies application development and encourages construction of integrated systems.