Oberon (sistema operacional)

sistema operativo
(Redirecionado de Native Oberon)

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.

Oberon
Captura de tela
Oberon (sistema operacional)
Tiled window arrangement of Oberon
Produção Niklaus Wirth
Jürg Gutknecht
Linguagem Oberon
Modelo Open source
Lançamento 1987; há 38 anos[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.projectoberon.net
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

editar

O 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

editar

Native Oberon

editar
 
O instalador Oberon0 rodando no QEMU no Debian Wheezy. A apresentação do tabela de partição ilustra a facilidade de compreensão do sistema em geral.

O 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

editar

Em 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

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

Referências

  1. Kulka, Irena. «Oberon: Welcome to Oberon». ETH. Consultado em 27 de novembro de 2017. Cópia arquivada em 6 de janeiro de 2017 
  2. a b Wirth, Niklaus; Gutknecht, Jürg (1988). The Oberon System: Report Number 88 (PDF) (Relatório) 
  3. Wirth, Niklaus: The Programming Language Oberon. Software - Practice and Experience, 18:7, 671-690, Jul. 1988
  4. 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) 
  5. a b M. Reiser and N. Wirth: Programming in Oberon Addison-Wesley/ACM Press (1992) ISBN 0-201-56543-9. Out of print.
  6. 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).
  7. 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
  8. A. R. Disteli, Oberon for PC on an MS-DOS base, Technical Report #203 der ETH Zurich, November 1993, Reprint.
  9. J. Supcik, HP-Oberon, Technical Report #212 of the ETH Zurich, November 1993, Reprint.
  10. M. Franz, MacOberon Reference Manual, Technical Report #142 der ETH Zurich, November 1993, Reprint.
  11. J. Templ, Design and implementation of SPARC-Oberon. Structured Programming, 12, 197–205 (1991).
  12. 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.
  13. 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).
  14. a b H. Marais, Oberon System 3, Dr. Dobb's Journal, October 1994, pages 42-50.
  15. Pountain, Dick (maio de 1993). «Oberon: A Glimpse at the Future». Byte. 18 (5). p. 111ff – via Archive.org 
  16. Pountain, Dick (março de 1991). «Modula's Children, Part II: Oberon». Byte. 16 (3). pp. 135–142 – via Archive.org 
  17. Pountain, Dick (janeiro de 1995). «The Oberon/F System» (PDF). Byte. 20 (1). p. 227f – via Vintage Apple 
  18. Börner, T. (março de 1999). «Betriebssysteme: Native Oberon für den PC». Chip (em alemão). p. 131ff 
  19. Reed, Paul (21 de dezembro 2013). «[Oberon] Project Oberon, 2013 Edition». Consultado em 13 de fevereiro de 2021 
  20. Wirth, Niklaus (20 de fevereiro de 2014). Niklaus Wirth Birthday Symposium. ETH Zurich. Consultado em 13 de fevereiro de 2021 
  21. a b De Wachter, Peter (18 de agosto de 2020). «Oberon RISC Emulator». GitHub. Consultado em 13 de fevereiro de 2021 
  22. a b Schierl, Michael (19 de janeiro de 2021). «Project Oberon emulator in JavaScript and Java». GitHub. Consultado em 13 de fevereiro de 2021 
  23. 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 
  24. a b «Project Oberon emulator in Go». GitHub. 18 de setembro de 2021. Consultado em 13 de fevereiro de 2021 
  25. de Jong, Roel P. (19 de outubro de 2018). «Oberon Workstation». Reactive Instruments. Consultado em 13 de fevereiro de 2021 
  26. Wirth, Niklaus. Designing a System from Scratch. Structured Programming (1989) Vol. 10, pp. 10–18.
  27. Szyperski, Clemens A., Write: An extensible text editor for the Oberon system. Swiss Federal Institute of Technology in Zurich (1991). Report 151.
  28. Archives of the Oberon Website.
  29. «Fox Tool». Consultado em 19 de março de 2021. Cópia arquivada em 6 de fevereiro de 2018 
  30. Crelier, Régis. «Separate Compilation and Module Extension». ETH Zurich. Consultado em 18 de novembro de 2018 
  31. Wirth, Niklaus. «FPGA-related Work». ETH Zurich. Consultado em 12 de setembro de 2016 

Ligações externas

editar
 
O Wikilivros tem um livro chamado en:Oberon