1.3. Важные факты в создании систем Unix

1.3. Важные факты в создании систем Unix

Хотя большая часть общего кода Linux разрабатывалась независимо от традиционных исходных баз Unix, на интерфейсы, предоставляемые Linux, сильно влияли существующие системы Unix.

На заре восьмидесятых годов прошлого столетия разработчики Unix были разделены на два "лагеря": первый — Калифорнийский университет в Беркли, а второй — компания AT&T Bell Laboratories. Оба учреждения разрабатывали и поддерживали операционные системы Unix, которые происходили от исходной реализации Unix, созданной в Bell Laboratories.

Версия Unix от Беркли стала известной как программный дистрибутив Беркли (Berkeley Software Distribution — BSD) и приобрела популярность в научном сообществе. Система BSD впервые включила организацию сетей TCP/IP, что повлияло на ее успех и помогло убедить компанию Sun Microsystems основать на BSD первую операционную систему Sun — SunOS.

В компании Bell Laboratories также трудились над совершенствованием Unix, но, к сожалению, несколько другими способами, чем в Беркли. Разнообразные выпуски Bell Laboratories обозначались словом "System", сопровождаемым римским числом. Окончательным выпуском Unix от Bell Laboratories была System V (или SysV); UNIX System У Release 4 (SVR4) сегодня предоставляет кодовую базу для большинства коммерческих операционных систем Unix. Стандартным документом, описывающим System V, является System V Interface Definition (SVID).

Эта разветвленная разработка Unix значительно разнообразила системные вызовы, системные библиотеки и основные команды систем Unix. Одним из лучших примеров такого расщепления являются сетевые интерфейсы, сопровождающие приложения каждой операционной системы. Системы BSD использовали интерфейс под названием сокетов, позволяющий программам сообщаться друг с другом по сети. С другой стороны, System V предоставила интерфейс транспортного уровня (Transport Layer Interface — TLI), полностью несовместимый с сокетами, и официально определенный транспортный интерфейс X/Open (X/Open Transport Interface — XTI). Такая разнородная разработка значительно снизила переносимость программ между версиями Unix, увеличивая стоимость и уменьшая доступность сторонних продуктов для всех версий Unix.

Еще одним примером несовместимости систем Unix является команда ps, позволяющая запрашивать информацию о процессах операционной системы. В системах BSD команда ps aux выдает полный листинг всех процессов, работающих на машине; в System V эта команда недопустима, вместо нее необходимо использовать ps -ef. Форматы вывода так же несовместимы, как и аргументы командной строки. (Команда ps в Linux пытается поддерживать оба стиля.)

Пытаясь стандартизовать все аспекты Unix, которые разошлись из-за разных подходов к разработке в этот период (это еще известно как "войны Unix"), индустрия Unix спонсировала создание набора стандартов, которые определяют предоставляемые Unix интерфейсы. Часть стандартов, имеющая дело с интерфейсами программных и системных инструментов, была названа POSIX (технически это серия IEEE Std 1003, составленная из многих отдельных и черновых стандартов) и выпущена Институтом инженеров по электротехнике и электронике (Institute of Electrical and Electronics Engineers — IEEE).

Однако исходные серии стандартов POSIX были не полностью завершены. Например, основные концепции UNIX вроде процессов считались необязательными. Более полный стандарт прошел через несколько версий и названий (например, серия стандартов руководства по переносимости X/Open (X/Open Portability Guide — XPG)) перед тем, как был переименован в одиночную спецификацию Unix (Single Unix Specification — SUS), выпущенную The Open Group (владельцем торговой марки UNIX). SUS после нескольких пересмотров была принята IEEE как самая новая версия стандарта POSIX, в настоящее время это IEEE Std 1003.1-2004 [25], и время от времени обновлялась несколькими поправками. IEEE Std 1003.1-2003 был также принят в качестве стандарта ISO/IEC 9945-2003. Самую новую онлайновую версию этого стандарта можно найти по адресу http://www.unixsystems.org/.

Более ранние стандарты, на основе которых был создан этот обновленный унифицированный стандарт, включают все ранние стандарты IEEE Std 1003.1 (POSIX.1 — программный интерфейс С), IEEE Std 1003.2 (POSIX.2 — интерфейс оболочки), а также все связанные стандарты POSIX наподобие расширений реального времени, определенных как POSIX.4, которые позже были переименованы в POSIX.1b, и несколько черновых стандартов.

