Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТВЕТЫ ВСЕ.docx
Скачиваний:
31
Добавлен:
16.04.2019
Размер:
1.69 Mб
Скачать

7.19. Слово состояния программы psw, регистры

Слово состояния программы (program status word, PSW) представляет собой 128 разрядную область данных в процессоре, которая наряду со множеством других типов регистров (управляющих регистров, регистров времени и регистров префикса), содержит сведения, критически важные как для аппаратного, так и для программного обеспечения. Текущее слово состояния программы содержит адрес следующей программной инструкции и контрольную информацию о выполняющейся программе. Каждый процессор имеет только одно текущее слово состояния программы. Таким образом, процессор может одновременно выполнять только одну задачу.

PSW контролирует порядок подачи инструкций в процессор и отображает состояние системы относительно текущей выполняющейся программы. Несмотря на то что каждый процессор имеет только одно слово состояния программы, для понимания обработки прерываний полезно рассматривать три типа PSW:

• текущее PSW,

• новое PSW,

• старое PSW.

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

Существуют также новое PSW и старое PSW, связанные с каждым из шести типов прерываний. Новое PSW содержит адрес подпрограммы, которая может обрабатывать соответствующее прерывание. Если в процессоре включена поддержка прерываний, тогда при возникновении прерывания происходит переключение PSW с использованием следующего метода:

1. Сохранение текущего PSW в старом PSW, связанном с типом возникшего прерывания.

2. Загрузка содержимого нового PSW для возникшего прерывания в текущее PSW.

Текущее PSW, указывающее следующую выполняемую инструкцию, теперь содержит адрес требуемой подпрограммы для обработки прерывания. Это переключение вызывает передачу управления требуемой подпрограмме обработки прерываний.

Регистры. Архитектура мэйнфрейма содержит регистры для слежения за происходящими событиями. PSW, например, представляет собой регистр, используемый для записи информации, необходимой для выполнения текущей активной программы. Мэйнфреймы содержат и другие регистры, в частности:

регистры доступа – используются для определения адресного пространства, в котором находятся данные;

общие регистры – используются для адресации данных в памяти, а также для хранения пользовательских данных;

регистры с плавающей точкой – используются для хранения численных данных в формате с плавающей точкой;

управляющие регистры – используются самой операционной системой, например для ссылки на таблицы трансляции.

7.20. Диспетчеризуемые единицы работы z/os: tcb, srb. Вытесняемые и не вытесняемые единицы работы.

В z/OS диспетчеризуемые единицы работы представлены двумя видами управляющих блоков:

блоками управления задачами (task control blocks, TCB). Представляют задачи, выполняющиеся в адресном пространстве, в частности пользовательские программы и системные программы, поддерживающие пользовательские программы.

блоками запросов обслуживания (service request blocks, SRB). Представляют запросы на выполнение подпрограммы системного сервиса. SRB обычно создаются, когда одно адресное пространство обнаруживает событие, влияющее на другое адресное пространство; они обеспечивают единый механизм связи между адресными пространствами.

TCB – управляющий блок, представляющий задачу, например вашу программу, при ее выполнении в адресном пространстве. TCB содержит информацию о запущенной задаче, в частности адрес всех созданных ею областей памяти. Задача управления регионом (region control task, RCT), отвечающая за подготовку адресного пространства к загрузке и выгрузке, является задачей наивысшего приоритета в адресном пространстве. Все задачи в адресном пространстве являются подзадачами RCT.

SRB – управляющий блок, представляющий подпрограмму, выполняющую определенную функцию или службу в заданном адресном пространстве. Подпрограмма, выполняющая функцию или службу, называется SRB-подпрограммой; инициация процесса называется планированием SRB); SRB-подпрограмма выполняется в операционном режиме, называемом режимом SRB.

SRB подобен TCB в том, что он определяет единицу работы в системе. В отличие от TCB SRB не может «владеть» областями памяти. SRB-подпрограммы могут получать, обращаться, использовать и освобождать области памяти, но этими областями должен владеть TCB. В многопроцессорной среде SRB-подпрограмма после планирования может быть передана на другой процессор и выполняться одновременно с программой, ее запланировавшей. Программа, запланировавшая SRB, может продолжать выполнять обработку других задач параллельно с подпрограммой SRB. Как говорилось выше, SRB представляет средство асинхронной связи между адресными пространствами для программ, выполняющихся в z/OS.

Вытесняемые и не вытесняемые единицы работы.

То, какая подпрограмма получит управление после обработки прерывания, зависит от того, была ли прерванная единица работы вытесняемой. Если была, тогда операционная система определяет, какую единицу работы нужно выполнять следующей. Другими словами, система определяет, какая единица работы из всей работы в системе имеет наивысший приоритет, и передает управление в эту единицу работы.

Невытесняемая единица работы может быть прервана, но должна получить управление после обработки прерывания. Например, SRB часто являются невытесняемыми. Другими словами, если подпрограмма, представленная невытесняемым SRB, прервана, после обработки прерывания она получит управление. С другой стороны, подпрограммы, представленные TCB, например пользовательские программы, обычно являются вытесняемыми. Если ее выполнение прерывается, тогда после обработки прерывания управление возвращается операционной системе. Затем z/OS определяет, какая задача из всех готовых задач будет выполняться следующей.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]