Из Википедии, бесплатной энциклопедии
  (Перенаправлено из операционной системы Oberon )
Перейти к навигации Перейти к поиску

Система Oberon [3] - это модульная, однопользовательская, однопроцессная, многозадачная операционная система, написанная на языке программирования Oberon . [4] Первоначально он был разработан в конце 1980-х годов в ETH Zurich . Система Oberon имеет нетрадиционный визуальный текстовый пользовательский интерфейс (TUI) вместо обычного интерфейса командной строки (CLI) или графического пользовательского интерфейса (GUI). Этот TUI был очень инновационным в свое время и повлиял на дизайн текстового редактора Acme для Plan 9 из операционной системы Bell Labs .

Последняя версия системы Oberon, Project Oberon 2013, по-прежнему поддерживается Никлаусом Виртом и несколькими соавторами, но более старые версии системы ETH остались без внимания. Система также превратилась в операционную систему Bluebottle, поддерживающую многопроцессорную симметричную многопроцессорную обработку (SMP) , с масштабируемым пользовательским интерфейсом (ZUI).

История [ править ]

Операционная система Oberon первоначально была разработана как часть NS32032 -На Ceres рабочей станции проекта. Он был написан почти полностью (а с версии 2013 года полностью описан) на языке программирования Oberon . [5] Базовая система была разработана и внедрена Никлаусом Виртом и Юргом Гуткнехтом, и ее конструкция и реализация полностью задокументированы в их книге «Project Oberon». [6] Пользовательский интерфейс и ссылки для программистов можно найти в книге Мартина Райзера «Система Оберон». [7] Позднее он был расширен и перенесен на другое оборудование [8] [9] [10] [11] [12] командой ETH Zurich, и это было признано в популярных журналах. [13] [14] [15] [16] [17] [18] Вирт и Гуткнехт (хотя и являются активнымипрофессорами информатики ) в книге « Проект Оберон» называют себя «программистами по совместительству». [6] В конце 2013 года, за несколько месяцев до своего 80-летия, Вирт опубликовал второе издание проекта «Оберон». [19] В нем подробно описывается реализация системы Oberon с использованиемпроцессора компьютера с сокращенным набором команд (RISC) его собственной разработки, реализованного на программируемой вентильной матрице Xilinx.(ПЛИС) плата. Он был представлен на симпозиуме [20], организованном к его 80-летию в ETH Zurich . Тем временем было реализовано несколько эмуляторов для этой версии.[21] [22] [23] [24]

По словам Йозефа Темпла, бывшего члена группы разработчиков Швейцарского федерального технологического института в Цюрихе, а затем члена Института системного программного обеспечения Университета Иоганна Кеплера в Линце , где поддерживалась одна разветвленная версия (V4), генеалогия разных версии системы Оберон это:

Пользовательский интерфейс [ править ]

Оберон имеет текстовый пользовательский интерфейс (TUI), который сильно отличается от пользовательского интерфейса терминала . Он сочетает в себе удобство графического пользовательского интерфейса (GUI) наведения и щелчка с лингвистической мощью интерфейса командной строки (CLI) и тесно связано с соглашениями об именах, принятыми в языке Oberon. Текст, появляющийся практически в любом месте экрана, можно редактировать и использовать в качестве ввода команд . Команды активируются щелчком средней кнопки мыши [28] на текстовом фрагменте формы (опционально с параметрами, которые заканчиваютсяModule.Command~). Команда определяется любой процедурой, которая экспортируется и имеет пустой список аргументов. Параметры команды должны быть определены до выполнения среднего щелчка, и должны быть явно просканированы и получены процедурой. Во время выполнения команды не возникает никаких проверок или вопросов. Иногда это называют немодальным пользовательским интерфейсом (UI). Ничего подобного командной строке не требуется.

