Oberon (operační systém) - Oberon (operating system)

Oberon
OberonScreen.PNG
Kachlová okenní sestava Oberonu
Vývojář Niklaus Wirth
Jürg Gutknecht
Napsáno Oberon
Rodina OS Oberon
Pracovní stav Proud
Zdrojový model Otevřený zdroj
První vydání 1987 ; Před 34 lety ( 1987 )
K dispozici v Angličtina
Platformy Ceres ( NS32032 ), IA-32 , Xilinx Spartan a mnoho dalších
Typ jádra objektově orientovaný
Výchozí
uživatelské rozhraní
Textové uživatelské rozhraní
Licence Styl BSD
Předchází Medos-2
Oficiální webové stránky www .ethoberon .ethz .ch

Oberon Systém je modulární, single-user, single-process, multitasking operační systém napsaný v programovacím jazyku Oberon . Původně byl vyvinut na konci 80. let v ETH Curych . Systém Oberon má místo konvenčního rozhraní příkazového řádku (CLI) nebo grafické uživatelské rozhraní (GUI) nekonvenční vizuální textové uživatelské rozhraní (TUI ). Tento TUI byl ve své době velmi inovativní a ovlivnil design textového editoru Acme pro operační systém Plan 9 od Bell Labs .

Nejnovější verzi systému Oberon, Project Oberon 2013, stále udržuje Niklaus Wirth a několik spolupracovníků, ale starší verze systému ETH byly osiřelé. Systém se také vyvinul do víceprocesního, symetrického multiprocesingu (SMP) schopného A2 (dříve Active Object System (AOS), poté Bluebottle ), se zoomovacím uživatelským rozhraním (ZUI).

Dějiny

Operační systém Oberon byl původně vyvinut jako součást NS32032 založené Ceres pracoviště projektu. Byl napsán téměř celý (a od verze 2013 je popsán celý) v programovacím jazyce Oberon . Základní systém navrhli a implementovali Niklaus Wirth a Jürg Gutknecht a jeho návrh a implementace je plně zdokumentována v jejich knize „Project Oberon“. Odkaz na uživatelské rozhraní a programátory najdete v knize Martina Reisera „The Oberon System“. Později byl týmem v ETH Curych rozšířen a přenesen na jiný hardware a v populárních časopisech došlo k uznání. Wirth a Gutknecht (přestože jsou aktivními profesory informatiky ) se v knize Projekt Oberon označují jako „programátoři na částečný úvazek“ . Na konci roku 2013, několik měsíců před svými 80. narozeninami, vydal Wirth druhé vydání projektu Oberon. Podrobně popisuje implementaci systému Oberon pomocí CPU RISC (Reduced Instruction Set Computer ) podle jeho vlastního návrhu realizovaného na desce Xilinx Field-Programmable Gate Array (FPGA). Byl představen na sympoziu pořádaném k jeho 80. narozeninám v ETH Curych . Do té doby bylo implementováno několik emulátorů pro tuto verzi.

Podle Josefa Templa, bývalého člena vývojářské skupiny Švýcarského federálního technologického institutu v Curychu a pozdějšího člena Institut für Systemsoftware Univerzity Johannese Keplera v Linci , kde byla zachována jedna vidlicová verze (V4), genealogie různých verzí systému Oberon je toto:

Rok název Poznámka
1985 Zahájení projektu Oberon
1987 V1 Interní použití na ETHZ ; pouze jednoduchá zařízení pro úpravu textu
1991 V2 Rozšiřitelný textový model a speciální editor s názvem Write podporující tato rozšíření
1991 Systém 3 Rozšíření jádra podporující trvalé objekty a objektové knihovny podporující vkládání objektů a propojování objektů; Gadgets, Script (textový editor), Illustrate (grafický editor)
1992 Publikace Oberon Trilogy: „Project Oberon“, „The Oberon System“ a „Programming in Oberon“
1992 V4 Funkce zápisu integrované do standardního textového editoru
Rel. 1.4 Stolní počítače
1993 Rel. 1.5 Obecný dokumentový model
1994 V4 Hanspeter Mössenböck jmenovaný na JKU (Linz) , vývoj V4 se stěhuje tam
1995 Rel. 2.0 Prostor pro dokumenty rozšířen na celý internet; vylepšený editor bitmap: Rembrandt; online návody
2000 ETH-Oberon System-3 přejmenován na ETH-Oberon
2002 AOS Active Object System, také Active Oberon System, později přejmenovaný na Bluebottle, poté A2
2013 PO 2013 - V5 Re-implementace původního systému Oberon do FPGA

Uživatelské rozhraní

