HOME

TheInfoList



OR:

The Oberon System is a modular, single-user, single-process, multitasking operating system written in the programming language Oberon. It was originally developed in the late 1980s at
ETH Zurich (colloquially) , former_name = eidgenössische polytechnische Schule , image = ETHZ.JPG , image_size = , established = , type = Public , budget = CHF 1.896 billion (2021) , rector = Günther Dissertori , president = Joël Mesot , ac ...
. The Oberon System has an unconventional visual text user interface (TUI) instead of a conventional
command-line interface A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
(CLI) or graphical user interface (GUI). This TUI was very innovative in its time and influenced the design of the Acme text editor for the Plan 9 from Bell Labs operating system. The latest version of the Oberon System, Project Oberon 2013, is still maintained by Niklaus Wirth and several collaborators, but older ETH versions of the system have been orphaned. The system also evolved into the multi-process,
symmetric multiprocessing Symmetric multiprocessing or shared-memory multiprocessing (SMP) involves a multiprocessor computer hardware and software architecture where two or more identical processors are connected to a single, shared main memory, have full access to all ...
(SMP) capable A2 (formerly ''Active Object System'' (AOS), then ''Bluebottle''), with a zooming user interface (ZUI).


History

The Oberon operating system was originally developed as part of the
NS32032 The NS32000, sometimes known as the 32k, is a series of microprocessors produced by National Semiconductor. The first member of the family came to market in 1982, briefly known as the 16032 before becoming the 32016. It was the first 32-bit general ...
-based Ceres workstation project. It was written almost entirely (and in the 2013 version entirely is valid) in the Oberon programming language.M. Reiser and N. Wirth: Programming in Oberon
Addison-Wesley/ACM Press (1992) . Out of print.
The basic system was designed and implemented by Niklaus Wirth and Jürg Gutknecht and its design and implementation is fully documented in their book "Project Oberon".N. Wirth and J. Gutknecht: Project Oberon - The Design of an Operating System and Compiler
Addison-Wesley/ACM Press (1992) . Out of print
Online version of the second edition (2013)
The user Interface and programmers reference is found in Martin Reiser's book "The Oberon System".Reiser, Martin: "The Oberon System - User Guide and Programmer's Manual" - Out-of-print - Addison-Wesley/ACM Press (1991) The Oberon System was later extended and ported to other hardware platforms by a team at
ETH Zurich (colloquially) , former_name = eidgenössische polytechnische Schule , image = ETHZ.JPG , image_size = , established = , type = Public , budget = CHF 1.896 billion (2021) , rector = Günther Dissertori , president = Joël Mesot , ac ...
and there was recognition in popular magazines. H. Marais, Oberon System 3, Dr. Dobb's Journal, October 1994
pages 42-50
Wirth and Gutknecht (although being active computer science professors) refer to themselves as 'part-time programmers' in the book ''Project Oberon''. In late 2013, a few months before his 80th birthday, Wirth published a second edition of Project Oberon. It details implementing the Oberon System using a
reduced instruction set computer In computer engineering, a reduced instruction set computer (RISC) is a computer designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a complex instruction set comput ...
(RISC) CPU of his own design realized on a Xilinx
field-programmable gate array A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturinghence the term '' field-programmable''. The FPGA configuration is generally specified using a hardware d ...
(FPGA) board. It was presented at the symposium organized for his 80th birthday at
ETH Zurich (colloquially) , former_name = eidgenössische polytechnische Schule , image = ETHZ.JPG , image_size = , established = , type = Public , budget = CHF 1.896 billion (2021) , rector = Günther Dissertori , president = Joël Mesot , ac ...
. In the meantime, several emulators for this version were implemented. According to Josef Templ, a former member of the developer group at Swiss Federal Institute of Technology in Zurich and later member of the ''Institut für Systemsoftware'' of
Johannes Kepler University Linz The Johannes Kepler University Linz (German: ''Johannes Kepler Universität Linz'', short: ''JKU'') is a public institution of higher education in Austria. It is located in Linz, the capital of Upper Austria. It offers bachelor's, master's, d ...
, where one forked version (V4) was maintained, the genealogy of the different versions of the Oberon System is this:


User interface

