Блок управления задачами
Блок управления задачами ( TCB ) содержит состояние задачи. [а] например, в /360 и последующих версиях OS архитектуры IBM System/360 и последующих версиях.
TCB в OS/360 и его преемниках
[ редактировать ]В OS/360 , OS/VS1 , SVS , MVS/370 , MVS/XA , MVS/ESA , OS/390 и z/OS TCB [1] [2] [3] : 311–321 содержит, среди прочих данных, флаги недиспетчеризации, а также общие регистры и регистры с плавающей запятой для задачи, которая в данный момент не назначена ЦП.
TCB предоставляет якорь для связанного списка других связанных блоков запроса. [3] : 269–301 (РБ); верхний связанный RB для TCB содержит слово состояния программы (PSW), когда задача не назначена ЦП.
Когда диспетчер программы управления выбирает TCB для отправки, диспетчер загружает регистры из TCB и загружает PSW из верхнего RB TCB, тем самым диспетчеризируя единицу работы.
Блоки запроса
[ редактировать ]OS/360 имеет следующие типы блоков запросов
- Блок запроса прерывания [3] : 281–284
- IRB используется для обработки асинхронного выхода. [б]
- Блок запроса программы [3] : 285–287
- PRB представляет собой модуль, вызываемый с помощью макроса ATTACH, макроса LINK или синхронного выхода. [с]
- Блок запроса прерывания системы [3] : 289–291
- SIRB используется для запуска кода восстановления ошибок ввода-вывода.
- Блоки запросов супервизора [3] : 293–301
- SVRB представляет собой выполнение процедуры SVC типа 2, типа 3 или типа 4.
RB содержит несколько полей, среди которых старый PSW, старые регистры общего назначения, PSW и счетчик ожидания.
Диспетчеризация
[ редактировать ]Диспетчер — это процедура в ядре, которая выбирает работу для отправки. Он выбирает задачу с наивысшим приоритетом, которая:
- Не работает на другом процессоре
- Не установлены флаги неотправимости
- Имеет верхний RB с нулевым счетчиком ожидания.
Система поддерживает пару [д] указателей TCB, известных как TCB old и TCB new. Новый указатель TCB, равный нулю, заставляет диспетчера искать подходящую задачу.
Когда диспетчер находит подходящую задачу, он устанавливает старый и новый указатели TCB. загружает регистры из TCB и загружает PSW из верхнего RB.
Если диспетчеру не удается найти подходящую работу, он вводит включенное ожидание.
История
[ редактировать ]С появлением MVS/370 и последующих систем была введена совершенно новая среда: блок запроса на обслуживание (SRB), который обычно имеет более высокий приоритет, чем любой блок управления задачами, и, действительно, который сам по себе имеет два различных приоритета: Глобальный SRB (приоритет над всеми SRB и TCB локального адресного пространства) и локальный SRB (приоритет только над TCB локального адресного пространства); и диспетчер MVS должен управлять всем этим с абсолютной согласованностью на двух процессорах (MVS/370) и на шестнадцати процессорах (системах-преемниках).
См. также
[ редактировать ]Примечания
[ редактировать ]- ^ Примерно аналогично потоку в UNIX - подобных операционных системах.
- ^ Асинхронная процедура для обработки исключения, события таймера или другого сигнала.
- ^ Непривилегированная процедура обратного вызова .
- ^ В 65МП есть пара для каждого процессора; в MVS есть указатели на каждое адресное пространство.
Ссылки
[ редактировать ]- ^ Операционная система IBM System / 360 - Супервизор фиксированных задач - Номер программы 360S-CI-505 (PDF) (Третье изд.). Февраль 1967 г. Y28-6612-2.
{{cite book}}
:|work=
игнорируется ( помогите ) - ^ Операционная система IBM System / 360 - MVT Supervisor (PDF) (Восьмое изд.). Май 1973 г. GY28-6659-7 . Проверено 14 марта 2022 г.
{{cite book}}
:|work=
игнорируется ( помогите ) - ^ Перейти обратно: а б с д и ж Операционная система IBM System / 360: Блоки управления системой - Версия ОС 21.7 (PDF) (Десятое изд.). ИБМ. Апрель 1973 г. GC28-6628-9 . Проверено 12 июня 2022 г.
{{cite book}}
:|work=
игнорируется ( помогите )