поддержка
проекта:
разместите на своей странице нашу кнопку!И мы
разместим на нашей странице Вашу кнопку или ссылку. Заявку прислать на
e-mail
код нашей кнопки:
Прерывание
Специальный режим, характерный для мультипрограммной работы ЭВМ.
Прерывания организует операционная система ЭВМ, которая получает
информацию о необходимости прерывания от задач, выполняющихся на
различных устройствах ЭВМ одновременно.
Существует несколько классификаций типов прерываний. Рассмотрим одну из
них.
а) Прерывание по вводу-выводу. Одна из целей мультипрограммной работы -
организация параллельной работы процессора и устройств ввода-вывода. При
этом процессор должен получать информацию о состоянии устройств
ввода-вывода, чтобы иметь возможность управлять ими. Эту информацию
процессор получает посредством прерываний. Таким образом процессор может
работать и не ждать конца обмена между оперативной памятью и внешним
устройством. Об окончании обмена он будет извещен прерыванием.
б) Прерывание, вызванное работающей программой. Эти прерывания возникают
в процессе выполнения программ обращения к операционной системе, при
ошибках в коде операции, неправильной адресации, нарушении защиты
памяти, переполнении и в некоторых других случаях.
в) Внешние прерывания. Это удобное средство для организации сообщений о
внешних событиях, на которые должна реагировать машина. Такие прерывания
могут быть самыми различными: по сигналам от датчика времени, с пульта
оператора или пользователя, от датчиков и управляющих органов,
находящихся на управляемом объекте,, по завершении ввода-вывода и т. п.
г) Прерывание по сбою машины. Этот тип прерываний служит для защиты от
неисправностей машины. Использование таких прерываний предполагает, что
система еще способна нормально на них реагировать. К ним относятся
прерывание из-за сбоя питания, сбоя в каналах ввода-вывода и т. п.
Задача операционной системы - правильно определить причину прерывания и
выполнить действия, необходимые в данной ситуации.
Следует отметить, что обработка прерывания - дорогая по времени
процедура. Чтобы машина могла через некоторое время вернуться к
прерванной программе, она должна запомнить ее состояние в момент
прерывания. В большинстве вычислительных машин фактическое прерывание
выполнения программы происходит только в момент окончания выполнения
очередной команды. Поэтому запоминается лишь информация, необходимая для
выполнения последующих команд, которая
обычно включает в себя содержимое счетчика команд и регистров
арифметического устройства, состояние регистров, запрещающих отдельные
виды прерываний, причину прерывания, признаки, выработанные последней
выполненной командой (например, знак результата), ключ защиты памяти и
т. д.
Часть этой информации запоминается аппаратно, а часть программно, в
зависимости от типа машины. Чем большая часть информации запоминается
программно, тем больше времени тратится на обработку прерывания.