Oberon has a text user interface (TUI), which is very different from a terminal user interface. It combines the point and click convenience of a graphical user interface (GUI) with the linguistic strength of a
command-line interface A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
(CLI) and is closely tied to the naming conventions of the Oberon language. Text appearing almost anywhere on a screen can be edited and used as command input. Commands are activated by a middle-mouse click on a text fragment of the form Module.Command (optionally followed by parameters, which are terminated by ~). A command is defined by any procedure which is exported and has an empty argument list. Parameters to the command must be defined before executing the middle click, and must be explicitly scanned and retrieved by the procedure. No checks or questions occur during command execution. This is sometimes called a ''non-modal'' user interface (UI). Nothing like a command prompt is needed. Although very different from a command line, the TUI is very efficient and powerful. A steep ascent in the early learning curve makes it a bit difficult at first. No questions are asked: this is a deliberate design decision, which needs getting used to. Most editors ask the user when closing a modified text: this is not the case in the Oberon System. The use of the TUI and programming interface is fully documented in Martin Reiser's book "The Oberon System". A short introduction to the user interface can be found on Niklaus Wirth's home page. The later Versions of System Oberon, ''Oberon V4'' (V4, sometimes also named Linz-Oberon) and ''Oberon System 3'' (or S3, sometimes also named ETH-Oberon or Spirit of Oberon), enhanced the basic interface with different but incompatible implementations for buttons, drop down menus, and other active elements. V4 used for that purpose a dedicated control character embedded in normal text in contrast to System 3, which extended the kernel by introducing persistent objects. Both extensions include a large set of user interface elements. Mastering the Oberon user interface, both the purely textual and the so-called Gadgets System (under S3), is non-trivial. Thus, after successfully installing Oberon System 3, it is recommended to study André Fischer
Oberon System 3 Tutorial
An expanded version of this tutorial was published as a book, which it is out of print now. The whole book is available in electronic form under a one user license in every installed version of System 3 (Windows, Linux, or Native, i.e., also with the Gadgets toolkit of OLR). More information how to get your own copy of the Oberon Companion may be found in the
Getting Started Receiving may refer to: * ''Kabbalah'', "receiving" in Hebrew * Receiving department (or receiving dock), in a distribution center * Receiving house, a theater * Receiving line, in a wedding reception * Receiving mark, postmark * Receiving part ...
section of the Oberon Wikibook. Similar user Interfaces have yet to appear in more commonplace operating systems. Rob Pike's
Acme Acme is Ancient Greek (ακμή; English transliteration: ''akmē'') for "the peak", "zenith" or "prime". It may refer to: Arts and entertainment * ''Acme'' (album), an album by the Jon Spencer Blues Explosion * Acme and Septimius, a fictional ...
system for Plan 9 from Bell Labs was strongly inspired by the Oberon TUI. Whether the worksheet interface of the Macintosh Programmer's Workshop influenced Oberon's TUI or vice versa is difficult to decide: the Oberon System was based on Wirth's prior computer design the Lilith, and both the Apple Macintosh (and its precursor Lisa) and the Oberon System (on Ceres and its precursor Lilith) have the same roots: they were all inspired by the
Alto The musical term alto, meaning "high" in Italian (Latin: ''altus''), historically refers to the contrapuntal part higher than the tenor and its associated vocal range. In 4-part voice leading alto is the second-highest part, sung in choruses by ...
developed at Xerox PARC.


Versions and availability

