Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Oberon (operating system)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Multitasking operating system written in Oberon}} {{Use dmy dates|date=February 2021}} {{Infobox OS | name = Oberon | logo = | screenshot = OberonScreen.PNG | caption = Tiled window arrangement of Oberon | developer = [[Niklaus Wirth]]<br/>[[Jürg Gutknecht]] | family = Oberon | working state = Current | source model = [[Open-source software|Open source]] | released = {{Start date and age|1987}}<ref name="oberon-date">{{cite web |url=http://www.oberon.ethz.ch/ |title=Oberon: Welcome to Oberon |last=Kulka |first=Irena |website=ETH |access-date=27 November 2017 |url-status=dead |archive-url=https://web.archive.org/web/20170106174033/http://www.oberon.ethz.ch/ |archive-date=6 January 2017}}</ref> | latest release version = | latest release date = | latest preview version = | latest preview date = | repo = <!-- {{URL|https://example.com}} --> | marketing target = | programmed in = [[Oberon (programming language)|Oberon]] | language = [[English language|English]] | update model = | package manager = | supported platforms = [[Ceres (workstation)|Ceres]] ([[NS32000|NS32032]]), [[IA-32]], [[Xilinx#Spartan family|Xilinx Spartan]], and many others | kernel type = [[Object-oriented operating system|Object-oriented]] | userland = | ui = [[Text-based user interface]] | license = [[BSD licenses|BSD]]-style<ref>[ftp://ftp.ethoberon.ethz.ch/ETHOberon/license.txt ETH-License]{{dead link|date=May 2025|bot=medic}}{{cbignore|bot=medic}}</ref> | preceded by = [[Modula-2#Medos-2|Medos-2]] | website = {{URL|https://www.projectoberon.net/}} }} The '''Oberon System'''<ref name="OSReport">{{cite report |last1=Wirth |first1=Niklaus |author1-link=Niklaus Wirth |last2=Gutknecht |first2=Jürg |author2-link=Jürg Gutknecht |date=1988 |title=The Oberon System: Report Number 88 |url=http://e-collection.library.ethz.ch/eserv/eth:3180/eth-3180-01.pdf}}</ref> is a modular, single-user, single-process, multitasking [[operating system]] written in the programming language [[Oberon (programming language)|Oberon]].<ref>Wirth, Niklaus: The Programming Language Oberon. Software - Practice and Experience, 18:7, 671-690, Jul. 1988</ref> It was originally developed in the late 1980s at [[ETH Zurich]]. The Oberon System has an unconventional visual [[Text-based user interface#Oberon|text user interface]] (TUI) instead of a conventional [[command-line interface]] (CLI) or [[graphical user interface]] (GUI). This TUI was very innovative in its time and influenced the design of the [[Acme (text editor)|Acme text editor]] for the [[Plan 9 from Bell Labs]] operating system and bears some similarities with the worksheet interface of the [[Macintosh Programmer's Workshop]]. The system also evolved into the multi-process, [[symmetric multiprocessing]] (SMP) capable [[A2 (operating system)|A2]] (formerly ''Active Object System'' (AOS),<ref name="AOSthesis">{{Cite thesis |type=PhD |last=Muller |first=Pieter Johannes |date=2002 |title=The active object system design and multiprocessor implementation |url=http://e-collection.library.ethz.ch/eserv/eth:26082/eth-26082-02.pdf |publisher=Swiss Federal Institute of Technology, Zürich ([[ETH Zurich]])}}</ref> then ''Bluebottle''), with a [[zooming user interface]] (ZUI). == History == The Oberon operating system originated as part of the [[NS32000|NS32032]]-based [[Ceres (workstation)|Ceres]] workstation project. It was written almost entirely (and in the 2013 version entirely is valid) in the [[Oberon (programming language)|Oberon]] [[programming language]].<ref name="PIO">[http://www.ethoberon.ethz.ch/WirthPubl/ProgInOberonWR.pdf M. Reiser and N. Wirth: Programming in Oberon] Addison-Wesley/ACM Press (1992) {{ISBN|0-201-56543-9}}. Out of print.</ref> 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".<ref name="PO">[https://inf.ethz.ch/personal/wirth/ProjectOberon1992.pdf N. Wirth and J. Gutknecht: Project Oberon - The Design of an Operating System and Compiler] Addison-Wesley/ACM Press (1992) {{ISBN|0-201-54428-8}}. Out of print. [http://www.inf.ethz.ch/personal/wirth/ProjectOberon/ Online version of the second edition (2013)].</ref> The user Interface and programmers reference is found in Martin Reiser's book "The Oberon System".<ref name="OS">Reiser, Martin: "The Oberon System - User Guide and Programmer's Manual" - Out-of-print - Addison-Wesley/ACM Press (1991) {{ISBN|0-201-54422-9}}</ref> The Oberon System was later extended and ported to other hardware platforms<ref>A. R. Disteli, Oberon for PC on an MS-DOS base, Technical Report #203 der [[ETH Zurich]], November 1993, [http://e-collection.library.ethz.ch/eserv/eth:3801/eth-3801-01.pdf Reprint].</ref><ref> J. Supcik, HP-Oberon, Technical Report #212 of the [[ETH Zurich]], November 1993, [http://e-collection.library.ethz.ch/eserv/eth:3931/eth-3931-01.pdf Reprint].</ref><ref> M. Franz, MacOberon Reference Manual, Technical Report #142 der [[ETH Zurich]], November 1993, [http://e-collection.library.ethz.ch/eserv/eth:3278/eth-3278-01.pdf Reprint].</ref><ref> J. Templ, Design and implementation of SPARC-Oberon. Structured Programming, 12, 197–205 (1991).</ref><ref> M. Brandis, R. Crelier, M. Franz, J. Templ, The Oberon System Family. Software-Practice and Experience, Vol. 25(12), 1331–1366, December 1995. Also: [http://e-collection.library.ethz.ch/eserv/eth:3424/eth-3424-01.pdf Technical Report 174] of the [[ETH Zurich]].</ref> by a team at [[ETH Zurich]] and there was recognition in popular magazines.<ref>R. Gerike, Wider den Schnickschnack. Oberon System, Teil 1: Anwendersicht. ''c't'' 1994 (2) p. 180, Teil 2: Technische Einblicke. c't 1994 (3), p. 240 (German language).</ref> <ref name="Sys3"> H. Marais, Oberon System 3, Dr. Dobb's Journal, October 1994, [http://www.drdobbs.com/architecture-and-design/oberon-system-3/184409324 pages 42-50].</ref><ref> {{Cite magazine |last=Pountain |first=Dick |date=May 1993 |title=Oberon: A Glimpse at the Future |magazine=[[Byte (magazine)|Byte]] |volume=18 |issue=5 |page=111ff |url=https://archive.org/stream/BYTE-1993-05#page/n124/mode/1up |via=Archive.org}}</ref><ref> {{Cite magazine |last=Pountain |first=Dick |date=March 1991 |title=Modula's Children, Part II: Oberon |magazine=[[Byte (magazine)|Byte]] |volume=16 |issue=3 |pages=135–142 |url=https://archive.org/stream/byte-magazine-1991-03/1991_03_BYTE_16-03_Network_Management#page/n187/ |via=Archive.org}}</ref><ref> {{Cite magazine |last=Pountain |first=Dick |date=January 1995 |title=The Oberon/F System |magazine=[[Byte (magazine)|Byte]] |volume=20 |issue=1 |page=227f |url=https://vintageapple.org/byte/pdf/199501_Byte_Magazine_Vol_20-01_Small_Office_Big_Business.pdf |via=Vintage Apple}}</ref><ref> {{Cite magazine |last=Börner |first=T. |date=March 1999 |title=Betriebssysteme: Native Oberon für den PC |magazine=[[Chip (magazine)|Chip]] |page=131ff |language=de}}</ref> Wirth and Gutknecht (although being active [[computer science]] professors) refer to themselves as 'part-time programmers' in the book ''Project Oberon''.<ref name="PO"/> In late 2013, a few months before his 80th birthday, Wirth published a second edition of Project Oberon.<ref>{{cite web |url=https://lists.inf.ethz.ch/pipermail/oberon/2013/006922.html |title=[Oberon] Project Oberon, 2013 Edition |last=Reed |first=Paul |date=21 December 2013 |access-date=13 February 2021}}</ref> It details implementing the Oberon System using a [[reduced instruction set computer]] (RISC) CPU of his own design realized on a Xilinx [[field-programmable gate array]] (FPGA) board. It was presented at the symposium<ref>{{cite AV media |last=Wirth|first=Niklaus |date=20 February 2014 |title=Niklaus Wirth Birthday Symposium |access-date=13 February 2021 |url=https://video.ethz.ch/conferences/2014/wirth/d40b0ce9-b9fa-4ba3-8dee-cf9d0c6f01a4.html |website=ETH Zurich}}</ref> organized for his 80th birthday at [[ETH Zurich]]. In the meantime, several emulators for this version were implemented.<ref name="PDW-Emul"> {{cite web |url=https://github.com/pdewacht/oberon-risc-emu |title=Oberon RISC Emulator |last=De Wachter |first=Peter |date=18 August 2020 |website=GitHub |access-date=13 February 2021}}</ref><ref name="JS-Emul"> {{cite web |url=https://schierlm.github.io/OberonEmulator/ |title=Project Oberon emulator in JavaScript and Java |last=Schierl |first=Michael |date=19 January 2021 |website=GitHub |access-date=13 February 2021}}</ref><ref name="Ultibo-Emul"> {{cite web |url=https://github.com/MGreim/ultiboberon |title=Port of the Oberon RISC Emulator to [Ultibo] |last=Greim |first=Markus |date=14 August 2016 |website=GitHub |access-date=13 February 2021}}</ref><ref name="Go-Emul"> {{cite web |url=https://github.com/fzipp/oberon |title=Project Oberon emulator in Go |date=18 September 2021 |website=GitHub |access-date=13 February 2021}}</ref><ref> {{cite web |url=http://www.reactive-instruments.eu/ |title=Oberon Workstation |last=de Jong |first=Roel P. |date=19 October 2018 |website=Reactive Instruments |access-date=13 February 2021}}</ref> According to Josef Templ, a former member of the developer group at [[ETH Zurich|Swiss Federal Institute of Technology in Zurich]] and later member of the ''Institut für Systemsoftware'' of [[Johannes Kepler University Linz]], where one forked version (V4) was maintained, the genealogy of the different versions of the Oberon System is this: {| class="wikitable" |- ! | Year ! colspan="2" | Name ! | Remark |- | 1985 | colspan="2" align="center"| | Start of Oberon project |- | 1987 | colspan="2" align="center"| V1 | Internal use at [[ETHZ]];<ref name="OSReport"/><ref>Wirth, Niklaus. Designing a System from Scratch. Structured Programming (1989) Vol. 10, pp. 10–18.</ref> simple text editing facilities only |- | 1991 || V2 || || Extensible text model and a special editor named Write<ref name="Write">Szyperski, Clemens A., Write: An extensible text editor for the Oberon system. [[ETH Zurich|Swiss Federal Institute of Technology in Zurich]] (1991). [http://e-collection.library.ethz.ch/eserv/eth:3313/eth-3313-01.pdf Report 151].</ref> supporting these extensions |- | 1991 || || System 3 || [[Kernel (operating system)|Kernel]] extensions supporting persistent objects and object-libraries supporting object embedding and object linking; Gadgets, Script (text editor), Illustrate (graphics editor)<ref name="Sys3"/> |- | 1992 || || || Publication of Oberon Trilogy: "Project Oberon",<ref name="PO"/> "The Oberon System",<ref name="OS"/> and "Programming in Oberon"<ref name="PIO"/> |- | 1992 || V4 || || Functions of Write integrated into standard text editor |- | || || Rel. 1.4 || Desktops |- | 1993 || || Rel. 1.5 || Generic document model |- | 1994 || V4 || || [[:de:Hanspeter Mössenböck|Hanspeter Mössenböck]] appointed at [[Johannes Kepler University Linz|JKU (Linz)]], V4 development moves there |- | 1995 || || Rel. 2.0 || Document space extended to the whole internet; improved bitmap editor: Rembrandt; online tutorials |- | 2000 || || ETH-Oberon || System-3 renamed ETH-Oberon |- | 2002 || || AOS || Active Object System,<ref name="AOSthesis"/> also Active Oberon System, later renamed Bluebottle, then [[A2 (operating system)|A2]] |- | 2013 | colspan="2" align="center"| PO 2013 - V5 | Re-implementation of the original Oberon System in FPGA |-| Col1 || Col2 || Col3 || Col4 |} == User interface == Oberon has a text user interface (TUI), which is very different from a [[Text-based user interface|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]] (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 (computing)|command]] input. Commands are activated by a middle-mouse click<ref>Using the mouse and the keyboard https://web.archive.org/web/20171225160628/http://www.ethoberon.ethz.ch/ethoberon/tutorial/Mouse.contents.html</ref> on a text fragment of the form <code>Module.Command</code> (optionally followed by parameters, which are terminated by <code>~</code>). 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-line interface#Command prompt)|command prompt]] is needed. Although very different from a command line, the TUI is very efficient and powerful.<ref>{{cite encyclopedia |last=Franz |first=Michael |title=Oberon: The Overlooked Jewel |citeseerx=10.1.1.90.7173 |editor1-first=Lászlo |editor1-last=Böszörmény |editor2-first=Jürg |editor2-last=Gutknecht |editor2-link=Jürg Gutknecht |editor3-first=Gustav |editor3-last=Pomberger |encyclopedia=The School Niklaus Wirth: The Art of Simplicity |publisher=Morgan Kaufmann Publishers |year=2000 |pages=41–53 |isbn=1-55860-723-4}}</ref> 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 [[Text-based user interface#Other uses|TUI]] and programming interface is fully documented in Martin Reiser's book "The Oberon System".<ref name="OS"/> A short introduction to the user interface can be found on [[Niklaus Wirth]]'s home page.<ref>{{Cite web |url=https://www.inf.ethz.ch/personal/wirth/ProjectOberon/UsingOberon.pdf |title=How to use the Oberon System |last=Wirth |first=Niklaus |author-link=Niklaus Wirth |date=2015 |access-date=24 November 2016}}</ref> 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 (operating system)|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é Fischers [https://web.archive.org/web/20171225160628/http://www.ethoberon.ethz.ch/ethoberon/tutorial Oberon System 3 Tutorial]. An expanded version of this tutorial was published as a book,<ref>André Fischer & Hannes Marais: The Oberon Companion. A Guide to Using and Programming Oberon System 3. vdf Hochschulverlag AG (1997). {{ISBN|978-3728124937}}, out of print, but see notes in [[b:Oberon#Getting Started|Getting Started]] section of the Oberon Wikibook</ref> 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<ref name="OLR2">{{Cite web |url=http://oberon.wikidot.com/ |title=Oberon Linux Revival |last=Matthias |first=Peter |access-date=31 August 2016}}</ref>). More information how to get your own copy of the Oberon Companion may be found in the [[wikibooks:Oberon/Beginning as a Novice|Getting Started]] section of the Oberon Wikibook. Similar user Interfaces have yet to appear in more commonplace operating systems. [[Rob Pike]]'s [[Acme (text editor)|Acme]] 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 (computer)|Lilith]], and both the Apple [[Mac (computer)|Macintosh]] (and its precursor [[Apple Lisa|Lisa]]) and the Oberon System (on [[Ceres (workstation)|Ceres]] and its precursor Lilith) have the same roots: they were all inspired by the [[Xerox Alto|Alto]] developed at [[Xerox PARC]]. == Versions and availability == V1 was the first usable version some time before the Oberon Trilogy<ref name="PIO"/><ref name="PO"/><ref name="OS"/> was published. A major change in the text model together with the editor named Write<ref name="Write"/> yielded V2. As foreshadowed in the table in section [[#History|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 [[:de:Hanspeter Mössenböck|Hanspeter Mössenböck]] 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. [[File:XO.A2.Oberon.jpg|255px|thumb|The Oberon subsystem in [[A2 (operating system)|A2]] on an [[w:OLPC XO#Release history|XO-1.5]].]] As of 2017, the Oberon OS is available for several hardware [[computing platform]]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]]. 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|Native Oberon]]. There are native versions for the [[Ceres (workstation)|Ceres]], Intel [[IA-32]], and [[StrongARM|ARM]] platforms. In 2013, [[Niklaus Wirth]] adapted the basic system as described in "Project Oberon"<ref name="PO" /> to a current [[FPGA]] 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,<ref name="Sys3"/> which is more integrated in the Microsoft Windows OS than other implementations was named Plugin Oberon.<ref>{{Cite web |url=http://e-collection.library.ethz.ch/eserv/eth:26257/eth-26257-02.pdf |title=Fine-grained integration of Oberon into Windows using pluggable objects |last=Zeller |first=Emil Johann |date=2002}}</ref> Plugin Oberon had support for [[Object Linking and Embedding|OLE]], [[NPAPI|Netscape Plugins]], and the binary format named Oberon Module Interchange (OMI) or ''slim binaries'', which allowed portable object code between Intel [[x86]], Motorola [[68K]], and [[PowerPC]] 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.<ref name="OMI">{{Cite book |last=Franz |first=Michael |date=1 March 1994 |title=Code-Generation On-the-Fly: A Key to Portable Software |publisher=Verlag der Fachvereine Hochschulverlag AG an der ETH Zurich |location=Zürich |isbn=978-3728121158}}</ref> 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 (programming language)|Java]] world for [[GraalVM]] and [[GraalVM#Truffle Language Implementation Framework|Truffle]]. ===Oberon V4=== The version named Oberon V4 (see also [[#History|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 to [http://www.ssw.uni-linz.ac.at/Oberon.html 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 at [http://www.ssw.uni-linz.ac.at/Oberon.html JKU]. Oberon V4 appears to be orphaned, there are almost no changes since 2000. Another repository of V4 is Claudio Nieder's [http://www.claudio.ch/V4/ Oberon V4], which also shows difference between the different V4 implementations. Since 2013 this page moved to/is mirrored at [http://sourceforge.net/projects/oberon/ 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 [ftp://ftp.ssw.uni-linz.ac.at/pub/Oberon/LinzTools/ ftp server of SSW at JKU]{{dead link|date=May 2025|bot=medic}}{{cbignore|bot=medic}}; some documentation can be found on their [http://www.ssw.uni-linz.ac.at/Research/Projects/OberonDownloads.html web-pages], more information is normally included in the packages and it is given in Oberon's special rich text format. ===AOS/Bluebottle/A2=== {{Main|A2 (operating system)}} Around 2010, the computer science department at [[ETH Zurich]] began exploring [[active object]]s and [[Concurrency (computer science)|concurrency]] 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,<ref name="AOSthesis"/> then due to trademark issues, renamed ''Bluebottle'' in 2005, then renamed ''A2'' in 2008. It is available from [[ETH Zurich]] with most source via the [[Internet]]. Native versions of A2 run on single- and multi-processor [[IA-32]] and [[x86-64]] hardware, both on bare metal and inside virtual machines. It was previously also available for the [[StrongARM]] CPU family. Versions which execute as programs under other operating systems are available on [[Windows]] (WinAos), [[Unix]] (UnixAos), [[Linux]] (LinuxAos), and [[macOS]] (DarwinAos). More detailed information about A2 is on the [[:ru:A2 (операционная система)|Russian Wikipedia pages about A2]]. [[File:Oberon A2Desktop Screen.png|thumb|The Oberon A2 desktop screen with the installer application open, along with a calendar and clock. (Using the default style)]] ===stailaOS=== As a part of an industrial research project<ref>[http://nativesystems.inf.ethz.ch/Main/WebHomeResearchStaila stailaOS (ETHZ) Project Page] {{webarchive |url=https://web.archive.org/web/20111004170705/http://www.nativesystems.inf.ethz.ch/Main/WebHomeResearchStaila |date=2011-10-04}} </ref> the Native Systems Group of [[ETH Zurich]] 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 computing|real-time]] [[analytics]], financial applications, main memory based [[enterprise resource planning]] (ERP), etc. ===Native Oberon=== [[File:Oberon0UnderQEMU.png|thumb|320px|The Oberon0 installer running on [[QEMU]] in [[Debian]] Wheezy. The presentation of the [[Master boot record#PT|partition table]] illustrates the comprehensibility of the system in general.]] Native Oberon is an Oberon System that runs on bare hardware.<ref>[ftp://ftp.ethoberon.ethz.ch/ETHOberon/Native/StdAlone/ Archives of the Oberon Website]{{dead link|date=May 2025|bot=medic}}{{cbignore|bot=medic}}.</ref> ''PC-Native Oberon'' is a version that runs on [[IA-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]] 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 [[A2 (operating system)|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)<ref name="OLR2"/> as a multi-platform distribution running seamlessly on Intel x86, [[ARM architecture|ARM]], [[MIPS architecture|MIPS]], and [[RISC-V]]. It runs well on the [[Raspberry Pi]] and on the low cost (discontinued) [[CHIP (computer)|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]] by direct [[system call]]s. {{As of|2017|06}}, 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 family|Xilinx Spartan 3]] [[FPGA]] Starter Board. The work includes a revision of "Project Oberon",<ref name="PO"/> identified as [http://www.inf.ethz.ch/personal/wirth/ProjectOberon/ Project Oberon (New Edition 2013)]. In 2015, Reed collaborated with Victor Yurkovsky to create [https://web.archive.org/web/20180102133953/http://oberonstation.x10.mx/ OberonStation], a [[Xilinx#Spartan family|Xilinx Spartan 3]]-based computer designed specifically to run Oberon. The system has since been ported to a [[Xilinx#Spartan family|Xilinx Spartan 6]] [[FPGA]] Pepino development board by [http://www.saanlima.com/pepino/index.php?title=Pepino_Oberon Saanlima Electronics], and a [[Xilinx#Artix|Xilinx Artix 7]]-based [https://reference.digilentinc.com/reference/programmable-logic/nexys-a7/start Digilent Nexys A7-100 FPGA Trainer board] by [https://www.astrobe.com/RISC5/Workstation.htm CFB Software]. Peter de Wachter implemented an [https://github.com/pdewacht/oberon-risc-emu emulator] for it, which was also ported to [https://github.com/schierlm/OberonEmulator/ Java and JavaScript] by Michael Schierl, running in [https://schierlm.github.io/OberonEmulator/emu.html?image=ExperimentalOberonDiskImage&width=1024&height=768 modern browsers], and ported to [[Free Pascal]]/[https://ultibo.org/ Ultibo] by [https://github.com/MGreim Markus Greim] and to [https://github.com/fzipp/oberon/ Go].<ref name="PDW-Emul"/><ref name="JS-Emul"/><ref name="Ultibo-Emul"/><ref name="Go-Emul"/> Andreas Pirklbauer maintains an [https://github.com/andreaspirklbauer/Oberon-experimental experimental version] and extensions of Project Oberon 2013 at [[GitHub]]. == Gallery == <gallery> File:TatungTWN5213Oberon.png|Oberon on a Tatung TWN-5213 CU tablet. File:AndroidOberonV5.jpg|Oberon [[#V5|V5]] RISC emulator on [https://github.com/corbinlc/GNURootDebian GNURoot Debian] on [[Android (operating system)|Android]] on an [[Alcatel Mobile|Alcatel]] 9015B tablet with keyboard and mouse connected by [[w:Bluetooth|Bluetooth]]. </gallery> == Glossary == *<span id="A2"></span>[[A2 (operating system)|A2]] – Formerly ''Active Object System'' (AOS) in 2002,<ref name="AOSthesis"/> 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 from [https://web.archive.org/web/20100726132147/http://www.oberon.ch/blackbox.html 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).<ref>{{Cite web |url=https://trac.inf.ethz.ch/trac/lecturers/a2/browser/trunk/source/Fox.Tool |title=Fox Tool |url-status=dead |access-date=19 March 2021 |archive-date=6 February 2018 |archive-url=https://web.archive.org/web/20180206073503/https://trac.inf.ethz.ch/trac/lecturers/a2/browser/trunk/source/Fox.Tool }}</ref> *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 [[Hardware abstraction|HAL]] and runs on [[x86]], [[ARM architecture|ARM]], and [[Stanford MIPS|MIPS]]. *OP2 – The Portable Oberon-2 Compiler. OP2 was developed to port Oberon onto commercially available platforms.<ref name="OP2">{{cite web |url=https://www.research-collection.ethz.ch/handle/20.500.11850/141604 |title=Separate Compilation and Module Extension |last=Crelier |first=Régis |publisher=ETH Zurich |access-date=18 November 2018}}</ref> *PACO – (scope) PArallel COmpiler. Appears in ''A2'' (see entry above). Compiles each scope in an independent thread. *PIO - [[b:Oberon/Bibliography#Books|''Programming in Oberon'']]. *RISC5 – the [[central processing unit]] (CPU) of Project Oberon 2013 based on Wirth's [[Reduced instruction set computer|RISC]] architecture.<ref name="RISC">{{cite web |url=https://www.inf.ethz.ch/personal/wirth/FPGA-relatedWork/ |title=FPGA-related Work |last=Wirth |first=Niklaus |author-link=Niklaus Wirth |publisher=ETH Zurich |access-date=12 September 2016}}</ref> 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== * [[wikibooks:Oberon|Oberon Wikibook]] * [[A2 (operating system)]] * [[Oberon (programming language)]] * [[Oberon-2]] programming language ==References== {{Reflist}} ==External links== {{Wikibooks|Oberon}} * {{Official website|www.ethoberon.ethz.ch}}, old ETH Oberon homepage, dead since Jan-2020, redirect to [[Archive.org]]: [https://web.archive.org/web/20191011164607/http://www.ethoberon.ethz.ch/ archived version] * [http://wiki.c2.com/?OberonOperatingSystem Oberon article] on [[WikiWikiWeb]] * Genealogy and History of the Oberon System [https://web.archive.org/web/20160327005821/http://www.oberon.ethz.ch/archives/systemsarchive/sys_genealogy_new version at archive.org] * [http://www.ethoberon.ethz.ch/books.html Oberon Bibliography] <!-- * [http://www.ocp.inf.ethz.ch/wiki/ Oberon Community Platform - Wiki & Forum] --> * [http://www.ethoberon.ethz.ch/compilers.html Oberon compilers.] * [[b:Oberon/ETH Oberon/QEMUinstall|Install ETH Oberon using QEMU]] * [https://web.archive.org/web/20120808025107/http://bluebottle.ethz.ch/ 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 {{as of|2020|03|04|lc=yes}} at [[ETH Zurich]]'s [http://cas.inf.ethz.ch/projects/a2/ redmine] instance. * [https://web.archive.org/web/20160603120030/http://www.oberon.ethz.ch/archives/systemsarchive/native_new 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 at [https://ftp.gwdg.de/pub/languages/oberon/ftp.inf.ethz.ch/ GWDG]) * [https://web.archive.org/web/20160603120030/http://www.oberon.ethz.ch/archives/systemsarchive/hw_new Native Oberon Hardware Compatibility redirected to archive.org] * [http://easthope.ca/OberonUsage.html ETH PC Native Oberon, Usage Notes] * [http://ignco.de/91 Lukas Mathis' Blog about Oberon] A nice trace back to the history of user interfaces and Oberon. * [http://www.ssw.uni-linz.ac.at/Oberon.html Oberon V4 main page at] [[Johannes Kepler University Linz]] * [http://sourceforge.net/projects/oberon/ Oberon V4 Sources] Collected sources for different V4 implementations at [[SourceForge]] and Oberon V4 for Linux, more information in the corresponding [https://sourceforge.net/p/oberon/wiki/Home/ wiki]. * [http://www.projectoberon.com/ http://www.projectoberon.com/, Project Oberon.] * [https://github.com/andreaspirklbauer/Oberon-experimental Experimental Oberon] * [https://github.com/AlexIljin/WinOberon WinOberon aka Plugin Oberon] Version 2.6 as provided by Emil Zeller to Alexander Illjin around 2010 * [http://www.ethoberon.ethz.ch/ethoberon/tutorial/ Oberon System 3 Tutorial] by André Fischer (1997), [https://web.archive.org/web/20181213130926/http://www.ethoberon.ethz.ch/ethoberon/tutorial/ archived version] {{Modula, Oberon}} {{Wirth}} {{DEFAULTSORT:Oberon (Operating System)}} [[Category:Free software operating systems]] [[Category:Object-oriented operating systems]] [[Category:1987 software]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:As of
(
edit
)
Template:Cbignore
(
edit
)
Template:Cite AV media
(
edit
)
Template:Cite book
(
edit
)
Template:Cite encyclopedia
(
edit
)
Template:Cite magazine
(
edit
)
Template:Cite report
(
edit
)
Template:Cite thesis
(
edit
)
Template:Cite web
(
edit
)
Template:Dead link
(
edit
)
Template:ISBN
(
edit
)
Template:Infobox OS
(
edit
)
Template:Main
(
edit
)
Template:Modula, Oberon
(
edit
)
Template:Official website
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Sister project
(
edit
)
Template:Use dmy dates
(
edit
)
Template:Webarchive
(
edit
)
Template:Wikibooks
(
edit
)
Template:Wirth
(
edit
)