Хотя TUI сильно отличается от командной строки, он очень эффективен и мощен. [29] Крутой подъем в кривой раннего обучения сначала усложняет задачу. Никаких вопросов: это осознанное дизайнерское решение, к которому нужно привыкать. Большинство редакторов спрашивают пользователя при закрытии измененного текста: в системе Oberon это не так. Использование TUI и интерфейса программирования полностью описано в книге Мартина Райзера «Система Оберон». [7] Краткое введение в пользовательский интерфейс можно найти на домашней странице Никлауса Вирта . [30] Более поздние версии System Oberon, Oberon V4 (V4, иногда также называемого Linz-Oberon) и Oberon System 3(или S3, иногда также называемый ETH-Oberon или Spirit of Oberon), улучшил базовый интерфейс с различными, но несовместимыми реализациями для кнопок, раскрывающихся меню и других активных элементов. V4 использовал для этой цели специальный управляющий символ, встроенный в обычный текст, в отличие от System 3, которая расширила ядро, добавив постоянные объекты. Оба расширения включают в себя большой набор элементов пользовательского интерфейса.

Освоение пользовательского интерфейса Oberon, как чисто текстового, так и так называемой системы гаджетов (в S3), нетривиально. Таким образом, после успешной установки Oberon System 3 рекомендуется изучить руководство André Fischers Oberon System 3 . Расширенная версия этого учебного пособия была опубликована в виде книги [31], которая сейчас распродана. Вся книга доступна в электронной форме под одной пользовательской лицензией в каждой установленной версии Системы 3 (Windows, Linux или Native, т. Е. Также с набором инструментов Gadgets OLR [32] ). Дополнительную информацию о том, как получить собственную копию Oberon Companion, можно найти в разделе « Начало работы » викибука Oberon.

Подобные пользовательские интерфейсы еще не появились в более распространенных операционных системах. Rob Pike «s Acme система Plan 9 от Bell Labs был сильно вдохновлен Оберон TUI. Трудно решить, повлиял ли интерфейс рабочего листа Macintosh Programmer's Workshop на TUI Oberon или наоборот: система Oberon была основана на предыдущем компьютерном дизайне Вирта - Lilith , а также на Apple Macintosh (и его предшественнике Lisa ) и системе Oberon (на Ceres и ее предшественница Lilith) имеют одни и те же корни: все они были вдохновлены Alto, разработанным в Xerox PARC .

Версии и доступность [ править ]

V1 была первой используемой версией незадолго до публикации Трилогии Оберона [5] [6] [7] . Существенное изменение в текстовой модели вместе с редактором Write [26] привело к появлению версии V2. Как показано в таблице в истории раздела выше, в начале 1990-х годов произошел главный форк: V4 против Системы 3: группа вокруг Юрга Гуткнехта представила постоянные объекты и объектные библиотеки, тем самым расширив ядро. Группа вокруг Ханспетера Мёссенбёкареализовал аналогичные функции, введя активные элементы, сопоставленные со специальным символом, тем самым расширяя шрифты без изменения ядра. Систему 3 иногда также называли Spirit of Oberon, а затем переименовали в ETH Oberon, тогда как V4 иногда также называли Linz Oberon.

Подсистема Oberon в A2 на XO-1.5 .

По состоянию на 2017 год ОС Oberon доступна для нескольких аппаратных вычислительных платформ , как правило, в бесплатных версиях и из нескольких источников, что довольно сбивает с толку. ОС Oberon обычно чрезвычайно компактна. Даже с компилятором Oberon , различными утилитами, включая веб-браузер , сеть TCP / IP и графический интерфейс, полный пакет можно сжать на одну 3,5- дюймовую гибкую дискету . Существуют версии, которые эмулировали ОС Oberon в другой операционной системе, и версии, которые работают на голом оборудовании. Последние называются Native Oberon . Существуют собственные версии для Ceres , Intel IA-32 и ARM.платформы. В 2013 году Никлаус Вирт адаптировал базовую систему, описанную в «Project Oberon» [6], к текущему проекту FPGA . Согласно предисловию к изданию 2013 года, вся система компилируется менее чем за 10 секунд на плате Spartan-3. Эта версия иногда также называется V5, несмотря на то, что функционально она намного больше похожа на исходную версию V1, работающую на Ceres, чем на любую из более поздних версий.

