Прерванная команда - Большая Энциклопедия Нефти и Газа, статья, страница 1
Быть может, ваше единственное предназначение в жизни - быть живым предостережением всем остальным. Законы Мерфи (еще...)

Прерванная команда

Cтраница 1


Прерванная команда возвращается к тому состоянию, с которого она начиналась, и значение счетчика команд приостановленного процесса ( в стеке или в системной ячейке памяти) корректируется так, чтобы указывать на эту команду.  [1]

Код длины прерванной команды, который в ряде случаев может быть использован для попытки повторения команды в случае прерываний по сбоям аппаратуры.  [2]

3 Формат слова состояния канала ( ССК в ЕС ЭВМ. [3]

По 31 - й) и используется для записи последнего адреса прерванной команды канала.  [4]

После завершения фрагмента диалога, относящегося к выполненной прозрачной команде, появляется сообщение о возобновлении выполнения прерванной команды.  [5]

После завершения выполнения элемента операции, не являющегося последним, или после аннулирования любого элемента операции адрес команды в старом PSW указывает прерванную команду, а параметрам операндов присваиваются такие значения, которые могут обеспечить возобновление выполнения прерванной команды с момента прерывания, когда старое PSW, записанное в результате прерывания, снова станет текущим. Присвоенное параметрам операндов значение зависит от команды. Когда элемент операции подавляется, адрес команды в старом PSW указывает на команду, расположенную непосредственно за подавленной. Но параметрам операндов присваивается такое значение, при котором они будут указывать степень завершенности выполнения команды. Если после снятия условий, вызвавших подавление, команда выполняется вторично, то выполнение ее начинается с момента прерывания. Так же, как и в случае с завершением или аннулированием выполнения команды, значение, присваиваемое параметрам операндов, зависит от команды.  [6]

Комплекс средств восстановления системы предназначен для решения задач в условиях сбоев и отказов определением типов ошибки, записи информации и момента сбоя, анализа последствий сбоя и повторного запуска решения задачи с прерванной команды либо прекращения решения задачи в зависимости от характера сбоя, передачи управления на программы исправления ошибок, проведения перепланирования или корректировки работы устройств ввода - вывода и каналов системы обмена данными.  [7]

После завершения выполнения элемента операции, не являющегося последним, или после аннулирования любого элемента операции адрес команды в старом PSW указывает прерванную команду, а параметрам операндов присваиваются такие значения, которые могут обеспечить возобновление выполнения прерванной команды с момента прерывания, когда старое PSW, записанное в результате прерывания, снова станет текущим. Присвоенное параметрам операндов значение зависит от команды. Когда элемент операции подавляется, адрес команды в старом PSW указывает на команду, расположенную непосредственно за подавленной. Но параметрам операндов присваивается такое значение, при котором они будут указывать степень завершенности выполнения команды. Если после снятия условий, вызвавших подавление, команда выполняется вторично, то выполнение ее начинается с момента прерывания. Так же, как и в случае с завершением или аннулированием выполнения команды, значение, присваиваемое параметрам операндов, зависит от команды.  [8]

Когда при выполнении прерываемой команды элемент операции прекращается, содержимое всех полей, которые должны быть изменены этой командой, вообще говоря, является непредсказуемым. После прерывания адрес команды в старом PSW указывает на команду, расположенную непосредственно за прерванной командой.  [9]

Когда процесс обращается к странице, не отображаемой в данный момент, он вызывает страничное прерывание. Обработчик страничных прерываний, который может находиться в ядре или в пользовательском пространстве, определяет машину, содержащую страницу, и посылает ей сообщение с просьбой выгрузить страницу и послать ее по сети. Когда страница прибывает, она попадает в карту и прерванная команда перезапускается.  [10]

Когда процесс обращается к странице, не отображаемой в данный момент, он вызывает страничное прерывание. Обработчик страничных прерываний, который может находиться в ядре или в пользовательском пространстве, определяет машину, содержащую страницу, и посылает ей сообщение с просьбой выгрузить страницу и послать ее по сети. Когда страница прибывает, она попадает в карту и прерванная команда перезапускается.  [11]

Диспетчер памяти замечает, что страница не отображается ( обозначена крестиком на рисунке), и инициирует прерывание центрального процессора, передающее управление операционной системе. Операционная система выбирает малоиспользуемый страничный блок и записывает его содержимое на диск. Затем она считывает с диска страницу, на которую произошла ссылка, в только что освободившийся блок, изменяет карту отображения и запускает заново прерванную команду.  [12]

Периферийный процессор, выполняя данную команду, вырабатывает некоторый адрес главной памяти. Устройство управления после этого выполняет следующую работу: содержимое всех управляющих регистров ЦП, а именно регистров Р, RA, FL, ЕМ, а также содержимое всех адресных, индексных и регистров операндов пересылается в определенном порядке в массив главной памяти, указанный в команде перехода со сменой. Одновременно из той же самой области памяти хранившаяся там информация в той же последовательности рассылается по главным регистрам центрального процессора. Происходит, таким образом, процесс обмена содержимого указанного участка памяти с быстрыми регистрами. Это эквивалентно запоминанию состояния программы, прерванной командой перехода со сменой задач, и переходом к решению другой задачи, состояние которой хранилось в этом же участке запоминающего устройства. Очевидно, если в дальнейшем возникнет необходимость продолжить выполнение прерванной программы, следует дать команду перехода с адресом этого участка памяти.  [13]

Второй подход - использовать аппаратное обеспечение мультикомпьютера и операционную систему, которая моделирует разделенную память, обеспечивая единое виртуальное адресное пространство, разбитое на страницы. Каждая машина содержит свою собственную виртуальную память и собственные таблицы страниц. Если процессор совершает команду LOAD или STORE над страницей, которой у него нет, происходит прерывание операционной системы. Затем операционная система находит нужную страницу и требует, чтобы процессор, который обладает нужной страницей, преобразовал ее в исходную форму и послал по сети межсоединений. Когда страница достигает пункта назначения, она отображается в память, и выполнение прерванной команды возобновляется. По существу, операционная система просто вызывает недостающие страницы не с диска, а из памяти. Но у пользователя создается впечатление, что машина содержит общую разделенную память. DSM мы рассмотрим ниже в этой главе.  [14]

При появлении прерывания, принадлежащего некоторому классу, аппаратно производится запоминание текущего PSW по фиксированному адресу и извлечение нового PSW по другому фиксированному адресу. Это новое PSW теперь становится текущим и переводит ЦП в то состояние, которое специфицировано в нем. Такая организация позволяет допускать прерывания в программах реакций на прерывания, если классы прерываний различны. В принципе допускается глубина прерываний, равная четырем. Прерывания могут возникнуть только после окончания одной операции и перед началом другой, если речь идет о прерываниях по вводу-выводу и внешних прерываниях. Внутренние прерывания, связанные с контролем аппаратуры и защитой памяти, могут возникнуть до окончания выполнения команд. В этом случае выполнение команды приостанавливается и возврат в прерванную программу должен быть осуществлен на начало прерванной команды, а не на следующую команду, как это делается в предыдущем случае. В старом PSW есть вся необходимая информация для осуществления такого возврата.  [15]



Страницы:      1    2