V1 was the first usable version some time before the Oberon Trilogy was published. A major change in the text model together with the editor named Write yielded V2. As foreshadowed in the table in section History above, there was a major fork in the early 1990s: V4 vs. System 3: The group around Jürg Gutknecht introduced persistent objects and object-libraries thereby extending the kernel. The group around
Hanspeter Mössenböck Hanspeter Mössenböck (born January 20, 1959 in Schwanenstadt, Austria) is an Austrian computer scientist. He is professor of practical computer science and systems software at the Johannes Kepler University Linz and leads the institute of syste ...
realized similar features by introducing active elements mapped to a special character thereby extending fonts without changing the kernel. System 3 was sometimes also named Spirit of Oberon and later renamed ETH Oberon, whereas V4 was sometimes also named Linz Oberon. As of 2017, the Oberon OS is available for several hardware
computing platform A computing platform or digital platform is an environment in which a piece of software is executed. It may be the hardware or the operating system (OS), even a web browser and associated application programming interfaces, or other underlying s ...
s, generally in no cost versions and from several sources, which is quite confusing. The Oberon OS is typically extremely compact. Even with an Oberon compiler, assorted utilities including a web browser, TCP/IP networking, and a GUI, the full package can be compressed to one 3.5"
floppy disk A floppy disk or floppy diskette (casually referred to as a floppy, or a diskette) is an obsolescent type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined w ...
. There are versions which emulated the Oberon OS on another operating system and versions which run on bare hardware. The latter ones are named
Native Oberon The Oberon System is a modular, single-user, single-process, multitasking operating system written in the programming language Oberon. It was originally developed in the late 1980s at ETH Zurich. The Oberon System has an unconventional visual text ...
. There are native versions for the Ceres, Intel IA-32, and ARM platforms. In 2013, Niklaus Wirth adapted the basic system as described in "Project Oberon" to a current
FPGA A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturinghence the term '' field-programmable''. The FPGA configuration is generally specified using a hardware de ...
design. According to the preface of the 2013 edition, the whole system compiles in less than 10 seconds on a Spartan-3 board. This version is sometimes also named V5, despite it being much more similar functionally to the original V1 running on the Ceres than any of the later versions.


Plugin Oberon and ''slim binaries''

A version of the Oberon System 3, which is more integrated in the Microsoft Windows OS than other implementations was named Plugin Oberon. Plugin Oberon had support for OLE, Netscape Plugins, and the binary format named Oberon Module Interchange (OMI) or ''slim binaries'', which allowed portable object code between Intel x86, Motorola
68K The Motorola 68000 series (also known as 680x0, m68000, m68k, or 68k) is a family of 32-bit complex instruction set computer (CISC) microprocessors. During the 1980s and early 1990s, they were popular in personal computers and workstations and w ...
, and
PowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
architectures. Slim binaries were invented by Michael Franz in the early 1990s. They were motivated and opposed to the ''fat binaries'' invented by Apple during the transition from 68k to PowerPC architectures. OMI provided portable code based on a compressed version of the abstract syntax tree. The approach of a compressed abstract syntax tree for portable code representation is revived in the Java world for GraalVM and Truffle.


Oberon V4

The version named Oberon V4 (see also History) is closer to the original operating system developed by Wirth and Gutknecht. It was originally developed at ETHZ, but when H.P. Mössenböck went t
Institut für Systemsoftware at Johannes-Kepler University in Linz (JKU)
the development of V4 moved also. Thus, V4 is sometimes also called Linz-Oberon in contrast to ETH-Oberon. The most recent version of V4 and extensions are available a

Oberon V4 appears to be orphaned, there are almost no changes since 2000. Another repository of V4 is Claudio Nieder'
Oberon V4
which also shows difference between the different V4 implementations. Since 2013 this page moved to/is mirrored a
SourceForge
V4 is closer to what would now be called an integrated development environment than an operating system of its own. There were many extensions written for V4, which are still available from the tp://ftp.ssw.uni-linz.ac.at/pub/Oberon/LinzTools/ ftp server of SSW at JKU some documentation can be found on thei
web-pages
more information is normally included in the packages and it is given in Oberon's special rich text format.


AOS/Bluebottle/A2

Around 2010, the computer science department at
ETH Zurich (colloquially) , former_name = eidgenössische polytechnische Schule , image = ETHZ.JPG , image_size = , established = , type = Public , budget = CHF 1.896 billion (2021) , rector = Günther Dissertori , president = Joël Mesot , ac ...
began exploring active objects and
concurrency Concurrent means happening at the same time. Concurrency, concurrent, or concurrence may refer to: Law * Concurrence, in jurisprudence, the need to prove both ''actus reus'' and ''mens rea'' * Concurring opinion (also called a "concurrence"), a ...
for operating systems, and has released an early version of a new language Active Oberon and a new operating system for it, first named ''Active Object System'' (AOS) in 2002, then due to trademark issues, renamed ''Bluebottle'' in 2005, then renamed '' A2'' in 2008. It is available from
ETH Zurich (colloquially) , former_name = eidgenössische polytechnische Schule , image = ETHZ.JPG , image_size = , established = , type = Public , budget = CHF 1.896 billion (2021) , rector = Günther Dissertori , president = Joël Mesot , ac ...
with most source via the Internet. Native versions (A2) run on bare hardware, and are currently possible for Intel IA-32 and x86-64 single- and multi-processor systems, and for the StrongARM CPU family. Versions for other operating systems are available on Windows (WinAos), Unix (UnixAos), Linux (LinuxAos), and macOS (DarwinAos). More detailed information about A2 is on the Russian Wikipedia pages about A2.