Версия Oberon System 3 [14], которая была интегрирована в ОС Microsoft Windows, получила название Plugin Oberon. [33] Плагин Oberon поддерживал двоичный формат Oberon Module Interchange (OMI) или тонкие двоичные файлы , что позволяло переносить объектный код между архитектурами Intel x86, Motorola 68k и PowerPC . Тонкие двоичные файлы были изобретены Майклом Францем в начале 1990-х годов. Они были мотивированы и выступали против толстых двоичных файлов, изобретенных Apple во время перехода от архитектуры 68k к архитектуре PowerPC. [34] OMI предоставила переносимый код на основе сжатой версии абстрактного синтаксического дерева. Возрожден подход сжатого абстрактного синтаксического дерева дляGraalVM и Truffle .

Версия под названием Oberon V4 (см. Также Историю ) ближе к исходной операционной системе, разработанной Виртом и Гуткнехтом. Первоначально он был разработан в ETHZ, но когда HP Mössenböck перешел в Institut für Systemsoftware в Университете Йоханнеса-Кеплера в Линце (JKU) , разработка V4 также переместилась. Таким образом, V4 иногда также называют Linz-Oberon в отличие от ETH-Oberon. Самая последняя версия V4 и расширения доступны на JKU . Oberon V4 кажется осиротевшим, с 2000 года почти нет изменений. Другой репозиторий V4 - это Oberon V4 Клаудио Нидера , который также показывает разницу между различными реализациями V4. С 2013 года эта страница перемещена / отображается на SourceForge. V4 ближе к тому, что сейчас назвали бы интегрированной средой разработки, чем к собственной операционной системе. Для V4 было написано много расширений, которые все еще доступны с ftp-сервера SSW в JKU ; некоторую документацию можно найти на их веб-страницах , дополнительная информация обычно включается в пакеты и предоставляется в специальном текстовом формате Oberon.

Примерно в 2010 году отдел информатики ETH Zurich начал изучение активных объектов и параллелизма для операционных систем и выпустил раннюю версию нового языка Active Oberon и новую операционную систему для него, сначала названную AOS, а из-за проблем с товарным знаком , теперь называется A2 и / или Bluebottle . Он доступен в ETH Zurich из большинства источников в Интернете . Собственные версии (A2), т. Е. Работающие на голом оборудовании, в настоящее время доступны для одно- и многопроцессорных систем Intel IA-32 и x86-64, а также для StrongARMСемейство ЦП, версии, работающие в других операционных системах, доступны в Windows (WinAos), Unix (UnixAos), Linux (LinuxAos) и macOS (DarwinAos). Более подробная информация о A2 есть на страницах русской Википедии об A2 .

В рамках промышленного исследовательского проекта [35] группа Native Systems из ETH Zurich разработала операционную систему для конкретных приложений под названием stailaOS, которая основана на последней версии Oberon OS. Он предназначен для таких целей, как аналитика в реальном времени , высокопроизводительная автоматизированная торговая система (ATS), планирование ресурсов предприятия (ERP) на основе оперативной памяти и т. Д.

Родной Оберон [ править ]

Установщик Oberon0, работающий под QEMU в Debian Wheezy. Представление таблицы разделов демонстрирует понятность системы в целом.

Native Oberon [36] означает систему Oberon, работающую на голом оборудовании. PC-Native Oberon - это версия операционной системы Oberon, которая работает на аппаратном обеспечении ПК IA-32 (x86-32) . V4 Native Oberon никогда не существовало, поэтому каждая информация в этом разделе неявно предполагает, что это System 3. Native Oberon имеет минимальные требования к оборудованию (Pentium 133 МГц, жесткий диск 100 МБ и графическая карта VESA 2 с разрешением не выше минимум 1024x768 пикселей, опционально сетевая карта 3COM). Базовая система работает с одной дискеты HD, и через сеть можно установить больше программного обеспечения. Полная установка включает графический интерфейс Gadgets . Он полностью написан на языке программирования Оберон .

