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

Защита памяти.

Как правило, поддерживается 4 уровня защиты: 0 самый привилегированный, 3 наименее привилегированный. В каждый момент времени процесс находится на определенном уровне защиты, что отмечается в PSW процесса. Попытки доступа процесса к рамкам памяти более высокого класса привелегированности вызывают прерывание. Для перехода в тот или иной режим защиты используются инструкции, выполняемые на уровне ядра.

Ввод-вывод.

Устройства ввода-вывода можно грубо разделить на две категории: блочные устройства и символьные устройства. Имеется также класс внешних устройств, которые не являются ни символьными, ни блочными, но управляются как устройства ввода-вывода. Пример: часы.

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

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

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

Контроллеры устройств.

Контроллер устройств предназначен для управления одним или несколькими устройствами ввода-вывода. Как правило, контроллер управляет устройством сигналами аппаратного интерфейса. Пример интерфейса: IDE, SCSI. Работа контроллера заключается в конвертировании потоков битов в блок данных. У каждого контроллера имеется, как правило, несколько регистров, к которым может обращаться процесс (команда ЦП). Управление контроллерами ОС в разных ОС осуществляется по-разному.

Управления контроллером осуществляется с помощью набора команд ввода-вывода (установка каретки, запись, чтение, поиск..). В некоторых ОС данная последовательность команд составляет так называемую канальную программу. В зависимости от запроса на ввод-вывод она настраивается и передается поочередно в контроллер для выполнения. Если на каком-то этапе произошел сбой, происходит прерывание по вводу-выводу с информацией состояния "сбой в устройстве". Происходит прерывание, ОС обрабатывает его и решает, что делать дальше (повторять операцию ввода-вывода или выдать диагностическое сообщение). Как правило, контроллер также содержит, из которого ОС может писать информацию в реальную ОП. Буфер контроллера может находится в некоторых случаях в реальной ОП. Доступ к контроллеру можно осуществить тремя основными способами: по номеру порта, к которому он подключен (in-out); по адресу реальной ОП; по адресу команды ввода-вывода.

Чтение информации из порта 1 в регистр 1: IN R1,PORT1.

Запись в порт 2 из регистра 2: OUT PORT2, R2.

Для передачи информации во внешние устройства, буфер данных контроллера которых находится в реальной ОП, наиболее часто используется команда asm MOV A(L),B.

Как правило информация для выполнения находится в закрепленном месте реальной ОП. Выполнение команды происходит без участия ЦП. На время выполнения ЦП предоставляется другим процессам.