stailaOS

As a part of an industrial research project the Native Systems Group of
ETH Zurich (colloquially) , former_name = eidgenössische polytechnische Schule , image = ETHZ.JPG , image_size = , established = , type = Public , budget = CHF 1.896 billion (2021) , rector = Günther Dissertori , president = Joël Mesot , ac ...
has developed an application-specific operating system named ''stailaOS'' which is based on the latest version Oberon OS. It is intended for uses such as real-time
analytics Analytics is the systematic computational analysis of data or statistics. It is used for the discovery, interpretation, and communication of meaningful patterns in data. It also entails applying data patterns toward effective decision-making. It ...
, high performance automated trading system (ATS), main memory based enterprise resource planning (ERP), etc.


Native Oberon

Native Oberon is an Oberon System that runs on bare hardware. ''PC-Native Oberon'' is a version that runs on IA-32 (x86-32) PC hardware. There has never been a V4 Native Oberon, so all information in this section implicitly assumes that it is System 3. Native Oberon has small hardware requirements: 133 MHz Pentium, 100MB hard disk, VESA 2 graphics card with resolution minimum of 1024x768 pixels, optional
3Com 3Com Corporation was an American digital electronics manufacturer best known for its computer network products. The company was co-founded in 1979 by Robert Metcalfe, Howard Charney and others. Bill Krause joined as President in 1981. Metcalfe ex ...
network card. The basic system runs from one HD floppy disk, and more software can be installed through a network. The full installation includes the Gadgets GUI. It is written fully in the language Oberon. The latest available version was 2.3.7. It is dated 5. January 2003 and sometimes also labeled as Update/Alpha, especially on the ftp-server of ETHZ. Later versions were incorporated in AOS/BlueBottle/A2.


LNO

A version named Linux Native Oberon (LNO) uses Linux as a hardware abstraction layer (HAL). Its goal is to be as compatible as possible to PC-Native Oberon. Other versions of the Oberon System, without ''Native'' in the name, had partly modified interfaces of low level modules. In 2015, Peter Matthias revitalized LNO under the name Oberon Linux Revival (OLR) as a multi-platform distribution running seamlessly on Intel x86, ARM, MIPS, and RISC-V. It runs well on the Raspberry Pi and on the low cost CHIP computer; with some tweaking (adjusting group membership or/and permissions on some devices) it runs well on Tiny Core Linux. OLR interfaces with
Linux kernel The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ope ...
by direct system calls. , OLR lacks a network layer.


Project Oberon 2013

In 2013, Wirth and Paul Reed completed a re-implementation of the original Oberon System for the Digilent Xilinx Spartan 3
FPGA A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturinghence the term '' field-programmable''. The FPGA configuration is generally specified using a hardware de ...
Starter Board. The work includes a revision of "Project Oberon", identified a
Project Oberon (New Edition 2013)
In 2015, Reed collaborated with Victor Yurkovsky to creat
OberonStation
a Xilinx Spartan 3-based computer designed specifically to run Oberon. The system has since been ported to a Xilinx Spartan 6
FPGA A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturinghence the term '' field-programmable''. The FPGA configuration is generally specified using a hardware de ...
Pepino development board b
Saanlima Electronics
and a Xilinx Artix 7-base
Digilent Nexys A7-100 FPGA Trainer board
b

Peter de Wachter implemented a
emulator
for it, which was also ported t
Java and JavaScript
by Michael Schierl, running i

and ported to Free Pascalbr>Ultibo
b
Markus Greim
and t
Go
Andreas Pirklbauer maintains a
experimental version
and extensions of Project Oberon 2013 at GitHub.


Gallery

File:TatungTWN5213Oberon.png, Oberon on a Tatung TWN-5213 CU tablet. File:AndroidOberonV5.jpg, Oberon V5 RISC emulator o
GNURoot Debian
on
Android Android may refer to: Science and technology * Android (robot), a humanoid robot or synthetic organism designed to imitate a human * Android (operating system), Google's mobile operating system ** Bugdroid, a Google mascot sometimes referred to ...
on an Alcatel 9015B tablet with keyboard and mouse connected by Bluetooth.