Oberon má textové uživatelské rozhraní (TUI), které se velmi liší od uživatelského rozhraní terminálu . Spojuje v sobě bod a klepněte na pohodlí v grafickém uživatelském rozhraní (GUI) s jazykovou pevnosti rozhraní příkazového řádku (CLI) a je úzce spjat s konvencí pojmenování jazyka Oberon. Text zobrazující se téměř kdekoli na obrazovce lze upravit a použít jako vstup příkazu . Příkazy se aktivují kliknutím prostředního tlačítka myši na textový fragment formuláře Module.Command(volitelně následují parametry, které jsou ukončeny ~). Příkaz je definován jakoukoli procedurou, která je exportována a má prázdný seznam argumentů. Parametry příkazu musí být definovány před provedením prostředního kliknutí a musí být explicitně zkontrolovány a načteny postupem. Během provádění příkazu nedochází k žádným kontrolám ani otázkám. Někdy se tomu říká nemodální uživatelské rozhraní (UI). Není potřeba nic jako příkazový řádek .

Přestože se TUI velmi liší od příkazového řádku, je velmi efektivní a výkonný. Prudké stoupání v křivce raného učení to zpočátku trochu ztěžuje. Nejsou kladeny žádné otázky: jedná se o záměrné návrhové rozhodnutí, na které je třeba si zvyknout. Většina editorů se uživatele ptá při zavírání upraveného textu: v systému Oberon tomu tak není. Použití TUI a programovacího rozhraní je plně dokumentováno v knize Martina Reisera „The Oberon System“. Krátký úvod do uživatelského rozhraní najdete na domovské stránce Niklause Wirtha . Pozdější verze systému Oberon, Oberon V4 (V4, někdy také pojmenované Linz-Oberon) a Oberon System 3 (nebo S3, někdy také pojmenované ETH-Oberon nebo Spirit of Oberon), vylepšily základní rozhraní o různé, ale nekompatibilní implementace pro tlačítka , rozevírací nabídky a další aktivní prvky. V4 k tomu používalo vyhrazený řídicí znak vložený do normálního textu na rozdíl od System 3, který rozšířil jádro zavedením trvalých objektů. Obě rozšíření obsahují velkou sadu prvků uživatelského rozhraní.

Zvládnutí uživatelského rozhraní Oberon, jak čistě textového, tak takzvaného Gadgets System (pod S3), není triviální. Po úspěšné instalaci systému Oberon System 3 se proto doporučuje prostudovat výukový program André Fischers Oberon System 3 . Rozšířená verze tohoto výukového programu byla vydána jako kniha, která nyní není k dispozici. Celá kniha je k dispozici v elektronické podobě pod jednou uživatelskou licencí v každé nainstalované verzi systému 3 (Windows, Linux nebo Native, tj. Také se sadou nástrojů Gadgets OLR). Další informace o tom, jak získat vlastní kopii Oberon Companion, naleznete v části Začínáme ve wikibooku Oberon.

Podobná uživatelská rozhraní se dosud neobjevila v běžnějších operačních systémech. Rob Pike ‚s Acme systém pro Plan 9 from Bell Labs byl silně inspirován Oberon TUI. Je těžké rozhodnout, zda rozhraní listu Workshopu Workshopu Macintoshe ovlivnilo Oberonův TUI nebo naopak: Oberon System byl založen na předchozím Wirthově počítačovém designu Lilith a jak Apple Macintosh (a jeho předchůdce Lisa ), tak Oberon System (na Ceres a jeho předchůdce Lilith) mají stejné kořeny: všechny byly inspirovány Altem vyvinutým v Xerox PARC .

Verze a dostupnost

V1 byla první použitelná verze nějakou dobu před vydáním Oberon Trilogy. Zásadní změna v textovém modelu spolu s editorem s názvem Write přinesly V2. Jak je uvedeno v tabulce v sekci Historie výše, na počátku devadesátých let minulého století došlo k zásadnímu rozmachu: V4 vs. System 3: Skupina kolem Jürga Gutknechta představila trvalé objekty a objektové knihovny, čímž rozšířila jádro. Skupina kolem Hanspetera Mössenböcka realizovala podobné funkce zavedením aktivních prvků namapovaných na speciální znak, čímž rozšířila písma bez změny jádra. Systém 3 byl někdy také nazýván Spirit of Oberon a později přejmenován na ETH Oberon, zatímco V4 byl někdy také nazýván Linz Oberon.

Podsystém Oberon v A2 na XO-1,5 .

