Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SRS_IPOVS_OS.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

2.2. Выполнение системных вызовов

Большинство ОС могут работать в двух режимах:

  • в пользовательском режиме (user mode), в котором не разрешены привилегированные операции, прямой доступ к УВВ и некоторым управляющим регистрам;

  • в системном режиме (system mode), в котором разрешены привилегированные операции, прямой доступ к УВВ и всем управляющим регистрам. Системный режим также называется режимом ядра, или режимом супервизора.

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

2.3. Понятие операционной и программной среды

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

Каждая ОС имеет свой набор системных вызовов. Интерфейс прикладного программирования (API, Application Programming Interface) – совокупность системных вызовов и правил их использования.

Программа, созданная для одной ОС, скорее всего, не будет работать в другой ОС, поскольку операционные системы имеют разные API. Для преодоления этого ограничения разрабатываются программные среды.

Программная среда – это системное программное окружение, позволяющее выполнить системные запросы от прикладных программ.

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

Программная среда, непосредственно образованная кодом ОС, называется основной, или естественной. Помимо нее, в ОС могут быть организованы дополнительные программные среды путем эмуляции иной операционной системы. Таким образом, можно выполнять программы, созданные для других операционных систем.

ОС может включать несколько программных и пользовательских интерфейсов. Например, в ОС Windows XP имеются следующие программные интерфейсы: Win32 API (основная среда), 16-разрядный программный интерфейс Windows3.X и MS DOS, и даже программный 16-битный интерфейс для первой версии операционной системы OS/2.

Вопросы для самоконтроля

  1. Из каких компонентов состоит ОС?

  2. В каких двух режимах может работать операционная система?

  3. Чем отличается выполнение библиотечной функции от системного вызова?

  4. На всех существующих компьютерах как минимум часть обработчиков прерываний написана еа языке ассемблера. Почему?

  5. В чем заключается предназначение системных вызовов и как они соотносятся с операционной системой и с концепцией работы в режиме ядра и режиме пользователя?

  6. Когда прерывание или системный запрос передает управление ОС, обычно используется область стека ядра, а не стек прерванного процесса. Почему?

  7. Для программиста системный вызов выглядит так же, как и любой другой вызов библиотечной процедуры. Должен ли программист знать, обращение к каким библиотечным процедурам приводит в результате к системным вызовам? При каких условиях и почему?

  8. Дайте определение понятиям "операционная среда" и "программная среда".

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]