Также существует версия под названием LNO (аббревиатура от Linux Native Oberon), которая использует Linux в качестве уровня абстракции оборудования (HAL). Его цель заключалась в том, чтобы быть максимально совместимой с PC-Native Oberon. Другие версии системы Oberon, то есть без названия Native , имели частично модифицированные интерфейсы модулей низкого уровня. В 2015 году Питер Матиас возродил LNO под названием OLR [32] (Oberon Linux Revival) как многоплатформенный дистрибутив, работающий без проблем под Intel x86, RISC-V , MIPS и ARM . Он хорошо работает на Raspberry Pi и на недорогом компьютере с чипом.; с некоторыми настройками (настройка членства в группах и / или разрешений на некоторых устройствах) он хорошо работает на Tiny Core Linux . OLR взаимодействует с ядром Linux с помощью прямых системных вызовов . По состоянию на июнь 2017 года в OLR отсутствует сетевой уровень.

Проект Оберон 2013 [ править ]

В 2013 году Вирт и Пол Рид завершили повторную реализацию оригинальной системы Oberon для стартовой платы Digilent Xilinx Spartan 3 FPGA . Работа включает в себя пересмотр "Project Oberon" [6], обозначенного как Project Oberon (New Edition 2013) . В 2015 году Рид в сотрудничестве с Виктором Юрковским создал OberonStation , компьютер на базе Xilinx Spartan 3, разработанный специально для работы с Oberon. Система с тех пор была портирована на Xilinx Spartan 6 FPGA развития борту Pepino по Saanlima Electronics и Xilinx Артикс 7 -На Digilent Nexys A7-100 FPGA тренер доска поCFB Software . Питер де Вахтер реализовал эмулятор для него, который также был портирован на Java и JavaScript Майкла Schierl, работает в современных браузерах , и портирован на Free Pascal / Ultibo от Markus Greim . [21] [22] [23] Андреас Пирклбауэр поддерживает экспериментальную версию и расширения Project Oberon 2013 на GitHub .

Галерея [ править ]

  • Оберон на планшете Tatung TWN-5213 CU.

Глоссарий [ править ]

A2 , Другое название системы активных объектов, 2003.
ALO , ARM Linux Oberon; в семействе LNO и для процессоров ARM.
AOS , Active Object System, 2002. Переименован в A2 из-за слухов о проблемах с авторскими правами. [27]
BB , Конструктор компонентов BlackBox. Компонент Pascal IDE от Oberon Microsystems .
Bluebottle OS , Другое название системы активных объектов, 2003.
CP , Component Pascal. Диалект семейства Оберонов, наиболее похожий на Оберон-2.
ETHO , Oberon, разработанный Швейцарским федеральным технологическим институтом в Цюрихе (Eidgenössische Technische Hochschule (ETH)), Цюрих.
Fox , компилятор для Active Oberon, появляющийся в AOS (= A2 = Bluebottle ).
LEO , Linux ETH Oberon. ETHO 2.4.3 для Linux x86.
LNO , Linux Native Oberon.
НЕТ , Родной Оберон. Оберон работает на голом оборудовании, а не на другой операционной системе.
OLR , возрождение Oberon Linux. Версия NO, которая использует Linux в качестве HAL и работает на x86 , ARM и MIPS .
OP2 , портативный компилятор Оберон-2. OP2 был разработан для переноса Oberon на коммерчески доступные платформы. [37]
PACO , (объем) PArallel COmpiler. Появляется в A2. Компилирует каждую область видимости в независимом потоке.
RISC5 ,центральный процессор (CPU) Project Oberon 2013 на основе RISC- архитектуры Wirth . [38] Не путать с RISC-V .
UnixAOS , AOS на основе Unix.
WinAOS , AOS на базе Windows.

См. Также [ править ]

  • ОС Bluebottle
  • Оберон (язык программирования)
  • Язык программирования Оберон-2

