Вы находитесь на странице: 1из 9

Преимущество модульного

подхода
Преимущество описанного модульного подхода
аппаратуре
к в том, что центральный
память процессор, и внешние устройства
функционировать
могут параллельно.
Работой устройства управляет
специальный
каждого контроллер.
При необходимости выполнения ввода-вывода
центральный процессор генерирует прерывание, в
результате которого вызывается операционная
система, в свою очередь, в качестве реакции на
прерывание запускающая драйвер устройства,
соответственно, активизирующий его контроллер.
Буфер устройства
Каждый контроллер устройства имеет локальный
буфер – специализированную память для обмена
информацией между компьютером и устройством.
 Для того, чтобы контроллер мог начать вывод на
устройство, предварительно центральный
процессор (точнее, драйвер устройства,
запущенны на нем) должен переслать
й из заданной области оперативной
информаци
памяти в буфер устройства.
ю
Далее контроллер устройства уже выполняет
информации из буфера на само устройство
вывод
(например, записывает ее в заданную область
жесткого диска).
DMA– контроллеры
По окончании обмена и информацией, контроллер
генерирует сигнал о прерывании (interrupt) по
системной шине, этим информируя процессор об
окончании операции.
Для того, чтобы избежать повторных пересылок
больших объемов информации, в современных
компьютерах применяют DMA (Direct Memory
Access) – контроллеры – контроллеры с прямым
доступом к оперативной памяти.
Такие контроллеры используют при обмене с
устройством не свою специализированную память,
а напрямую область оперативной памяти, в
которой и размещается буфер обмена.
Обработка прерываний
Операционную систему можно рассматривать как
программу, управляемую прерываниями (interrupt-
driven program).
Прерывание центрального процессора передает
управление подпрограмме обработки данного вида
прерываний, являющейся частью ОС.
В большинстве компьютеров этот механизм реализован
через вектор прерываний (interrupt vector) –
резидентный массив в оперативной памяти, в котором
хранятся доступные по номерам прерываний адреса
подпрограмм-обработчиков прерываний (модулей
ОС).
При обработке прерывания аппаратура и ОС
сохраняют адрес прерванной команды. При
возобновлении вычислений будет вновь повторено
выполнение прерванной команды.
Очередь прерываний
Очевидно, что при обработке прерывания, в свою
очередь, может возникнуть другое прерывание. В
этом случае новое входящее прерывание
задерживается (disabled), и информация о нем
запоминается в очереди прерываний –
системной структуре ОС, обеспечивающей
поочередную обработку всех возникших
прерываний.
ОС как набор обработчиков
прерываний
Кроме прерываний, генерируемых аппаратурой неявно
при вычислениях (например, отсутствие страницы в
оперативной памяти), возможно
также программируемое прерывание (trap;
дословно – ловушка) с помощью
специальной команды процессора, - например, при
обнаруженной ошибке в программе.
В случае такого прерывания также работает общий
механизм запуска обработчика прерывания – части
ОС. Таким образом, с упрощенной точки зрения, ОС
можно рассматривать как набор обработчиков
прерываний.
ОС как набор обработчиков
прерываний
При прерывании сохраняет
ОС
процессора – значения состояние
счетчика команд (program регистров и –значение
counter PC) –
адреса прерванной команды.
Обработчик прерывания в ОС определяет по
содержимому сегмента объектного кода, какого
вида прерывание возникло и какие действия по
его обработке следует предпринять.
Прерывания по таймеру
Среди возможных видов прерываний, кроме фиксации
различных ошибок, имеются также прерывания по
таймеру – периодические прерывания через
определенный квант времени, предназначенные для
опроса устройств (polling) – действий операционной
системы по периодической проверке состояния всех
портов и внешних устройств, которое может меняться
стечением времени: например, к USB-порту была
подключена флэшка; принтер закончил печать и
освободился, и т.д.
ОС выполняет реконфигурацию системы
корректирует системные таблицы, и
информацию об устройствах. хранящие

Вам также может понравиться