Oberon (sistema operacional)
O Oberon System[2] é um sistema operacional modular, de usuário único, para somente um processador, multitarefas escrito na linguagem de programação Oberon.[3] Ele foi desenvolvido originalmente no fim da década de 1980 no ETH Zurich. O Sistema Oberon tem uma interface de texto do usuário visual (TUI) ao invés de uma interface de linha de comando (CLI) convencional. Esse TUI foi muito inovador naquele momento e influenciou o design do editor de texto Acme para o sistema operacional Plan 9 from Bell Labs.
Tiled window arrangement of Oberon | |||||
Produção | Niklaus Wirth Jürg Gutknecht | ||||
Linguagem | Oberon | ||||
Modelo | Open source | ||||
Lançamento | 1987[1] | ||||
Idioma(s) | Inglês | ||||
Plataformas | Ceres (NS32032), IA-32, Xilinx Spartan, and many others | ||||
Núcleo | Orientado a objetos | ||||
Interface | Baseada em Texto | ||||
Página oficial | www | ||||
Estado de desenvolvimento | |||||
---|---|---|---|---|---|
Corrente | |||||
Cronologia | |||||
|
O sistema também evoluiu se tornando o sistema A2 com suporte a multiprocessos, capaz de multiprocessamento simétrico (previamente chamado Active Object System (AOS),[4] e depois Bluebottle), com uma zooming user interface (ZUI).
História
editarO sistema operacional Oberon se originou como parte da estação de trabalho Ceres basada no NS32032. Ele foi escrito quase que inteiramente (e na versão de 2013 interinamente é valido) na linguagem de programação Oberon[5] O sistema básico foi projetado e implementado por Niklaus Wirth e Jürg Gutknecht e o seu design e implementação foram documentados em completo em seu livro "Project Oberon".[6] A interface do usuário e a referencia do programador são encontradas no livro de Martin Reiser "The Oberon System".[7] O Sistema Oberon foi mais tarde expandido e portado para outras plataformas de hardware[8][9][10][11][12] por um time na ETH Zurich e houve um reconhecimeto em revistas populares.[13] [14][15][16][17][18] Wirth e Gutknecht (apesar de ativos como professores de ciência da computação) referem a si mesmos como 'programadores de meio período' no livro Project Oberon.[6] No fim de 2013, poucos meses antes do aniversário de 80 anos, Wirth publicou uma segunda edição do Projeto Oberon.[19] Ele detalha implementar o Sistema Oberon usando uma CPU reduced instruction set computer (RISC) que ele mesmo havia projetado realizada numa placa com um field-programmable gate array (FPGA) Xilinx. Ela foi apresentada num simpósio[20] organizado para o seu aniversário de 80 anos no ETH Zurich. Enquanto isso, vários emuladores para essa versão foram implementados.[21][22][23][24][25]
De acordo com Josef Templ, um ex membro do grupo de desenvolvimento no Swiss Federal Institute of Technology in Zurich e mais tarde membro do Institut für Systemsoftware do Johannes Kepler University Linz, onde uma versão forkada (V4) foi mantida, a genealogia de diferentes versões do Sistema Oberon é essa:
Ano | Nome | Observação | |
---|---|---|---|
1985 | Inicio do projeto Oberon | ||
1987 | V1 | Uso interno no ETHZ;[2][26] apenas recursos simples de edição de textos | |
1991 | V2 | Modelo de texto extensível em um editor especial chamado Write[27] suportando essas extenções | |
1991 | System 3 | Extensões de Kernel suportando persistência de objetos e bibliotecas de objetos suportando embedding de objetos e linking de objetos; Gadgets, Script (editor de texto), Illustrate (graphics editor)[14] | |
1992 | Publicação da Trilogia Oberon: "Project Oberon",[6] "The Oberon System",[7] e "Programming in Oberon"[5] | ||
1992 | V4 | Funções do Write integradas no editor de texto padrão | |
Rel. 1.4 | Desktops | ||
1993 | Rel. 1.5 | Modelo de documento genérico | |
1994 | V4 | Hanspeter Mössenböck appointed at 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 renomeado ETH-Oberon | |
2002 | AOS | Active Object System,[4] também Active Oberon System, mais tarde renomeado Bluebottle, e então A2 | |
2013 | PO 2013 - V5 | Reimplementação do Sistema Oberon original em FPGA |
Versões e disponibilidade
editarNative Oberon
editarO Native Oberon é um Sistema Oberon que roda diretamente no hardware.[28] PC-Native Oberon é uma versão que roda em hardware PC IA-32. O Native Oberon tem poucos requisitos de hardware: um Pentium de 133 MHz, HD de 100MB, placa gráfica VESA 2 com resolução mínima de 1024x768 pixels, opcionalmente uma placa de rede 3Com. O sistema básico roda a partir de um disquete, e mais software pode ser instalado a partir da rede. A instalação complete inclui GUI Gadgets. É escrito complemente na linguagem Oberon. A versão disponível mais recente é a 2.3.7. Datada de 5 de janeiro de 2003 e as vezes rotulada como um Update/Alpha, especialmente no servidor FTP do ETHZ. Versões posteriores foram incorporadas no AOS/BlueBottle/A2.
Project Oberon 2013
editarEm 2013, Wirth e Paul Reed completaram uma reimplementação do Sistema Oberon para o Digilent Xilinx Spartan 3 FPGA Starter Board. O trabalho inclui uma revisão do "Project Oberon", [6] identificado como Project Oberon (New Edition 2013). Em 2015, Reed colaborou com Victor Yurkovsky para criar o OberonStation, um computador baseado num Xilinx Spartan 3 projetado especificamente para rodar Oberon. O sistema dês de então foi portado para um FPGA Xilinx Spartan 6 Pepino development board por Saanlima Electronics, e um Xilinx Artix 7-based Digilent Nexys A7-100 FPGA Trainer board by CFB Software. Peter de Wachter implementou um emulador para ele, e que também foi portado para Java e JavaScript por Michael Schierl, rodando em um navegador moderno, e portado para o Free Pascal/Ultibo por Markus Greim e para Go.[21][22][23][24] Andreas Pirklbauer mantêm uma versão experimental e extensões para o Project Oberon 2013 no GitHub.
Galeria
editar-
Oberon em um tablet Tatung TWN-5213 CU.
-
Oberon V5 RISC emulator on GNURoot Debian on Android on an Alcatel 9015B tablet with keyboard and mouse connected by Bluetooth.
Glossário
editar- A2 – Formerly Active Object System (AOS) in 2002,[4] 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 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).[29]
- 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 and runs on x86, ARM, and MIPS.
- OP2 – The Portable Oberon-2 Compiler. OP2 was developed to port Oberon onto commercially available platforms.[30]
- 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 architecture.[31] Not to be confused with RISC-V.
- UnixAOS – Unix-based AOS, see A2 entry above.
- WinAOS – Windows-based AOS, see A2 entry above.
Ver também
editar- Oberon Wikibook (em inglês)
- A2 (sistema operacional)
- Oberon (linguagem de programação)
- Oberon-2 programming language
Referências
- ↑ Kulka, Irena. «Oberon: Welcome to Oberon». ETH. Consultado em 27 de novembro de 2017. Cópia arquivada em 6 de janeiro de 2017
- ↑ a b Wirth, Niklaus; Gutknecht, Jürg (1988). The Oberon System: Report Number 88 (PDF) (Relatório)
- ↑ Wirth, Niklaus: The Programming Language Oberon. Software - Practice and Experience, 18:7, 671-690, Jul. 1988
- ↑ a b c Muller, Pieter Johannes (2002). The active object system design and multiprocessor implementation (PDF) (PhD). Swiss Federal Institute of Technology, Zürich (ETH Zurich)
- ↑ a b M. Reiser and N. Wirth: Programming in Oberon Addison-Wesley/ACM Press (1992) ISBN 0-201-56543-9. Out of print.
- ↑ a b c d 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. Online version of the second edition (2013).
- ↑ a b Reiser, Martin: "The Oberon System - User Guide and Programmer's Manual" - Out-of-print - Addison-Wesley/ACM Press (1991) ISBN 0-201-54422-9
- ↑ A. R. Disteli, Oberon for PC on an MS-DOS base, Technical Report #203 der ETH Zurich, November 1993, Reprint.
- ↑ J. Supcik, HP-Oberon, Technical Report #212 of the ETH Zurich, November 1993, Reprint.
- ↑ M. Franz, MacOberon Reference Manual, Technical Report #142 der ETH Zurich, November 1993, Reprint.
- ↑ J. Templ, Design and implementation of SPARC-Oberon. Structured Programming, 12, 197–205 (1991).
- ↑ M. Brandis, R. Crelier, M. Franz, J. Templ, The Oberon System Family. Software-Practice and Experience, Vol. 25(12), 1331–1366, December 1995. Also: Technical Report 174 of the ETH Zurich.
- ↑ 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).
- ↑ a b H. Marais, Oberon System 3, Dr. Dobb's Journal, October 1994, pages 42-50.
- ↑ Pountain, Dick (maio de 1993). «Oberon: A Glimpse at the Future». Byte. 18 (5). p. 111ff – via Archive.org
- ↑ Pountain, Dick (março de 1991). «Modula's Children, Part II: Oberon». Byte. 16 (3). pp. 135–142 – via Archive.org
- ↑ Pountain, Dick (janeiro de 1995). «The Oberon/F System» (PDF). Byte. 20 (1). p. 227f – via Vintage Apple
- ↑ Börner, T. (março de 1999). «Betriebssysteme: Native Oberon für den PC». Chip (em alemão). p. 131ff
- ↑ Reed, Paul (21 de dezembro 2013). «[Oberon] Project Oberon, 2013 Edition». Consultado em 13 de fevereiro de 2021
- ↑ Wirth, Niklaus (20 de fevereiro de 2014). Niklaus Wirth Birthday Symposium. ETH Zurich. Consultado em 13 de fevereiro de 2021
- ↑ a b De Wachter, Peter (18 de agosto de 2020). «Oberon RISC Emulator». GitHub. Consultado em 13 de fevereiro de 2021
- ↑ a b Schierl, Michael (19 de janeiro de 2021). «Project Oberon emulator in JavaScript and Java». GitHub. Consultado em 13 de fevereiro de 2021
- ↑ a b Greim, Markus (14 de agosto de 2016). «Port of the Oberon RISC Emulator to [Ultibo]». GitHub. Consultado em 13 de fevereiro de 2021
- ↑ a b «Project Oberon emulator in Go». GitHub. 18 de setembro de 2021. Consultado em 13 de fevereiro de 2021
- ↑ de Jong, Roel P. (19 de outubro de 2018). «Oberon Workstation». Reactive Instruments. Consultado em 13 de fevereiro de 2021
- ↑ Wirth, Niklaus. Designing a System from Scratch. Structured Programming (1989) Vol. 10, pp. 10–18.
- ↑ Szyperski, Clemens A., Write: An extensible text editor for the Oberon system. Swiss Federal Institute of Technology in Zurich (1991). Report 151.
- ↑ Archives of the Oberon Website.
- ↑ «Fox Tool». Consultado em 19 de março de 2021. Cópia arquivada em 6 de fevereiro de 2018
- ↑ Crelier, Régis. «Separate Compilation and Module Extension». ETH Zurich. Consultado em 18 de novembro de 2018
- ↑ Wirth, Niklaus. «FPGA-related Work». ETH Zurich. Consultado em 12 de setembro de 2016
Ligações externas
editar- Sítio oficial, old ETH Oberon homepage, dead since Jan-2020, redirect to Archive.org: archived version
- Oberon article on WikiWikiWeb
- Genealogy and History of the Oberon System version at archive.org
- Oberon Bibliography
- Oberon compilers.
- 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 Desde 4 de março de 2020[update] at ETH Zurich's 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 at GWDG)
- Native Oberon Hardware Compatibility redirected to archive.org
- ETH PC Native Oberon, Usage Notes
- Lukas Mathis' Blog about Oberon A nice trace back to the history of user interfaces and Oberon.
- Oberon V4 main page at Johannes Kepler University Linz
- Oberon V4 Sources Collected sources for different V4 implementations at SourceForge and Oberon V4 for Linux, more information in the corresponding 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