Glossary

* A2 – Formerly ''Active Object System'' (AOS) in 2002, renamed Bluebottle in 2005 due to rumored copyright issues, renamed A2 in 2008. *ALO – ARM Linux Oberon; in LNO family and for ARM CPU. *AOS – see ''A2'' entry above. *BB – BlackBox Component Builder. Component Pascal IDE fro
Oberon Microsystems
*Bluebottle – see ''A2'' entry above. *CP – Component Pascal. A dialect in the Oberon family most similar to Oberon-2. *ETHO – Oberon as developed at Swiss Federal Institute of Technology in Zurich: Eidgenössische Technische Hochschule (ETH). *Fox – The compiler for Active Oberon, appearing in ''AOS'' (see ''A2'' entry above). *LEO – Linux ETH Oberon. ETHO 2.4.3 for Linux x86. *LNO – Linux Native Oberon. *NO – Native Oberon. Runs on bare hardware rather than on another operating system. *OLR – Oberon Linux Revival. A version of NO which uses Linux as a
HAL HAL may refer to: Aviation * Halali Airport (IATA airport code: HAL) Halali, Oshikoto, Namibia * Hawaiian Airlines (ICAO airline code: HAL) * HAL Airport, Bangalore, India * Hindustan Aeronautics Limited an Indian aerospace manufacturer of fight ...
and runs on x86, ARM, and MIPS. *OP2 – The Portable Oberon-2 Compiler. OP2 was developed to port Oberon onto commercially available platforms. *PACO – (scope) PArallel COmpiler. Appears in ''A2'' (see entry above). Compiles each scope in an independent thread. *RISC5 – the central processing unit (CPU) of Project Oberon 2013 based on Wirth's
RISC In computer engineering, a reduced instruction set computer (RISC) is a computer designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a complex instruction set comput ...
architecture. Not to be confused with RISC-V. *UnixAOS – Unix-based AOS, see ''A2'' entry above. *WinAOS – Windows-based AOS, see ''A2'' entry above.


See also

* A2 (operating system) * Oberon (programming language) * Oberon-2 programming language


References


External links

* , old ETH Oberon homepage, dead since Jan-2020, redirect to Archive.org
archived version

Oberon article
on WikiWikiWeb * Genealogy and History of the Oberon Syste
version at archive.org




* Install ETH Oberon using QEMU
BlueBottle/AOS/A2
An evolution of Native Oberon with support for Multiprocessor systems with Active Objects (kind of threads running on separate processors, if available) and a zooming user interface available at
ETH Zurich (colloquially) , former_name = eidgenössische polytechnische Schule , image = ETHZ.JPG , image_size = , established = , type = Public , budget = CHF 1.896 billion (2021) , rector = Günther Dissertori , president = Joël Mesot , ac ...
'
redmine
instance.
Native Oberon Home Page redirected to Archive.org
(May 2016 - this site has broken URLs in the links to the ftp-Server; files were moved from ftp://ftp.inf.ethz.ch/pub/ETHOberon/ to ftp://ftp.ethoberon.ethz.ch/, on 10 March 2022 a mirror of that server is still available a
GWDG

Native Oberon Hardware Compatibility redirected to archive.org



Lukas Mathis' Blog about Oberon
A nice trace back to the history of user interfaces and Oberon.

Johannes Kepler University Linz The Johannes Kepler University Linz (German: ''Johannes Kepler Universität Linz'', short: ''JKU'') is a public institution of higher education in Austria. It is located in Linz, the capital of Upper Austria. It offers bachelor's, master's, d ...

Oberon V4 Sources
Collected sources for different V4 implementations at SourceForge and Oberon V4 for Linux, more information in the correspondin
wiki

http://www.projectoberon.com/, Project Oberon.

Experimental Oberon

WinOberon aka Plugin Oberon
Version 2.6 as provided by Emil Zeller to Alexander Illjin around 2010
Oberon System 3 Tutorial
by André Fischer (1997)
archived version
{{DEFAULTSORT:Oberon (Operating System) Free software operating systems Object-oriented operating systems 1987 software