Combining Oberon with active objects
Multitasking is a topic on which many discussions have been held. There are different opinions about its need. Our own operating system, Oberon, was originally designed as a single user and single process system. While developing server systems and simulation kits we came to the conclusion that we need some notion of slim and easy to use process. We then decided to start a new project comprising the design of a new kernel and a new compiler for the support of concurrent execution of several processes on different priority levels with an appropriate protection mechanism preventing processes from inadmissible access to each other. The idea of active objects, simultaneously representing processes and containing both their action and their data, was the base for the ‘Active-Oberon’ project. Active objects are independent processes scheduled by the system. The management of the memory including stack allocation devolves on the new kernel. This takes much responsibility away from the programmer and makes the system safer.
The goal of this paper is to present the implementation of the ‘Active-Oberon’ project whose concepts are described in detail in [Gut96b].
KeywordsObject Oriented Programming Active Objects Concurrency Multiprogramming Operating Systems Oberon
Unable to display preview. Download preview PDF.
- [Bac93]Jean Bacon; Concurrent Systems; An Integrated Approach to Operating Systems, Database, and Distributed Systems; Addison Wesley; 1993Google Scholar
- [Cre91]Régis Crelier; OP2: A Portable Oberon-2 Compiler; Proceedings of the 2nd International Modula—2 Conference, Loughborough, England, 58–67; 1991Google Scholar
- [Die94]Reinhard A. Dietrich; Dynamic Stacks for Lightweight Processses; Diplomarbeit ETHZ; 1994Google Scholar
- [Gut96a]Jürg Gutknecht; Oberon, Gadgets and Some Archetypal Aspects of Persistent Objects, Information Sciences: An International Journal, 1996Google Scholar
- [Gut96b]Jürg Gutknecht; Do the fish really need remote control? Proceedings of the JMLC, Linz, Austria; 1997Google Scholar
- [Gut]Jürg Gutknecht; Vorlesung: Simulation diskreter Systeme; ETH ZürichGoogle Scholar
- [Hoa75]C.A. R. Hoare; Monitors: An Operating System Structuring Concept; Communication of the ACM 18(2), 1975Google Scholar
- [Int91]Intel Corporation; 386 DX Microprocesssor Programmer's Reference Manual; 1991Google Scholar
- [Mul96]Refer to ftp://firstname.lastname@example.org/pub/Oberon/System3/NativeGoogle Scholar
- [Rei91]M. Reiser; The Oberon System: User Guide and Programmer's Manual; Addison-Wesley, 1991Google Scholar
- [WG92]NiklausWirth, Jürg Gutknecht; The Design of an Operating System and Compiler; ACM Press; 1992Google Scholar
- [Wir88]Niklaus Wirth; The Programming Language Oberon; Software — Practice and Experience 18(7): 671–690, July 1988Google Scholar