Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену по ОС.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.03 Mб
Скачать

32. Генеалогия ос юникс и основные этапы разработки

В настоящий момент имеется достаточно большое количество версий ОС UNIX и между ними имеются вполне определённые различия. В каждой из версий ОС UNIX имеются усовершенствования, но в основном она остаётся совместимой с предыдущей версией (совместимость снизу вверх). В своё время фирма BELL продавала лицензии на исходную архитектуру ОС UNIX фирмам – разработчикам программных средств. Фирмы – разработчики сами писали программное обеспечение и продавали ОС UNIX для работы на ПЭВМ других типов. При этом фирмы – разработчики платили по обязательствам и получали набор составляющих ОС UNIX программ на исходном символическом языке и право на её использование.

Оставалось только перевести эти программы на машинный язык используемой ПЭВМ, и получалась ОС UNIX специально для данной ПЭВМ. Но имелась сложность, состоящая в том, что набор машинных команд используемой ПЭВМ должен был позволять реализовать функции системы UNIX.

Фирме – разработчику программных средств разрешалось изменять архитектуру системы при условии совместимости с базовой системой, ориентированной на ПЭВМ фирмы DEC.

Прикладные программные средства, которые можно использовать на различных ПЭВМ должны быть переносимыми. Это качество позволяет переходить к другому типу ПЭВМ без переделки переносимых программ. Реально переносимых программ не так уж много поскольку в некоторых случаях это свойство оказывает влияние на систему в целом.

Система UNIX основанная на исходных программах, поставляемых фирмой BELL LABS иногда называются UNIX BASED (основанные на UNIX). Ни одна версия UNIX BASED не может называться UNIX, так как это название принадлежит BELL LABS. Существуют частичные лицензии, мало использующие или совсем не использующие программные продукты фирмы BELL LABS, или реализующие ОС, частично выполняющие функции UNIX, или имеющие только синтаксис UNIX и обладающие совсем другими характеристиками. В этом случае BELL LABS не гарантирует совместимости.

Переносимость программ разработанных в среде всех разновидностей UNIX не одинакова. Такие версии называются UNIX-Like. Такие ОС могут быть очень хороши, но не совместимы с UNIX и не обладать свойством переносимости.

33. Интерфейсы ос юникс

ОС UNIX можно представить в виде многоуровневой системы. На нижнем уровне аппаратное обеспечение, состоящее из ЦП, памяти, дисков, терминалов и других устройств. На этом железе работает сама ОС UNIX. Её функции заключаются в управлении аппаратным обеспечением и предоставлении всем программам интерфейсов системных вызовов.

Программы обращаются к системным вызовам помещая аргументы в регистры центрального процессора ( иногда в стек) и выполняя команду эмулированного прерывания для переключения из пользовательского режима в режим ядра и передачи управления в ОС UNIX.

Так как язык Си не позволяет написать команду эмулированного прерывания, это делают библиотечные функции. Эти процедуры написаны на ассемблере, но они могут вызываться из программ, написанных на Си.

ОС UNIX подчиняется стандарту соглашений, написанному специально для неё: POSIX – Portable Operating System – переносимая ОС. IX – юниксобразная.

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

Что бы обратиться к системному вызову программа на Си должна вызвать соответствующую библиотечную процедуру. В стандарте POSIXопределён именно интерфейс библиотечных функций, а не интерфейс системных вызовов. То есть стандарт POSIX определяет библиотечные процедуры, соответствующие системным вызовам: параметры этих процедур, действия и результат, возвращаемый системе.

Все версии UNIX содержат большое количество стандартных программ, которые могут различаться в разных версиях. К таким программам относятся: компиляторы, редакторы, программы обработки текста и утилиты для работы с файлами.

Таким образом, подводя итог можно говорить о трёх интерфейсах в ОС UNIX:

  1. Интерфейс системных вызовов.

  2. Интерфейс библиотечных функций.

  3. Интерфейс, создаваемый набором стандартных обслуживающих программ.

Именно третий интерфейс считается пользователями самой системой UNIX, на деле же этот интерфейс практически не имеет никакого отношения и легко может быть заменён. Например, введение графического интерфейса, ориентированного на использование мыши не потребовало никаких изменений в самой системе.