Ссылки [ править ]

  1. ^ Kulka, Ирена. «Оберон: Добро пожаловать в Оберон» . ETH . Архивировано из оригинала на 6 января 2017 года . Проверено 27 ноября 2017 года .
  2. ^ Лицензия ETH
  3. ^ a b Никлаус Вирт и Юрг Гуткнехт: (1988) Система Оберон. Отчет № 88 .
  4. ^ Вирт, Никлаус: язык программирования Оберон. Программное обеспечение - практика и опыт, 18: 7, 671-690, июль 1988 г.
  5. ^ a b c М. Райзер и Н. Вирт: Программирование в Обероне Аддисон-Уэсли / ACM Press (1992) ISBN 0-201-56543-9 . Из печати. 
  6. ^ Б с д е е Н. Вирта и Ж. Гуткнехт: Проект Оберон - дизайн операционной системы и компилятора Addison-Wesley / ACM Press (1992) ISBN 0-201-54428-8 . Из печати. Онлайн-версия второго издания . 
  7. ^ a b c d Рейзер, Мартин: "Система Oberon - Руководство пользователя и Руководство программиста" - Распечатано - Addison-Wesley / ACM Press (1991) ISBN 0-201-54422-9 
  8. ^ AR Disteli, Oberon для ПК на базе MS-DOS, технический отчет # 203дер - ETH Zurich , ноябрь 1993 года, Reprint .
  9. ^ J. Supcik, HP-Оберон, технический отчет # 212 из ETH Zurich , ноябрь 1993, Дополнительный тираж .
  10. ^ М. Франц, Справочное руководство MacOberon, Технический отчет № 142 der ETH Zurich , ноябрь 1993 г., переиздание .
  11. ^ Дж. Темпл, Дизайн и реализация SPARC-Oberon. Структурированное программирование, 12, 197–205 (1991).
  12. ^ М. Брандис, Р. Крелье, М. Франц, Дж. Темпл, Семейство систем Оберон. Программное обеспечение - практика и опыт, Vol. 25 (12), 1331-1366, декабрь 1995 года также: Технический отчет 174 из ETH Zurich .
  13. ^ Р. Герике, Wider den Schnickschnack. Система Оберон, часть 1: Anwendersicht. c't 1994 (2) с. 180, часть 2: Technische Einblicke. c't 1994 (3), стр. 240 (немецкий язык).
  14. ^ a b c Х. Марэ, Система Оберон 3, Журнал доктора Добба, октябрь 1994 г., страницы 42-50 .
  15. ^ Pountain, Dick (май 1993). «Оберон: взгляд в будущее» . Байт . Vol. 18 нет. 5. п. 111ff - через Archive.org.
  16. ^ Pountain, Dick (март 1991). «Дети Модулы. Часть II: Оберон» . Байт . Vol. 16 нет. 3. С. 135–142 - через Archive.org.
  17. ^ Pountain, Dick (январь 1995). "Система Оберон / Ф" (PDF) . Байт . Vol. 20 нет. 1. п. 227f - через Vintage Apple.
  18. Börner, T. (март 1999 г.). "Betriebssysteme: Native Oberon für den PC". Чип (на немецком языке). п. 131ff.
  19. Рид, Пол (21 декабря 2013 г.). «[Оберон] Проект Оберон, издание 2013 года» . Проверено 13 февраля 2021 года .
  20. Шульте, Олаф А. (20 февраля 2014 г.). Симпозиум по случаю дня рождения Никлауса Вирта . ETH Zurich . Проверено 13 февраля 2021 года .
  21. ^ a b Де Вахтер, Питер (18 августа 2020 г.). «Эмулятор Oberon RISC» . GitHub . Проверено 13 февраля 2021 года .
  22. ^ a b Ширль, Майкл (19 января 2021 г.). «Эмулятор Project Oberon на JavaScript и Java» . GitHub . Проверено 13 февраля 2021 года .
  23. ^ a b Грейм, Маркус (14 августа 2016 г.). «Перенос RISC-эмулятора Oberon на [Ultibo]» . GitHub . Проверено 13 февраля 2021 года .
  24. de Jong, Roel P. (19 октября 2018 г.). «Рабочее место Оберон» . Реактивные инструменты . Проверено 13 февраля 2021 года .
  25. Вирт, Никлаус. Проектирование системы с нуля. Структурированное программирование (1989) Vol. 10. С. 10–18.
  26. ^ a b Szyperski, Clemens A., Write: расширяемый текстовый редактор для системы Oberon. Швейцарский федеральный технологический институт в Цюрихе (1991). Репортаж 151 .
  27. ^ a b Мюллер, Питер Йоханнес, Разработка системы активных объектов и многопроцессорная реализация. Швейцарский федеральный технологический институт в Цюрихе (2002 г.). pdf
  28. ^ Использование мыши и клавиатуры http://www.ethoberon.ethz.ch/ethoberon/tutorial/Mouse.contents.html
  29. ^ Франц, Майкл (2000). "Оберон: Незаметная жемчужина". В Бёсёрмень, Ласло; Гуткнехт, Юрг ; Помбергер, Густав (ред.). Школа Никлауса Вирта: Искусство простоты . Издательство Морган Кауфманн. С. 41–53. CiteSeerX 10.1.1.90.7173 . ISBN  1-55860-723-4.
  30. ^ Вирт, Никлаус (2015). «Как пользоваться системой Оберон» (PDF) . Проверено 24 ноября +2016 .
  31. Андре Фишер и Ханнес Марэ: Оберон-компаньон. Руководство по использованию и программированию системы Oberon 3. vdf Hochschulverlag AG (1997). ISBN 978-3728124937 , распродано, но см. Примечания вразделе « Начало работы» викибука Oberon 
  32. ^ a b Матиас, Питер. «Возрождение Оберон Линукс» . Проверено 31 августа 2016 года .
  33. Перейти ↑ Zeller, Emil Johann (2002). «Детальная интеграция Oberon в Windows с использованием подключаемых объектов» (PDF) .
  34. ^ Франц, Майкл (1 марта 1994). Генерация кода на лету: ключ к портативному программному обеспечению . Цюрих: Verlag der Fachvereine Hochschulverlag AG an der ETH Zurich. ISBN 978-3728121158.
  35. ^ StailaOS (ETHZ) Страница проекта архивации 2011-10-04 в Wayback Machine
  36. ^ Архивы веб-сайта Оберон .
  37. ^ Crelier, Régis. «Раздельная компиляция и расширение модуля» . ETH Zurich . Проверено 18 ноября 2018 .
  38. Вирт, Никлаус . «Работа, связанная с FPGA» . ETH Zurich . Проверено 12 сентября +2016 .

