<<
>>

Стандартная система UNIX

К концу 1980-х широкое распространение получили две различные и в чем-то несовместимые версии системы UNIX: 4.3BSD и System V Release 3. Кроме того, практически каждый производитель добавлял собственные нестандартные усовершенствования.
Этот раскол в мире UNIX вместе с тем фактом, что стандарта на формат двоичных программ не было, сильно сдерживал коммерческий успех операционной системы UNIX, поскольку производители программного обеспечения не могли написать пакет программ для системы UNIX так, чтобы он мог работать на любой системе UNIX (как это делалось, например, в системе MS-DOS). Вначале все попытки стандартизации системы UNIX проваливались. Например, корпорация AT&T выпустила стандарт SVID (System V Interface Definition — описание интерфейса UNIX System V), в котором определялись все системные вызовы, форматы файлов и т. д. Этот документ был попыткой построить в одну шеренгу всех производителей System V, но он не оказал никакого влияния на вражеский лагерь (BSD), который просто проигнорировал его.

Первая серьезная попытка примирить два варианта системы UNIX была предпринята при содействии Совета по стандартам при Институте инженеров по электротехнике и электронике (IEEE Standard Boards), глубокоуважаемой и, что самое важное, нейтральной организации. В этой работе приняли участие сотни людей из области промышленности, академических и правительственных организаций. Коллективное название этого проекта — POSIX. Первые три буквы этого сокращения означали Portable Operating System — переносимая операционная система. Буквы IX в конце слова были добавлены, чтобы имя проекта выглядело юниксоподобно.

После большого количества высказанных аргументов и контраргументов, опровержений и опровергнутых опровержений комитет POSIX выработал стандарт, известный как 1003.1.

Этот стандарт определяет набор библиотечных процедур, которые должна обеспечивать каждая соответствующая данному стандарту система UNIX. Большая часть этих процедур делает системный вызов, но некоторые из них могут быть реализованы вне ядра. Типичными процедурами являются open, read, и fork. Идея стандарта POSIX заключается в том, что производитель программного обеспечения, который при написании программы использует только описанные в стандарте 1003.1 процедуры, может быть уверен, что его программа будет работать на любой системе UNIX, соответствующей данному стандарту.

Хотя большинство комитетов по стандартам, как правило, создают нечто ужасное, сплошь состоящее из компромиссов, стандарт 1003.1 заметно отличается от этого общего правила в лучшую сторону, особенно если учесть большое количество принимавших участие в его разработке сторон. Вместо того чтобы принять за точку отсчета объединение множеств функциональных возможностей System V и BSD (как это делает большинство комитетов по стандартам), комитет IEEE взял за основу пересечение этих двух множеств. То есть дело обстояло примерно так: если какое-либо свойство присутствовало как в System V, так и в BSD, то оно включалось в стандарт, в противном случае это свойство в стандарт не включалось. В результате применения такого алгоритма стандарт 1003.1 сильно напоминает прямого общего предка систем System V и BSD, а именно Version 7. Документ 1003.1 был написан так, чтобы как разработчики операционной системы, так и создатели программного обеспечения были способны его понять, что также было ново в мире стандартов, хотя в настоящее время уже ведется работа по исправлению этого нестандартного для стандартов свойства.

Несмотря на то что стандарт 1003.1 описывает только системные вызовы, принят также ряд сопутствующих документов, которые стандартизируют потоки, утилиты, сетевое программное обеспечение и многие другие функции системы UNIX. Кроме того, язык C также был стандартизирован Национальным институтом стандартизации США (ANSI) и Международной организацией по стандартизации ISO.

10.1.6.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Стандартная система UNIX:

  1. Стандартные точки:
  2. Стандартные точки:
  3. Стандартные точки:
  4. Стандартные точки:
  5. Стандартные точки
  6. Стандартные точки:
  7. Стандартные точки:
  8. Стандартные точки:
  9. Стандартные точки:
  10. Стандартные точки (пункты) канала:
  11. Таблица 4. Стандартный набор трав для лечения по методу Лессура
  12. § 39 Классификация договоров в отдельных видах. – Римская классификация. – Система прусского закона, французского и австрийского кодекса. – Система русского свода. – Система настоящего изложения.