Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Проект Oberon






Осенью 1985 г. Вирт и его коллега Юрг Гуткнехт начинают проект Oberon. Вновь создавалась триада " язык-компьютер-ОС". На этот раз акцент переносился на ОС и произошло более четкое разделение труда. Вирт проектировал язык и писал компилятор, Ганс Эберле конструировал компьютер, а Гуткнехт создавал систему Oberon. На самом деле работы над новым компьютером начались немного раньше. Дальнейшее развитие Lilith поставило, по словам Вирта, задачу создания " современной, гибкой и эффективной операционной системы для однопользовательской рабочей станции". Поначалу казалось, что этого можно было добиться в рамках Medos и Modula-2. Лишь затем стало ясно, что нужны более кардинальные шаги. Если Lilith (архитектор — Ричард Оран) создавался на основе микропроцессоров AMD2901 фирмы Advanced MicroDevices, то Ceres (так звали новый компьютер, в честь богини Цереры) использовал 32-разрядный процессор NS32032 фирмы National Semiconductor (затем ужеNS32532 и NS32GX32). Вслед за серией Ceres в ETH был разработан компьютер Chameleon (Хееби Пфистер). Первой ОС была Medos, да и первый компилятор Оберона создавался на языке Modula-2 (Вирт).

Системе Oberon предшествовали исследования, которые проводились в ETH в 1981—1985 гг. на Lilith Юргом Гуткнехтом и его коллегами, Винигером и Шером. Сначала появился редактор Andra с поддержкой всевозможных окон, шрифтов, средств композиции страницы, а затем и редактор Lara. Примерно в тот же период Вирт разработал графический редактор и завершил работы над новым однопроходным компилятором языка Modula-2.

К середине 1988 г. уже был готов компилятор для экспериментальной рабочей станции Ceres-2 (на базе NS-32532) и прошли первые публикации Вирта (в апреле и июле; сначала " Type Extensions" в ACM Transactions on Programming Languages and Systems, а затем " From Modula to Oberon" в Software Practice & Experience).

" Компилятор Оберона был реализован для процессоров семейства NS32000 и был встроен в операционную среду Oberon. Этот компилятор требует менее 50 Кбайт памяти, состоит из 6 модулей общим размером около 4000 строк исходного текста и сам себя компилирует примерно за 15 секунд на рабочей станции с 25 МГц процессором типа NS32532 ". Никлаус Вирт (1988)

Вторая стадия проекта Oberon наступила летом 1991 г., когда было положено начало так называемой Oberon System 3.

" Графические интерфейсы ныне используются повсеместно, и игнорировать это проявление духа времени не может себе позволить ни одна серьезная операционная система. Поэтому летом 1991 г. мы приступили ко второй стадии проекта Oberon. Однако, в ту пору мы хотели не просто облачить по сути " голую" систему Oberon в нарядные GUI-одежды, но и сделать важный шаг вперед. Несколько раздвигая границы устоявшихся представлений, мы сразу стали рассматривать графический интерфейс как набор истинных визуальных объектов". Ю. Гуткнехт (1994)

О системе Oberon следует говорить куда более обстоятельно, чем это позволяют рамки данной статьи. Здесь же упомяну, что многие ключевые идеи взяты на вооружение современной ИТ-индустрией из системы Oberon: динамическая компиляция и аплеты, смарт-теги и Digital Dashboard, концепция интеллектуального документа и веб-службы.

Одно из наиболее перспективных направлений дальнейшего развития Oberon — превращение его в усовершенствованную общую платформу для предоставления услуг удаленным пользователям; слово " усовершенствованную" мы понимаем в данном случае как гибкую, высоко интегрированную и индивидуализированную. К настоящему времени мы провели эксперименты по организации следующих услуг удаленным пользователям (и реализовали доступ к ним через Ethernet и TCP/IP):

• электронный телефонный справочник;

• электронный справочник пассажира железной дороги;

• электронный словарь;

• фотосервис Digital Kodak;

• информационная система по географии Швейцарии;

• служба символьных вычислений Maple;

• служба TrueType-шрифтов;

• FTP;