Внешние ссылки [ править ]

  • Официальный сайт , старая домашняя страница ETH Oberon, не работающая с января 2020 года, перенаправление наArchive.org:заархивированная версия
  • Оберон в Викиучебнике
  • Статья Оберона на WikiWikiWeb
  • Генеалогия и история версии системы Оберон на archive.org
  • Библиография Оберона
  • Компиляторы Оберон.
  • Установите ETH Oberon с помощью QEMU
  • Bluebottle / Aos / A2 Эволюция Native Oberon с поддержкой многопроцессорных систем с активными объектами (вида потоков , работающих на отдельных процессорах, если таковой имеется) и пользователем масштабирования интерфейса доступен от 4 марта 2020 года в ETH Zurich «s Redmine экземпляре.
  • Собственная домашняя страница Oberon перенаправлена ​​на Archive.org (май 2016 г. - этот сайт имеет неработающие URL-адреса в ссылках на ftp-сервер; файлы были перемещены с ftp://ftp.inf.ethz.ch/pub/ETHOberon/ на ftp: //ftp.ethoberon.ethz.ch/ )
  • Собственная аппаратная совместимость Oberon перенаправлена ​​на archive.org
  • ETH PC Native Oberon, примечания по использованию
  • Блог Лукаса Матиса об Oberon Хороший отклик на историю пользовательских интерфейсов и Oberon.
  • Главная страница Oberon V4 в Линцском университете имени Иоганна Кеплера
  • Источники Oberon V4 Собраны исходники для различных реализаций V4 на SourceForge и Oberon V4 для Linux, более подробная информация в соответствующей вики .
  • http://www.projectoberon.com/, Проект Оберон.
  • Экспериментальный Оберон
  • WinOberon, также известный как плагин Oberon версии 2.6, предоставленный Эмилем Зеллером Александру Илджину около 2010 г.
  • Учебное пособие по Oberon System 3 от Андре Фишера (1997 г.), архивная версия