Система прерываний в MS-DOS и WINDOWS. Размещение операционной системы в памяти

Автор работы: Пользователь скрыл имя, 18 Февраля 2015 в 13:11, доклад

Описание работы

Появилось понятие прерывания вместе с созданием ЭВМ. Тогда стала задача о совместной работе процессора и медленных внешних устройств. Хорошим примеров может служить клавиатура. Когда пользователь нажмет клавишу не известно. Это может случиться в любой момент, вот когда он нажимает клавишу и сообщается процессору что нужно бы обработать это дело и получить клавишу, которая нажата. Отсюда можно сделать вывод, что прерывания рождают внешние устройства

Файлы: 1 файл

49.docx

— 19.29 Кб (Скачать файл)

Система прерываний в MS-DOS и WINDOWS. Размещение операционной системы в памяти.

Прерывания

Появилось понятие прерывания вместе с созданием ЭВМ. Тогда стала задача о совместной работе процессора и медленных внешних устройств. Хорошим примеров может служить клавиатура. Когда пользователь нажмет клавишу не известно. Это может случиться в любой момент, вот когда он нажимает клавишу и сообщается процессору что нужно бы обработать это дело и получить клавишу, которая нажата. Отсюда можно сделать вывод, что прерывания рождают внешние устройства. Но мы же с Вами использовали прерывание в программе. Конечно, кроме получения информации от устройства, этим устройствами нужно еще и управлять. Устройства медленные и помимо прочего еще нужно будет дождаться окончание выполнения операции. Это то же реализуется с помощью прерываний только вызываем их мы из программы. Итак, прерывания бывают двух типов:

  • Программные
  • Аппаратные

Я еще как бы хочу акцентировать внимание на проблемах, которые были связанны с появлением прерываний. Устройств всяких много - клавиатура, монитор, дисковод и так далее. Если не пользоваться прерываниями, то постоянно операционная система должна опрашивать устройства, нажата ли клавиша, хотите ли вывести данные на монитор и так далее. Намного проще оговорить некоторый механизм который и будет обращаться внимание операционной системы и процессора на необходимость проведения некоторых действий. Итак, давайте посмотрим на все это в динамике. Ваша программа что то считает. В этот момент нажимается клавиша. Программа должны быть прервана. И это будет сделано, управление будет передано специальному коду (процедура обработки прерывания) а потом Ваша программа будет выполняться дальше. То же самое когда мы вызываем прерывание для вывода символов на монитор (int 21h 04Ch) то сами генерируем прерывание. Зачем ? В этот момент может происходить считывание с дисковода или вывод других символов на экран. А тут мы не с того не с сего со своими символами. Так как прерывания могут наступать одновременно, то есть приоритет их обработки. Есть прерывание, которые выполняться в любом случае даже если идет обработка другого прерывания. Процедура обработки прерывания это программа. Вопрос в том только где она храниться. Базовая обработка прерывания храниться в BIOS и в самих микросхемах оборудования. Но использовать их довольно тяжело. Представьте, для того , что бы записать файл нужно завести двигатель дисковода, установить головку, дать команду перейти в тот сектор прочитать таблицу файлов, проверить что там нет файла и так далее так далее. Все эти задачи облегчает операционная система, которая предоставляет Вам прерывания более высоко уровня. Используя эти прерывания, Вы можете одним заходом создать файл, например. Различают прерывания по номерам:

21h - прерывание DOS

13h - прерывание BIOS

Вот когда Вы вызываете прерывание (INT) Вы указываете еще и номер (21h) то есть, кто будет выполнять это действие.

 

Прерывания в MS-DOS

Операционная система MS-DOS состоит из множества различных файлов. Они включают собственно файлы операционной системы IO.SYS, MSDOS.SYS и командный процессор COMMAND.COM. Кроме этих трех файлов, представляющих собой работоспособное ядро MS-DOS, в дистрибутив операционной системы включены файлы так называемых внешних команд, например FORMAT, FDISK, SYS, драйверы различных устройств и некоторые другие файлы.

Файл MSDOS.SYS в некотором смысле является набором программ обработки прерываний, в частности прерывания INT 21H.

Int - это сокращение слова Interrupt что на русский переводиться как прерывание. Выглядит это команда так:

Int номер

(у каждого прерывания  есть номер)

 

Прерывания в Windows

В операционных системах семейства Windows программные прерывания используются для вызовов многих API (набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах; Используется программистами при написании всевозможных приложений)функций. В ассемблере X86 прерывание вызывается командой int.

В современных системах обработчики прерываний делятся на Высокоприоритетные Обработчики Прерываний (ВОП) и Низкоприоритетные Обработчики Прерываний (НОП).

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

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

НОП завершает обработку прерывания. НОП либо имеет собственный поток для обработки, либо заимствует на время обработки поток из системного пула. Эти потоки планируются наравне с другими, что позволяет добиться более гладкого выполнения процессов. НОП выполняется с гораздо менее жесткими ограничениями по времени и ресурсам, что облегчает программирование и использование драйверов.

В разных системах ВОП и НОП именуются по-разному. В операционной системе Windows ВОП называется обработчиком прерывания, а НОП — отложенный вызов процедуры (DPC (пецифический механизм вызова процедур в архитектуре Windows), Deferred Procedure Call)

 

Размещение операционной системы в памяти

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

 

Список литературы:

  1. http://www.xserver.ru/computer/os/win9x/7/10.shtml
  2. http://www.firststeps.ru/asm/r.php?4
  3. https://ru.wikipedia.org/wiki/

Информация о работе Система прерываний в MS-DOS и WINDOWS. Размещение операционной системы в памяти