Оберон (операционная система)

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Oberon (операционная система)»)
Перейти к навигации Перейти к поиску
Скриншот ОС Oberon (ETH), на экране несколько окон с текстом и графикой.

Oberon — операционная система, разработанная Никлаусом Виртом и Юргом Гуткнехтом  (нем.) (ETHZ) для однопользовательской рабочей станции Ceres в рамках «Проекта Оберон»[1]. Как писали авторы, главной целью проекта было «спроектировать и реализовать всю систему с нуля, и структурировать её таким образом, чтобы её можно было описать, объяснить и понять целиком». В самом деле, книга[1] объёмом 550 страниц содержит полное описание системы вместе с исходными текстами.

Oberon написана на разработанном в рамках этого проекта одноимённом языке программирования. Она наследует предыдущему проекту Вирта и Гуткнехта — операционной системе для персональной рабочей станции Lilith (англ.), а также ОС Cedar, разработанной в Исследовательском центре корпорации Xerox в Пало-Альто (Xerox PARC), где Вирт и Гуткнехт провели годовой академический отпуск в 1984—1985 годах. Именно знакомство с мощной, но сложной и неустойчивой ОС Cedar побудило Вирта и Гуткнехта начать «Проект Оберон».[1]

В системе Оберон весьма элегантно и минималистично реализован ряд технических идей (начиная с языка реализации), которые удобно обозначать как Оберон-технологии, потому что, хотя и не все из этих идей по отдельности являлись совершенно новыми, но во всяком случае их отбор и тщательная интеграция в единой весьма надежной системе, — которая является образцом тщательного общего дизайна и тщательной проработки деталей, — несомненная заслуга Вирта и Гуткнехта. Влияние идеологии проекта Оберон можно проследить, например, в системах LabVIEW и Inferno.

Доказательством эффективности Оберон-технологий стал тот факт, что ОС Оберон была в короткие сроки перенесена аспирантами Вирта и Гуткнехта на несколько разных платформ, включая Amiga, PC и другие[2].

В настоящее время доступны версии системы для разных платформ.[3].

Взаимодействие Oberon с пользователем основано на подходе текст как интерфейс. Существует и графический интерфейс пользователя с поддержкой протоколов FTP, Telnet, HTTP, Ethernet и других[4].

Oberon — модульная система: все компоненты системы подгружаются по мере необходимости.

Последняя версия операционной системы — 2.3.6, выпущена в 2000 году[4].

Наследником Oberon стал Active Oberon (AOS)[5], который разрабатывается в ETHZ с участием Oberon Community.


Программирование в системе Oberon подразумевает расширение среды выполнения Oberon. В современном течении, программирование - это написание программы. После написания, программа запускается, запрашивает входные данные, выполняет вычисления, а затем выводит результат. Это может происходить много раз, пока программа не завершится и не освободит использованные ресурсы.

В Обероне нет программ. Программы - это пережиток тех времен, когда у компьютеров было мало памяти и других ресурсов. Программы ждут своей очереди, пока пользователь не решит их выполнить. После завершения программа удаляет себя из памяти, чтобы освободить место для следующей программы. Связь между программами, выполняющимися в разное время, происходит путем сохранения данных в энергонезависимом хранилище. Однако сегодня компьютеры имеют больше памяти, и программы выполняются одновременно друг с другом (многозадачность) и ресурсы компьютера делятся между всеми запущенными программами. Но к сожалению, коммуникация между разными программами продвинулась не намного дальше, чем в ранние времена пакетной обработки, что делает взаимодействие программ трудной задачей.

   Причину такого положения дел можно проследить в технологии написания программ. Если бы программа делает неправильные вещи, она может повредить целостность системы и тем самым негативно повлиять на другие программы, работающие на компьютере. Большинство современных языков программирования позволяют программисту писать программы, которые могут разрушить систему. Вместо того чтобы решать проблему в корне (на уровне языка программирования), системы начали использовать концепцию защиты памяти. При использовании защиты памяти программа закрыта "щитом", не позволяющим другим программам повредить ее. Но эта защита также препятствует легкому общению и взаимодействию между разными программами.

   В отличие от всего этого, система Oberon является примером открытой и расширяемой системы. Открытость означает, что практикуется высокий уровень взаимодействия, и повторного использования кода между приложениями. Расширяемость означает, что любой может добавить новую часть к системе Oberon. Эта новая часть может использовать часть, добавленную кем-то другим, или сама может быть использована другой частью, добавленной позже. Чтобы достичь такой гибкости, Oberon полностью отказывается от понятия "программа" и вместо этого предлагает две концепции: модули и безопасность типов.


