Cтраница 1
Механизм прерываний является предметом ожесточенных споров между разработчиками аппаратуры и программного обеспечения. Проблема состоит в том, как следует распределять системные затраты. Разработчики операционных систем настаивают на минимизации общего времени обработки прерывания, а также времени, в течение которого другие прерывания запрещаются. В связи с этим они предлагают сложные структуры прерываний, позволяющие уменьшить число команд, выполняющих сохранение и восстановление регистров, а также определяющих причину прерывания. Разработчики аппаратуры из-за трудностей изготовления и высокой стоимости сложных схем предпочитают более простые структуры, требующие, конечно, более сложного процесса программной обработки прерываний. В результате этих споров было создано несколько оригинальных структур прерываний. [1]
Механизм прерываний используется и для вызова подпрограмм из программы. В любом процессоре есть команды автопрерываний, по которым выполняются те же действия, что и по сигналам прерывания, приходящим из интерфейса. Эти команды называются еще командами вызова супервизора или командами-экстракодами. Они применяются для вызова подпрограмм операционной системы, для целей отладки, а также для вызова подпрограмм пользователя. На месте адреса операнда в экстракодах часто помещают код или номер подпрограммы. [2]
Мы использовали механизм прерываний, чтобы прекратить выполнение программы, но, конечно, он может быть применен и для ввода данных. Давайте построим программу, которая делает два дела сразу: из одного блока памяти посылает данные печатающему устройству и в то же время пересылает вводимые с клавиатуры данные в другой блок памяти. [3]
Таким образом, механизм прерывания заключается в замене старого ССП на новое ССП. Новые ССП определяют точки входа в Супервизор по каждому классу прерываний. Выполнение указанных действий, а также проверку маски прерываний осуществляют процедуры прерываний, хранимых в постоянной памяти. [4]
Выше был описан механизм прерываний процессоров в общем виде. В конкретных процессорах переключение программ при прерываниях имеет свои особенности. Например, в простых системах может отсутствовать возможность управления приоритетом процессора и он имеет в этом смысле только два состояния: в одном прерывание разрешено, в другом запрещено. При этом нет необходимости сохранения приоритета и для него не отводят разрядов в ССП. В ЭВМ общего назначения управление приоритетом осуществляется с помощью маски прерывания и соответственно в ССП отводятся разряды для маски и кода прерывания. [5]
Работа с мышью реализуется через механизм прерываний. Прикладная программа осуществляет прерывание 33h, передавая в регистрах необходимые параметры, и в регистрах же получает значения, возвращенные драйвером мыши. [6]
Приведите детальное описание способа функционирования механизма прерывания любой знакомой вам вычислительной машины. [7]
Можно было бы для этих целей использовать механизм прерываний в микро - ЭВМ, но в данном примере это усложнило бы решение. [8]
Безотносительно к варианту управления в NSP используется механизм прерывания процесса для информирования его о каких-либо новых условиях, возникших в процессе передачи данных. Кроме того, прерывающее сообщение может будить процесс, требуя возобновить обмен данными. Это происходит, например, когда обмен данными имеет прерывистый характер и процесс оказывается вытесненным из оперативной памяти. [9]
![]() |
Быстродействие ПЛК. [10] |
Одним из способов создания многозадачных ОС является использование механизма прерывания по сигналам внешних устройств, которыми управляет ПЛК. [11]
В современных ЭВМ работа операционных программ1 построена в значительной степени на использовании механизма прерываний. CPU переключается на выполнение программы задачи операционной программой. Программа задачи выполняется до тех пор, пока не возникает прерывание. В этом случае включается операционная программа, которая прежде всего запоминает текущее состояние и затем приступает к обработке в соответствии с причиной прерывания. Когда участие операционной программы больше не требуется, она путем переключения возвращает CPU к выполнению программы задачи. [12]
Следующая, общая для всех иерархических структур проблема обусловлена особенностями аппаратной реализации механизма прерываний. В принципе возможно создать систему прерываний, где каждое из них обрабатывалось бы целиком на соответствующем уровне. Например, нетрудно представить себе выделение 16 уровней прерываний, внутри каждого из которых допускается работа как в режиме задачи, так и в режиме управления. [13]
![]() |
Уровни операционной системы Е. [14] |
Использование Р - и V-операций имеет смысл и в однопроцессорных системах в связи с наличием диспетчера и механизма прерываний. Есть ресурсы, работать с которыми в любой данный момент времени может только одна программа. При необходимости обращения к такому ресурсу обрабатывающая программа вызывает распределитель ресурсов. Распределитель закрывает семафор, но если до выполнения V-операции фиксируется прерывание, то управление передается диспетчеру, а семафор остается закрытым, и, значит, следующей программе, пытающейся обратиться к рассматриваемому ресурсу, доступ к нему будет запрещен. Это соответствует логике работы с ресурсом, поскольку прерванная программа оставила его в полуизмененном состоянии, и, прежде чем представить этот ресурс в распоряжение другой программе, изменения нужно довести до конца. В некоторых операционных системах в подобной ситуации предусмотрена немедленная передача управления программе, удерживающей данный ресурс. Иногда семафоры закрываются только программами, работающими без прерываний. Из всех механизмов операционных систем для механизма, обеспечивающего функционирование семафоров, известно, пожалуй, наибольшее число разнообразных реализаций. Но несмотря на то, что в деталях они существенно различаются, принципиальная логика их работы одинакова. [15]