Введение

Серия прекращенных операционных систем Unix от DEC.

Ultrix (официально ULTRIX, полностью заглавными буквами) — это торговое название собственных, прекращенных к разработке операционных систем Unix компании Digital Equipment Corporation (DEC) для PDP 11, VAX, MicroVAX и DECstations.

История

Первоначальная разработка Unix происходила на оборудовании DEC, в частности на системах DEC PDP-7 и PDP-11 (программируемый процессор данных). Позже компьютеры DEC, такие как VAX, также поддерживали Unix. Первый порт на VAX, UNIX/32V, был завершен в 1978 году, вскоре после объявления о VAX в октябре 1977 года, для которого DEC в то время поставляла только свою проприетарную операционную систему VMS. Группа разработки Unix в DEC (DEC Unix Engineering Group, UEG) была основана Биллом Мунсоном вместе с Джерри Бреннером и Фредом Кантером, оба из группы обслуживания клиентов DEC (DEC Customer Service Engineering), Биллом Шенноном (из Case Western Reserve University) и Армандо Стетнером (из Bell Labs). Другими участниками UEG позднее стали Джоэль Магид, Билл Долл и Джим Барклай, набранные из отделов маркетинга и управления продуктами DEC. Под руководством Кантера UEG выпустила V7M – модифицированную версию Unix 7th Edition (см. также). В 1988 году The New York Times сообщила о соответствии Ultrix стандарту POSIX, а также о значительной работе, проделанной в области восстановления после аппаратных ошибок и разработки множества драйверов устройств. Большое внимание уделялось созданию релиза, который надежно загружался бы с различных магнитных лент или дисков. V7M пользовалась большим уважением в сообществе Unix. UEG в дальнейшем превратилась в группу, разработавшую Ultrix.

Первый выпуск Ultrix

Первым нативным продуктом VAX UNIX от DEC был Ultrix 32, основанный на 4.2BSD с некоторыми функциями System V, не относящимися к ядру, и выпущенный в июне 1984 года. Ultrix 32 был в первую очередь детищем Армандо Стетнера. Он предоставлял нативный VAX Unix на основе Berkeley на широком спектре аппаратных конфигураций без необходимости доступа к исходному коду ядра. Дополнительной целью было улучшение поддержки со стороны инженеров DEC, занимающихся поддержкой программного обеспечения и систем, за счет улучшения поддержки оборудования, системных сообщений и документации. В него также были включены различные модификации и скрипты, полученные из опыта Usenet/UUCP. Позже Ultrix 32 включил поддержку DECnet и других проприетарных протоколов DEC, таких как LAT. Он не поддерживал VAX-кластеризацию. В связи с лицензированием Western Electric/AT&T Unix, DEC (и другие) были ограничены продажей только бинарных лицензий. Значительная часть инженерной работы была направлена на то, чтобы сделать системы относительно гибкими и конфигурируемыми, несмотря на их бинарный характер. DEC предоставляла Ultrix на трех платформах: миникомпьютерах PDP 11 (где Ultrix была одной из многих доступных операционных систем от DEC), компьютерах на базе VAX (где Ultrix был одним из двух основных вариантов ОС) и рабочих станциях DECstation и серверах DECsystem, работающих исключительно под управлением Ultrix. Важно отметить, что DECstation и более поздние продукты DECsystem (в отличие от оригинальной линейки DECsystem от DEC) использовали процессоры MIPS и предшествовали гораздо более поздним системам на базе Alpha.

Поздние релизы Ultrix

Продукт V7m позже был переименован в Ultrix 11, чтобы сформировать семейство с Ultrix 32, но с уходом PDP 11 из эксплуатации, Ultrix 32 стал известен просто как Ultrix. Когда были выпущены версии Ultrix для MIPS, версии для VAX и MIPS стали называться VAX/ULTRIX и RISC/ULTRIX соответственно. Значительные инженерные усилия были направлены на поддержку и надежность работы, включая продолжение разработки поддержки процессора и драйверов устройств (которые в основном также отправлялись в UC Berkeley), поддержку и восстановление после аппаратных сбоев с улучшением текста сообщений об ошибках, документации и общей работы на уровне ядра и системных программ. Позже Ultrix 32 включил некоторые функции из 4.3BSD и опционально поддерживал DECnet и SNA в дополнение к стандартному TCP/IP, а также протоколы SMTP и DEC Mail 11. Ultrix реализовал средства межпроцессного взаимодействия (IPC), такие как именованные каналы, сообщения, семафоры и общая память, которые были представлены в System V. В то время как объединенный Unix от альянса Sun и AT&T (который породил Open Software Foundation или OSF), выпущенный в конце 1986 года, привнес функции BSD в System V, DEC, как описано в первоначальных планах Ultrix, разработанных Stettner, взял лучшее из System V и добавил его к базе BSD. Изначально на рабочих станциях VAX, Ultrix 32 имел графическую среду под названием UWS (Ultrix Worksystem Software), основанную на X10 и Ultrix Window Manager. Позже была добавлена широко распространенная версия 11 X Window System (X11), использующая менеджер окон и инструментарий виджетов под названием XUI (X User Interface), который также использовался в версиях VMS того времени. В конечном итоге Ultrix также предоставил инструментарий Motif и Motif Window Manager. Ultrix работал на многопроцессорных системах семейств VAX и DECsystem. Ultrix 32 поддерживал диски и ленты SCSI, а также проприетарные интерфейсы Digital Storage Systems Interconnect и CI, использующие протокол управления массовым хранением DEC, однако, в отличие от OpenVMS, он не имел распределенного менеджера блокировок и не поддерживал одновременный доступ из нескольких систем Ultrix. DEC также выпустила комбинированный аппаратный и программный продукт Prestoserv, который ускорял обслуживание файлов NFS, повышая производительность для дисковых рабочих станций при взаимодействии с сервером файлов Ultrix. Ядро поддерживало симметричную многопроцессорность, но не было полностью многопоточным, основываясь на работах Армандо Stettner, предшествовавших Ultrix, и более ранних работах Джорджа Г. Гобла в Университете Пердью. В связи с этим широко использовались блокировки, и некоторые задачи могли выполняться только определенными процессорами (например, обработка прерываний). Это было типично для других реализаций SMP того времени (например, SunOS). Кроме того, Ultrix медленно внедрял многие новые или развивающиеся возможности Unix, присутствовавшие в конкурирующих системах (например, он никогда не поддерживал разделяемые библиотеки или динамически связанные исполняемые файлы), а также задерживал реализацию bind, системных вызовов и библиотек 4.3BSD. Отсутствие поддержки файлов, отображаемых в память, считалось серьезным недостатком Ultrix по сравнению с конкурентами в начале 1990-х годов.

Последний релиз

В рамках своей приверженности OSF, Армандо Стетнер отправился в Кембриджские исследовательские лаборатории DEC для работы над портированием OSF/1 на рабочую станцию DECstation 3100, основанную на RISC-процессоре. Эта версия была выпущена в 1991 году с ядром на базе Mach для архитектуры MIPS. Во время первоначальной разработки архитектуры Alpha был выполнен порт Ultrix на Alpha, однако он так и не был выпущен в качестве продукта. Позже DEC заменила Ultrix на OSF/1 на Alpha, что положило конец разработке Unix для платформ MIPS и VAX. Последней крупной версией Ultrix стала версия 4.5 в 1995 году, поддерживавшая все ранее поддерживаемые DECstations и VAX. После этого были выпущены некоторые исправления, связанные с проблемой 2000 года.