Od roku 2017 je Oberon OS k dispozici pro několik hardwarových výpočetních platforem , obvykle v bezplatných verzích a z několika zdrojů, což je docela matoucí. Oberon OS je obvykle extrémně kompaktní. I s kompilátorem Oberon , různými nástroji včetně webového prohlížeče , sítí TCP/IP a grafického uživatelského rozhraní lze celý balíček komprimovat na jednu 3,5 " disketu . Existují verze, které emulovaly Oberon OS na jiném operačním systému a verze, které běží na holém hardwaru. Ty posledně jmenované jsou Native Oberon . Existují nativní verze pro platformy Ceres , Intel IA-32 a ARM . V roce 2013 Niklaus Wirth přizpůsobil základní systém, jak je popsáno v „Projektu Oberon“, na aktuální FPGA. design. Podle předmluvy vydání z roku 2013 se celý systém na desce Spartan-3 kompiluje za méně než 10 sekund. Tato verze se někdy také nazývá V5, přestože je funkčně mnohem podobnější původní V1 běžící na Ceres než kterákoli z novějších verzí.

Verze Oberon System 3, která je integrovanější v operačním systému Microsoft Windows než jiné implementace, dostala název Plugin Oberon. Plugin Oberon měl podporu pro OLE , Netscape Plugins a binární formát s názvem Oberon Module Interchange (OMI) nebo slim binaries , který umožňoval přenosný objektový kód mezi architekturami Intel x86 , Motorola 68K a PowerPC . Tenké binární soubory vynalezl Michael Franz na počátku 90. let minulého století. Byli motivovaní a stavěli se proti tlustým binárním souborům vynalezeným společností Apple během přechodu z 68k na architektury PowerPC. OMI poskytlo přenosný kód založený na komprimované verzi abstraktního stromu syntaxe. Ve světě Java je pro GraalVM a Truffle oživen přístup komprimovaného abstraktního stromu syntaxe pro přenosnou reprezentaci kódu .

Verze s názvem Oberon V4 (viz také Historie ) je bližší původnímu operačnímu systému vyvinutému Wirthem a Gutknechtem. Původně byl vyvinut na ETHZ, ale když HP Mössenböck přešel na Institut für Systemsoftware na univerzitě Johannes-Kepler v Linci (JKU) , posunul se také vývoj V4. Na rozdíl od ETH-Oberon se tedy V4 někdy také říká Linz-Oberon. Nejnovější verze V4 a rozšíření jsou k dispozici na JKU . Zdá se, že Oberon V4 osiřel, od roku 2000 nedošlo téměř k žádným změnám. Dalším úložištěm V4 je Oberon V4 Claudia Niedera , který také ukazuje rozdíl mezi různými implementacemi V4. Od roku 2013 se tato stránka přesunula do/je zrcadlena na SourceForge . V4 je blíže tomu, čemu by se nyní říkalo integrované vývojové prostředí, než vlastnímu operačnímu systému. Pro V4 bylo napsáno mnoho rozšíření, která jsou stále k dispozici na ftp serveru SSW na JKU ; nějakou dokumentaci lze najít na jejich webových stránkách , více informací je obvykle obsaženo v balíčcích a je uvedeno ve speciálním formátu RTON společnosti Oberon.

Kolem roku 2010 začalo oddělení počítačové vědy v ETH Curych zkoumat aktivní objekty a souběžnost pro operační systémy a vydalo ranou verzi nového jazyka Active Oberon a pro něj nový operační systém, nejprve pojmenovaný Active Object System (AOS) v roce 2002. , poté kvůli problémům s ochrannou známkou přejmenován na Bluebottle v roce 2005, poté přejmenován na A2 v roce 2008. Je k dispozici od ETH Zurich s většinou zdrojů přes internet . Nativní verze (A2) běží na holém hardwaru a v současné době jsou možné pro jedno- a víceprocesorové systémy Intel IA-32 a x86-64 a pro rodinu procesorů StrongARM . Verze pro jiné operační systémy jsou k dispozici pro Windows (WinAos), Unix (UnixAos), Linux (LinuxAos) a macOS (DarwinAos). Podrobnější informace o A2 jsou na stránkách ruské Wikipedie o A2 .

Jako součást průmyslového výzkumného projektu vyvinula skupina Native Systems Group ETH Zurich aplikačně specifický operační systém s názvem stailaOS, který je založen na nejnovější verzi Oberon OS. Je určen pro použití, jako je analýza v reálném čase , vysoce výkonný automatizovaný obchodní systém (ATS), plánování podnikových zdrojů založené na hlavní paměti (ERP) atd.

Nativní Oberon

Instalační program Oberon0 běžící na QEMU v Debianu Wheezy. Prezentace tabulky oddílů ilustruje srozumitelnost systému obecně.