Поскольку "POSIX" и "SUS" теперь являются синонимами, на комбинированную работу в этой книге мы будем ссылаться как на POSIX.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

1.1. Факты

Из книги Программирование на языке Пролог автора Клоксин У.

1.1. Факты Начнем обсуждение с фактов об объектах. Предположим, мы хотим сообщить Прологу[1]факт: «Джону нравится Мэри». Этот факт включает в себя два объекта, обозначенных именами «Мэри» и «Джон», и отношение, обозначенное словом «нравится». В языке Пролог используется


3 Контраст: сравнение философии Unix и других операционных систем

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

3 Контраст: сравнение философии Unix и других операционных систем Если ваша проблема выглядит неприступной, найдите пользователя Unix, который покажет, как ее решить. Информационный бюллетень Дилберта (Dilbert), 3.0, 1994 —Скотт Адаме Способы создания операционных систем, как


17.2.2. Влияние новых Unix-систем

Из книги Компьютерра PDA 03.04.2010-09.04.2010 автора Журнал «Компьютерра»

17.2.2. Влияние новых Unix-систем К сожалению, была одна неудобная деталь — поставщики Unix старой школы, финансирующие данный проект, находились под сильным влиянием со стороны Unix-систем новой школы с открытым исходным кодом, а в некоторых случаях они даже отказывались (в


3 Контраст: сравнение философии Unix и других операционных систем

Из книги Как заработать в Интернете: Практическое пособие автора Дорохова Марта Александровна

3 Контраст: сравнение философии Unix и других операционных систем Если ваша проблема выглядит неприступной, найдите пользователя Unix, который покажет, как ее решить. Информационный бюллетень Дилберта (Dilbert), 3.0, 1994 —Скотт Адамс Способы создания операционных систем, как


17.2.2. Влияние новых Unix-систем

Из книги Сетевые средства Linux автора Смит Родерик В.

17.2.2. Влияние новых Unix-систем К сожалению, была одна неудобная деталь — поставщики Unix старой школы, финансирующие данный проект, находились под сильным влиянием со стороны Unix-систем новой школы с открытым исходным кодом, а в некоторых случаях они даже отказывались (в


Форматы данных, используемых при создании Web-узла

Из книги Бесплатные разговоры через Интернет автора Фрузоров Сергей

Форматы данных, используемых при создании Web-узла Несмотря на наличие специализированных инструментальных средств, необходимо знать форматы основных данных, применяемых при создании Web-узлов. Как правило, основное содержимое Web-узла составляют статические Web-страницы,


§ 125. Факты

Из книги Быстрые деньги в Интернете [50 способов заработать, сидя дома у компьютера] автора Парабеллум Андрей Алексеевич

§ 125. Факты 15 декабря 2005Отечественные дизайнеры очень похожи на отечественных журналистов тем, что им совершенно наплевать на факты. Поиск первоисточника, уточнение цитаты, проверка догадки — понятия знакомые (даже банальные), но совершенно невостребованные.Человек,


Интересные факты

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

Интересные факты В этом разделе я привожу самые интересные факты, которые можно узнать при работе с Radmin. Некоторые из них вы уже знаете, потому что встречали по тексту ранее, однако здесь они собраны все вместе, этим и интересен раздел.? Если удаленный компьютер начинает


Появилось больше настроек при создании нового соединения

Из книги Как тестируют в Google автора Уиттакер Джеймс

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


Заработок на создании сайтов

Из книги Компьютерные террористы [Новейшие технологии на службе преступного мира] автора Ревяко Татьяна Ивановна


35.3. Инструменты, использовавшиеся при создании книги 35.3.1. Аппаратура

Из книги автора

35.3. Инструменты, использовавшиеся при создании книги 35.3.1. Аппаратура IBM Thinkpad, model 760XL laptop (P166, 104 Mb RAM) под управлением Red Hat 7.1/7.3. Несомненно, это довольно медлительный агрегат, но он имеет отличную клавиатуру, и это много лучше, чем пара карандашей и письменный


Интересные факты из жизни багов

Из книги автора

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