Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лек_1_2_Архитектура UNIX.doc
Скачиваний:
3
Добавлен:
21.09.2019
Размер:
92.16 Кб
Скачать

Дополнительный материал

Еще один взгляд на архитектуру UNIX

ОС UNIX можно рассматривать в виде пирамиды (рис. 4). У основания пирамиды располагается аппаратное обеспечение, состоящее из центрального процессора, памяти, дисков, терминалов и других устройств. На голом «железе» работает операционная система UNIX. Ее функция заключается в управлении аппаратным обеспечением и предоставлении всем программам интерфейса системных вызовов. Эти системные вызовы позволяют программам создавать процессы, файлы и прочие ресурсы, a также управлять ими.

Пользователи

Интерфейс

пользователя

Стандартные обслуживающие программы (оболочка, компиляторы и т.п.)

Интерфейс

библиотечных

функций

Стандартная библиотека

(open, close, read, write, fork и т.д.)

Интерфейс

системных

вызовов

ОС UNIX (ядро)

(управление процессами, памятью, файловая система, ввод-вывод, и т.д. – системные вызовы)

Аппаратное обеспечение (центральный процессор, память, диски, терминалы и др. устройства.

Программы обращаются к системным вызовам, помещая аргументы в регистры центральноrо процессора (или иногда в стек) и вьпголняя команду э: ванного прерывания для переключения из пользовательского режима в режим ядра и передачи управления операционной системе UNIX. Посколыку на языке Си невозможно написать команду эмулированного прерывания, этим занимаются библиотечные функции, по одной на системный вызон. Эrи библиотечные функции написаны на ассемблере, но они могут вызываться из програмтг, написанны х на С. такая функция помещает аргументы в нужное место и выполняет команду эмулированного прерывания TRAP. Таким образом, чтобы обратиться к системному вызову read(1), программа на Си должна вызвать библиотечную функцию read(2). Кстати, в стандарте POSIX определён именно интерфейс библиотечные функций, а не интерфейс системных вызовов. Другими словами, стандарт POSIX определяет библиотечные процедуры, соответствующие системным вызовам, их параметры, что они должны делать и какой результат возвращать. В стандарте даже не упоминаются фактические системные вызовы.

Помимо операционной системы и библиотеки системных вызовов, все версии UNIX содержат большое количество стандартны к программ; некоторые из них описываются стандартом POSIX 1003.2, тогда как другие могут различаться в разнык версиях системы UNIX. К этим программам относятся командный процессор (оболочка), компиляторы, редакторы, программы обработки текста и утилиты для работы с файлами. Именно эти программы и запускаются пользователем , с терминала (как команды).

Таким образом, мы можем говорить о трех интерфейсах в операционной системе UNIX: интерфеiiсе системнык вызовов, интерфейсе библиотечных функций и интерфейсе, образованным набором станцартных обслуживающих программ.

Хотя именно последний интерфейс большинство пользователей считает системой UNIX? в действительности он не имеет практически никакого отношения к самой операционной системе и легко может быть заменен.

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