Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ос_ЛЕКЦИИ_для _методички_.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
821.76 Кб
Скачать

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

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

В общем случае, можно выделить следующие функциональные компоненты ядра:

1. Загрузчик – IPL (Initial Program Loader).

2. Инициализация ядра – NIP (Nucleus Initialization Program).

3. Поддержка привилегированного режима.

4. Средства трансляции адресов.

5. Средства переключения процессов.

6. Система обработки прерываний.

7. Системный таймер.

8. Средства защиты областей памяти.

1. Загрузчик представляет собой программу, которая считывает в оперативную память так называемую программу инициализации ядра (NIP), как правило, программа IPL находится в начальных секторах первого по номеру внешнего устройства.

2. NIP, загрузившись в оперативную память и выполняясь, определяет состояние аппаратных средств, устанавливает место загрузки ядра в оперативную память, заполняет системные таблицы о состоянии устройств и так далее. По окончании своей работы NIP передает управление ядру. После загрузки операционной системы вычислительная система находится в состоянии ожидания ввода команды оператором или запроса на выполнение (прерывание) от какого-нибудь датчика.

3. Поддержка привилегированного режима осуществляется, как правило, путем установки определенного флажка в слове состояния программы или машины.

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

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

6. Обработка прерываний – в системах от IBM адреса обработчиков прерываний находятся в фиксированных ячейках оперативной памяти, адреса которых знает ОС. При прерывании смена PSW (Processor Status Word) на обработчик прерывания осуществляется аппаратно. Аналогично и при прерываниях ввода-вывода и от схем контроля.

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

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

Понятие мобильной ос.

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

Основными особенностями аппаратуры различных платформ являются:

1. Количество прерываний.

2. Формат таблиц ссылок (адресов) на обработку прерываний.

3. Состав регистров (системных и общего назначения).

4. Система команд процессора.

5. Организация ввода-вывода.

6. Количество процессоров и т.д.

Для уменьшения количества машинно-зависимых модулей, их переводят в машинно-независимые, снижая их уникальность (делая более универсальными). Например, для Windows NT ядро было разработано для 4 типов процессоров.

Если код ОС может быть переписан с одной платформы на другую, такая ОС называется мобильной (переносимой).

Основные характеристики мобильной ОС:

1. Написана на языке более высокого уровня, чем Assembler. На Assemblerе пишется часть, взаимодействующая с аппаратурой.

2. Объем кода, взаимодействующего с аппаратными средствами минимален.

3. Сокращается прямое манипулирование регистрами и другими возможностями процессора.

4. Для выполнения действий с аппаратурой используется программная эмуляция технических средств.

5. Аппаратно зависимый код изолирован в нескольких модулях, которые могут заменяться аналогичными модулями для других платформ.