К особенностям системы Oberon относятся:


- Быстрая компиляция.

- Новый подход к редактированию текста (и не только текста) использующий трехкнопочную мышь и "интерклики" ускоряющие операции редактирования.

- Простая и надежная, плоская файловая система исключающая коллизии путей к файлу, избавляющая от многих проверок и облегчающая разработку приложений.

- Динамическое связывание модулей во время выполнения.

- Четкая модульная структура. Включает модули для нескольких полезных типов данных, таких как текст, шрифты и изображения. Большая степень повторного использования кода приводит к созданию очень компактных приложений.

- Стандартные модули ввода/вывода.

- Встроенный и быстрый сборщик мусора для сбора неиспользуемых объектов. Поддерживается финализация объектов.

- Однопроцессная многозадачность с поддержкой некритичных задач, выполняемых в фоновом режиме. Общее 32-битное адресное пространство для модулей.  

- Исключения приводят к отображению трассировки стека. Возможность прямого просмотра состояния запущенного модуля.

- Возможность вызова "командных" процедур непосредственно из пользовательского интерфейса.

- Полностью безмодельный графический интерфейс пользователя с поддержкой графических примитивов. Одновременная поддержка как перекрывающихся, так и плиточных оконных систем.

- Возможность конфигурирования рабочей среды.

- Поддержка базовой иерархической файловой системы (Apple HFS, файловая система DOS) и WYSIWYG-печати через драйверы хост-принтеров.

- Поддержка шрифтов TrueType.

- Возможность прямой печати в postscript и инкапсулированный postscript.

- Поддержка постоянных объектов. Объекты и файлы данных переносимы между всеми системами Oberon. Поддержка прикрепления кода к объектам, чтобы они стали переносимыми между различными реализациями Oberon.  

- Компонентная структура, позволяющая интерактивно создавать и модифицировать графические приложения без программирования. Включен большой набор полезных и расширяемых компонентов. Можно писать новые компоненты или расширять существующие. Поддержка модели MVC.

- Динамическая настройка компонентов с помощью инспекторов. Возможность "разблокировать" существующие приложения и модифицировать их для собственных целей.

- Стандартный редактор текстов и документов с поддержкой встроенных объектов.

- Настраиваемые пользователем клавиатурные макросы. Компилятор компилирует непосредственно из текстового окна.

- Пользовательский интерфейс на основе документов с возможностью генерации динамических документов.

- Полная интеграция с сетями TCP/IP с поддержкой сетевых документов.

Примечания[править | править код]

  1. 1 2 3 N. Wirth and J. Gutknecht. Project Oberon. Addison-Wesley, 1992.
  2. С.Свердлов. Язык программирования Оберон (июль 1999). Дата обращения: 7 июня 2008. Архивировано 14 февраля 2011 года. Раздел «Оберон-системы».
  3. ETH - Oberon - Downloads
  4. 1 2 Native Oberon Operating System (англ.) (26 января 2003). Дата обращения: 25 октября 2010. Архивировано из оригинала 2 сентября 2010 года.
  5. Active Oberon System (англ.). Архивировано 8 августа 2012 года.

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

См. также[править | править код]