Unix'ы, поставляемые производителями компьютеров
Машина |
Операционная система |
"Оригинал" |
Sun 1,2,10, ... |
SunOS 4.1.2 |
BSD 4.3 |
Sun 10,20,1000 |
SunOS 5.5 |
SVR4.0 |
IBM RS/6000 |
AIX |
SV 3.2 |
HP Apollo 900 |
HP/UX 10 |
BSD 4.2 & SV 3.2 |
Sequent |
Dynix |
SV 4.0 |
Motorola 922 |
SVR4/88 |
SVR4.0 |
Беста-88 |
Bestix |
SV 3.1 |
DEC |
Ultrix |
BSD 4.2 |
DEC Alpha AXP |
OSF/1 |
BSD 4.3 |
SGCS Silicon Graphic |
IRIX 6.0 |
|
Выбирая платформу, мы автоматически получаем с ней "ее собственный" UNIX. Пожалуй, с точки зрения удобства и цельности пользовательского и администраторского окружения самый приятный из них - AIX. А самый распространенный - Solaris 2.5 (естественно).
Основные стандарты
Именно появление коммерческих реализаций Unix привело к тому, что разразились так называемые Unix-войны. Каждая из фирм в стремлении добиться превосходства на рынке включала в свою систему какие-то особенности, собственные доработки и усовершенствования, иногда даже с прямой целью обособить свою систему от других, представленных на рынке. Фирмы-разработчики в своих усилиях добиться преимущества над конкурентами вносили изменения даже в интерфейс прикладного программирования (API - Applications Programmer's Interface), - спецификацию набора функций, которую должны выдержать разработчики программного обеспечения для совместимости своих программ с операционной системой. Это еще больше усиливало несовместимость разных версий Unix и приводило к несовместимости программного обеспечения, разработанного разными (в том числе независимыми) поставщиками.
Но гораздо худшим следствием войн между разными версиями Unix было то, что прекратился свободный обмен исходными кодами, который так способствовал быстрому совершенствованию Unix на ранних этапах ее развития. Не зная другой модели извлечения прибыли из программного обеспечения, кроме сохранения его в тайне и полного контроля над разработкой коммерческого продукта, AT&T жестко запрещала распространение исходных кодов. Угроза подвергнуться юридическому преследованию за незаконное распространение магнитных лент с Unix мало кого привлекала. Поток новых идей из университетов иссяк.
Чтобы преодолеть эту проблему были предприняты несколько попыток стандартизации Unix.
POSIX
Первые серьезные усилия по стандартизации версий API (программного интерфейса1), разработанных для System V и Berkeley, были предприняты в 1983 году инициативной группой под названием /usr/group. Однако с ростом числа версий операционной системы эффективность стандарта уменьшилась, и через год, в 1985 году был создан стандарт POSIX (Portable Operating System Interface for Computing Environment – переносимый интерфейс операционной системы для вычислительной среды).
В 1988 г. был разработан стандарт POSIX 1003.1-1988, который определил программный интерфейс приложений. Этот стандарт нашел широкое применение во многих ОС, в том числе, с архитектурой, отличной от UNIX. Спустя два года стандарт был принят как стандарт IEEE (Institute of Electrical and Electronic Engineers, существующее еще) IEEE 1003.1-1990. Стандарт определяет только интерфейс, а е конкретную организацию, поэтому он не делает различий между системными вызовами и библиотечными функциями, называя все элементы программного интерфейса просто функциями.
Все более поздние стандарты Unix включают в свой состав POSIX, и все последующие версии Unix придерживаются этого стандарта. Единственное большое дополнение, которое позже появилось в ядре Unix, были сокеты, пришедшие из BSD.
POSIX 1003.1-1992 |
Включает определение командного интерпретатора UNIX и набора утилит. |
POSIX 1003.1b-1992 |
содержит дополнения, относящиеся к поддержке приложений реального времени. |
POSIX 1003.1с-1992 |
Включает определение «нитей» (threads) POSIX, известных также как pthreads. |
Некоммерческая организация - консорциум X/Open (позже Open Group), созданный в 1984 г. рядом европейских компаний взял на себя разработку общего набора интерфейсов операционной системы, согласованного между различными производителями, и создание действительно открытых систем, для которых стоимость переносимости приложений была бы минимальной.
В 1992 году появился документ, известный под названием X/OpenPortability Guide версии 3 (XPG3), который включал POSIX 1003.1-1988 и стандарт на графическую систему X Windows System, разработанную в Массачусетском технологическом институте (США). В 1994 г. – XPG4.2.
В 1996 г. объединение X/Open и OSF привело к созданию консорциума The Open Group, продолжившего разработки в области открытых систем, например, дальнейшая разработка пользовательского интерфейса Common Desktop Environment, интерфейсы для распределенной вычислительной среды Distributed Computing Environment – DCE и др.
ANSI
(American National Standarts Institute)
В 1989 году Американским национальным институтом стандартов был утвержден стандарт X3.159-1989 языка программирования Си. Стандарт определяет синтаксис, семантику и содержание стандартной библиотеки.