logo of the SSW institute ;)
Computer Science
System Software

Home

General
Staff
Contact
Partners
Alumni

Research
Areas
Projects
Papers
Books
Reports
Awards

Teaching
Lectures
Exams
B.Projects
M.Theses
PhD Theses
Go Abroad

Misc
Talks
Library
Gallery
Links
Search

Webmaster


Adding Persistence to the Oberon-System

Markus Knasmüller
Johannes Kepler Universität Linz
Institute for Practical Computer Science
Altenbergerstraße 69, A-4040 Linz


Abstract

Oberon and Oberon-2 are general purpose programming languages in the tradition of Pascal and Modula-2. Oberon is also a modular, single-threaded operating system for single-user operation of workstations. It is used in daily work as well as in programming courses. One missing point of Oberon is the existence of database functionality such as persistence or recovery. This report describes the project Oberon-D, which adds database functionality to the Oberon system. The first step of this project is to include persistence, i.e., the object's property to outlive the programs that create it. Persistence in the Oberon system is obtained by a persistent heap on the disk. Persistent objects are on this heap, while transient objects are in the transient memory. Transient and persistent objects can access each other mutually. Accessing a persistent object leads to loading the object into the transient heap. If they are not accessed from transient objects any more, they will be written back to the persistent heap. Persistent objects, which are not referenced by other persistent objects, are reclaimed by a garbage collector. We show the use of persistence as well as its implementation.


Technical Report 6, University of Linz, Institute of Computer Science (System Software), January 1996.

You can download the report in compressed postscript.