• электронная почта;

• управляющая служба Telnet;

• поддержка World Wide Web;

• Teletext и Telenews.

Ю. Гуткнехт (1994)

Подобно тому, как в свое время ОС UNIX начала ветвиться (System V и BSD), в ETH возникли две конкурирующие группы — Oberon V4 и Oberon System 3. Да и сама система Oberon оказалась непростой для самостоятельного изучения: интерклики мышкой — почти азбука Морзе. Спроектирована она была хорошо, а вот реализация подкачала (главным архитектором проекта был Гуткнехт; главного инженера, увы, не было). Удобной становится после длительного освоения и только для посвященных — тех, кто сумел набраться терпения и преодолеть все издержки экспериментального программирования. Система Oberon оказалась Великой Китайской стеной, отделяющей новаторов-затворников от остального мира. Будучи хорошей базой для исследований Oberon System сыграла роковую роль в судьбе самих языков Оберон-семейства. Она затмила собой одноименный язык, созданный Виртом с участием Гуткнехта, окружив его " теплом и заботой".

" Перечислить все идеи, на основе которых сформировалось то, что сегодня называется Обероном, — писал Вирт, — просто нет возможности. Большинство этих идей родилось в ходе применения или изучения существующих языков (таких, как Modula-2, Ada, Smalltalk, Cedar), которые часто показывали нам, каких решений следует избегать". На сегодняшний день компиляторы канонического Оберона доступны только внутри системы Oberon и системы Juice (Oberon System для Netscape и Internet Explorer), а также представлены транслятором COP2 (трансляция в Си). В контакт с агрессивным внешним миром коммерческих систем вступили последователи Оберона: Oberon-2 и Component Pascal, а затем Active Oberon и Zonnon. Силы в ETH в 1990-е годы были сосредоточены на создании переносимых и перенацеливаемых компиляторов для разных платформ. Этим занимались преимущественно аспиранты Вирта и Гуткнехта. Кадры выросли очень сильные, апробированные идеи можно плодотворно изучать до сих пор (диссертации почти все как на подбор), а вот результат их работы почти неизвестен даже специалистам.

К февралю 1990 г. был готов переносимый компилятор OP2. Кстати, именно его брали за основу при начале работ над компилятором Oberon-2 Алексей Недоря и его новосибирские коллеги по XDS. В июне 1989 г. Ханспетер Мессенбок спроектировал Object Oberon, добавив ООП-расширения в канонический Оберон. Именно Мессенбока, пожалуй, и следует считать автором Oberon-2, в который вылился Object Oberon. Вирт не возражал против соавторства в языке, поскольку расхождения по сравнению с Обероном были не фатальными, хотя и не лежали в рамках того критического взгляда на ООП, который исповедовал сам Вирт. Весной 1991 г. в журнале Structured Programming (издательство Springer-Verlag, в редколлегии были Н. Вирт и Д. Кнут) в одном номере вышли две статьи, давшие публичную жизнь языку Oberon-2: " The Programming Language Oberon-2" и " Differences between Oberon and Oberon-2", под которыми стояли фамилии Мессенбока и Вирта.

К моменту появления Oberon-2 в 1991 г. информация об Обероне только-только стала выходить из стен ETH. Сторонние разработчики компиляторов сделали ставку именно на Oberon-2, считая, что это просто улучшенный Оберон. При этом важно отметить, что распространение пошло не по линии Open Source — едва ли не каждый сторонний разработчик компиляторов хотел сделать на новом языке свой бизнес.

В июне 1993 г. в Кройдоне, что в предместье Лондона, в отеле Oakwood собрались заинтересованные лица, многие из которых получили горький опыт затяжной промышленной ISO-стандартизации Modula-2. Были там и главные архитекторы лучших Оберон-компиляторов: Алексей Недоря (XDS), Гюнтер Дотцель (ModulaWare), Куно Пфистер (Oberon microsystems), Джон Гуг (John Gough, QUT, GPCP). В ходе дискуссий были выработаны рекомендации и стандартная библиотека для Oberon-2. Ее следы вы теперь найдете в компиляторах XDS и JOB.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.