Nativní Oberon je systém Oberon, který běží na holém hardwaru. PC-Native Oberon je verze, která běží na hardwaru počítače IA-32 (x86-32). Nativní Oberon V4 nikdy neexistoval, takže všechny informace v této části implicitně předpokládají, že jde o systém 3. Nativní Oberon má malé hardwarové požadavky: 133 MHz Pentium, 100 MB pevný disk, grafická karta VESA 2 s rozlišením minimálně 1024 x 768 pixelů, volitelně Síťová karta 3Com . Základní systém běží z jedné HD diskety a přes síť lze nainstalovat další software. Plná instalace obsahuje grafické uživatelské rozhraní Gadgets. Je napsán plně v jazyce Oberon.

Verze s názvem Linux Native Oberon (LNO) používá Linux jako vrstvu abstrakce hardwaru (HAL). Jeho cílem je být co nejkompatibilnější s PC-Native Oberon. Jiné verze systému Oberon, bez názvu Native , měly částečně upravená rozhraní nízkoúrovňových modulů. V roce 2015 Peter Matthias revitalizoval LNO pod názvem Oberon Linux Revival (OLR) jako multiplatformní distribuci běžící hladce na platformách Intel x86, ARM , MIPS a RISC-V . Dobře běží na Raspberry Pi a na levném počítači CHIP ; s určitým vylepšením (úprava členství ve skupině nebo oprávnění na některých zařízeních) funguje dobře na Tiny Core Linux . Rozhraní OLR s linuxovým jádrem pomocí přímých systémových volání . V červnu 2017 OLR postrádá síťovou vrstvu.

Projekt Oberon 2013

V roce 2013 Wirth a Paul Reed dokončili re-implementaci původního systému Oberon pro startovací desku Digilent Xilinx Spartan 3 FPGA . Práce obsahuje revizi „Project Oberon“, označeného jako Project Oberon (New Edition 2013) . V roce 2015 Reed spolupracoval s Victorem Yurkovským na vytvoření OberonStation , počítače na bázi Xilinx Spartan 3 navrženého speciálně pro provozování Oberonu. Systém byl od té doby přenesen na vývojovou desku Xilinx Spartan 6 FPGA Pepino od Saanlima Electronics a desku Xilinx Artix 7 na bázi Digilent Nexys A7-100 FPGA Trainer od CFB Software . Peter de Wachter pro něj implementoval emulátor , který byl také přenesen do Javy a JavaScriptu Michaelem Schierlem, běžícím v moderních prohlížečích , a portován do Free Pascal / Ultibo od Markuse Greima a Go . Andreas Pirklbauer udržuje na GitHubu experimentální verzi a rozšíření projektu Oberon 2013 .

Galerie

Glosář

  • A2 - Dříve Active Object System (AOS) v roce 2002, přejmenovaný na Bluebottle v roce 2005 kvůli problémům s autorskými právy, přejmenovaný na A2 v roce 2008.
  • ALO - ARM Linux Oberon; v rodině LNO a pro ARM CPU.
  • AOS - viz záznam A2 výše.
  • BB - BlackBox Component Builder. Součást Pascal IDE od Oberon Microsystems .
  • Bluebottle - viz záznam A2 výše.
  • CP - Pascal komponenty. Dialekt v rodině Oberonů nejvíce podobný Oberon-2.
  • ETHO - Oberon as vyvinutý na Švýcarském federálním technologickém institutu v Curychu: Eidgenössische Technische Hochschule (ETH).
  • Fox - kompilátor pro Active Oberon , který se objevuje v AOS (viz položka A2 výše).
  • LEO - Linux ETH Oberon. ETHO 2.4.3 pro Linux x86.
  • LNO - Linux Nativní Oberon.
  • NE - Nativní Oberon. Spouští se na holém hardwaru, nikoli na jiném operačním systému.
  • OLR - Oberon Linux Revival. Verze NO, která používá Linux jako HAL a běží na x86 , ARM a MIPS .
  • OP2-přenosný kompilátor Oberon-2. OP2 byl vyvinut k přenesení Oberonu na komerčně dostupné platformy.
  • PACO - (rozsah) PArallel COmpiler. Zobrazuje se v A2 (viz záznam výše). Kompiluje každý obor v nezávislém vlákně.
  • RISC5 - centrální procesorová jednotka (CPU) projektu Oberon 2013 založená na Wirthově architektuře RISC . Nesmí být zaměňována s RISC-V .
  • UnixAOS-Unixový AOS, viz záznam A2 výše.
  • WinAOS-Windows AOS, viz položka A2 výše.

Viz také

Reference

externí odkazy