Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
BIOS проверяет различные порты
компьютера для определения и инициализации подключенных устрой ств. Затем
BIOS создает в начале памяти (по адресу 0) таблицу прерываний, которая
содержит адреса обработчиков прерываний, и выполняет две операции INT 11H
(запрос списка присоединенного оборудования) и INT 12H (запрос размера
физической памяти).
Следующим шагом BIOS определяет имеется ли на диске или дискете
операционная система DOS. Если обнаружена системная дискета, то BIOS
выполняет прерывание INT 19H для доступа к первому сектору диска,
содержащему блок начальной загрузки. Этот блок представляет собой
программу, которая считывает системные файлы IBMBIO.COM, IBMDOS.COM и
COMMAND.COM с диска в память. После этого память имеет следующее
распределение:
Как было отмечено, при загрузке DOS в памяти компьютера располагаются два файла: IO.SYS (или IBMBIO.COM) и MSDOS.SYS (или IBMDOS.COM), которые обеспечивают, в том числе, выполнение DOS-прерываний. Заметим, что так как модули DOS обеспечивают большое количество разных дополнительных проверок, то операции DOS обычно проще в использовании и менее машиннозависимы, чем их BIOS аналоги.
Модуль IO.SYS (IBMBIO.COM) обеспечивает интерфейс с BIOS низкого уровня. Эта программа выполняет управление вводом-выводом при чтении данных из внешних устройств в память и записи из памяти на внешние устройства.
Модуль MSDOS.SYS (IBMDOS.COM) содержит средства управления файлами и ряд сервисных функций, таких как блокирование и деблокирование записей.
К выполнению ВОП обычно предъявляются жесткие требования: малое время на выполнение, малое количество операций, разрешенных к выполнению, особая надежность, так как ошибки, допущенные во время выполнения, могут обрушить операционную систему, которая не может корректно их обработать. Поэтому ВОП обычно выполняют минимально необходимую работу: быстро обслуживают прерывание, собирают критичную информацию, которая доступна только в это время, и планируют выполнение НОП для дальнейшей обработки.
ВОП, которые обслуживают аппаратные устройства, обычно маскируют свое прерывание для того, чтобы предотвратить вложенные вызовы, которые могут вызвать переполнение стека.
НОП завершает обработку прерывания. НОП либо имеет собственный поток для обработки, либо заимствует на время обработки поток из системного пула. Эти потоки планируются наравне с другими, что позволяет добиться более гладкого выполнения процессов. НОП выполняется с гораздо менее жесткими ограничениями по времени и ресурсам, что облегчает программирование и использование драйверов.
В разных системах ВОП и НОП именуются по-разному. В операционной системе Windows ВОП называется обработчиком прерывания, а НОП отложенный вызов процедуры