В любой момент выполнения программы ее состояние представляется значением так называемого «слова состояния программы» или PSW (Programm Status Word).
Информация, составляющая PSW, отражает состояние ряда управляющих регистров машины. В момент прерывания текущее значение PSW помещается в основную память в двойное слово, адрес которого зависит от причины прерывания, и с этого момента называется старое PSW.
Для обработки полей информации в PSW предусмотрены программные средства (имеется, например, команда «загрузить PSW» — содержимое двойного слова из основной памяти сделать текущим PSW).
Общее назначение PSW — управление порядком выборки команд и фиксация состояния системы. Данную фиксацию состояния по аналогии можно сравнить с тем, как на кожу воздействует крем для солярия. Во-первых, он защищает кожу от повреждений, а во-вторых, сохраняет ее от преждевременного старения.
Все управления выполнением команд программы происходят с помощью PSW, в котором содержится, в частности, информация об адресе очередной команды и признак результата выполнения предыдущей команды. Если очередная выполняемая команда программы не является командой передачи управления и не вызывает прерывания, команды программы выполняются в порядке их расположения в основной памяти.
Проблемная и управляющая программа
Программа пользователя, называемая также проблемной программой, выполняется под управлением операционной системы.
Начальные адреса памяти постоянно заняты одним из элементов операционной системы, называемым «супервизор». Остальная часть основной памяти предоставляется в распоряжение одной или нескольких проблемных программ.
В начале функционирования системы управление получает супервизор, который в определенные моменты времени запускает проблемные программы. Команды проблемной программы выполняются одна за другой в порядке их расположения в основной памяти. Эта последовательность выполнения команд нарушается при возникновении следующих ситуаций:
- очередная выполняемая команда программы является одной из специальных команд передачи управления;
- очередная выполняемая команда является командой обращения к супервизору;
- при выполнении команды происходит прерывание.
Прерывание возникает, например, из-за того, что процессор не может правильно выполнить команду, или при наступлении некоторого события, внешнего по отношению к программе.
Для организации реакции на ситуации, вызывающие прерывания, в момент возникновения прерывания фиксируется специальная управляющая информация.
В первой ситуации программа продолжает выполняться. Во второй и третьей ситуациях выполнение программы пользователя прекращается и начинает выполняться программа супервизор.
Слово состояния программы
Борис
2016-11-18 06:06:36
Спасибо. :)