Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
назначение системы прерываний ЭВМ. Синхронные и асинхронные,внутренние и внешние прерывания.↑ ⇐ ПредыдущаяСтр 13 из 13 Содержание книги
Поиск на нашем сайте
Современная ЭВМ представляет собой комплекс автономных устройств, каждое из которых выполняет свои функции под управлением местного устройства управления независимо от других устройств машины. Включает устройство в работу центральный процессор. Он передает устройству команду и все необходимые для ее исполнения параметры. После начала работы устройства центральный процессор отключается от него и переходит к обслуживанию других устройств или к выполнению других функций. Назначение системы прерывания программ – оперативно реагировать на определенные события, происходящие внутри и вне ЭВМ, путем выполнения специальной операции прерывания. Под операцией прерывания понимается (временное) прерывание процесса выполнения текущей программы и переключение процессора на выполнение другой программы, обслуживающей данную причину прерывания. По завершении обслуживания прерывания прерванный процесс должен быть продолжен с того момента, в котором он был прерван. С этой целью в момент прерывания процесса необходимо запомнить (сохранить) всю информацию, необходимую для его возобновления после обработки прерывания, т. е. информацию о состоянии процесса выполнения программы в момент прерывания. Прерывание — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код Событием называется сигнал, поступающий в процессор в результате возникновения особого случая при выполнении команды или при работе с внешним оборудованием. Реакцией на событие является передача управления на программу, ответственную за обработку данного события. При этом в большинстве случаев сохраняется информация о состоянии прерванной задачи для того, чтобы можно было возобновить ее исполнение, если это возможно, либо завершить ее, освободив принадлежащие ей ресурсы. В зависимости от источника возникновения сигнала прерывания делятся на: § асинхронные или внешние (аппаратные) — события, которые исходят от внешних источников (например, периферийных устройств) и могут произойти в любой произвольный момент: сигнал от таймера, сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши; § внутренние — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль или переполнение, обращение к недопустимым адресам или недопустимый код операции; § программные (частный случай внутреннего прерывания) — инициируются исполнением специальной инструкции в коде программы. Программные прерывания как правило используются для обращения к функциям встроенного программного обеспечения, драйверов и операционной системы. Внешние прерывания, в зависимости от возможности запрета, делятся на: маскируемые — прерывания, которые можно запрещать установкой соответствующих битов в регистре маскирования прерываний (в x86-процессорах — сбросом флага IF в регистре флагов); немаскируемые (англ. Non-maskable interrupt, NMI) — обрабатываются всегда, независимо от запретов на другие прерывания. К примеру, такое прерывание может быть вызвано сбоем в микросхеме памяти. § Обработчики прерываний обычно пишутся таким образом, чтобы время их обработки было как можно меньшим, поскольку во время их работы могут не обрабатываться другие прерывания, а если их будет много (особенно от одного источника), то они могут теряться. В Windows для этого применяется механизм отложенного вызова процедур. Программное прерывание — синхронное прерывание, которое может осуществить программа с помощью специальной инструкции. В процессорах архитектуры x86 для явного вызова синхронного прерывания имеется инструкция Int, аргументом которой является номер прерывания (от 0 до 255). В IBM PC-совместимых компьютерах обработку некоторых прерываний осуществляют подпрограммы BIOS, хранящиеся в ПЗУ, и это служит интерфейсом для доступа к сервису, предоставляемому BIOS. Также, обслуживание прерываний могут взять на себя BIOS карт расширений (например, сетевых или видеокарт), операционная система и даже обычные (прикладные) программы, которые постоянно находятся в памяти во время работы других программ (т. н. резидентные программы). В отличие от реального режима, в защищённом режиме x86-процессоров обычные программы не могут обслуживать прерывания, эта функция доступна только системному коду (операционной системе). MS-DOS использует для взаимодействия со своими модулями и прикладными программами прерывания с номерами от 20h до 3Fh (числа даны в шестнадцатиричной системе счисления, как это принято при программировании на языке ассемблера x86). Например, доступ к основному множеству функций MS-DOS осуществляется исполнением инструкции Int 21h (при этом номер функции и её аргументы передаются в регистрах). Это распределение номеров прерываний не закреплено аппаратно и другие программы могут устанавливать свои обработчики прерываний вместо или поверх уже имеющихся обработчиков, установленных MS-DOS или другими программами, что, как правило, используется для изменения функционала или расширения списка системных функций. Также, этой возможностью пользуются вирусы Внешние прерывания, в зависимости от возможности запрета, делятся на: маскируемые — прерывания, которые можно запрещать установкой соответствующих битов в регистре маскирования прерываний (в x86-процессорах — сбросом флага IF в регистре флагов); немаскируемые (англ. Non-maskable interrupt, NMI) — обрабатываются всегда, независимо от запретов на другие прерывания. К примеру, такое прерывание может быть вызвано сбоем в микросхеме памяти. Обработчики прерываний обычно пишутся таким образом, чтобы время их обработки было как можно меньшим, поскольку во время их работы могут не обрабатываться другие прерывания, а если их будет много (особенно от одного источника), то они могут теряться. В Windows для этого применяется механизм отложенного вызова процедур. Программные прерывания вызываются специальной командой (в МП 80х86 это команда INT) и являются специфической формой вызова подпрограммы. В данном случае программа операционной системы вызывается по её номеру, заданному в виде операнда команды, а параметры передаются через регистры. Это позволяет любой программе обращаться к системным функциям, не зная адреса исполняющей их программы. Кроме того, пользовательская программа не требует модификации при изменении системного объекта-исполнителя. Наличие системы прерываний позволяет организовать потоковый и интерактивный мультипрограммный режим работы, виртуальную память, обработку ошибок без останова вычислительного процесса, сетевые технологии и является неотъемлимой программно-аппаратной составляющей современных вычислительных комплексов и ОС.
|
||||
Последнее изменение этой страницы: 2017-02-21; просмотров: 388; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.184.236 (0.006 с.) |