Безопасность операционных систем. Безбогов А.А - 26 стр.

UptoLike

Каждое задание на обработку, будучи компонентом заявки пользователя, содержит данные, передаваемые операцион-
ной системе:
программы заданий (или их имена) и параметры запуска программ;
управляющую информацию задания;
требования на аппаратные и информационные ресурсы (ОЗУ, внешние устройства, библиотеки программ и т.д.);
исходные данные обработки.
Обслуживание заявок на обработку данных в соответствии с требованиями пользователей осуществляется операцион-
ной системой с привлечением различных программно-аппаратных средств.
3.2. СРЕДСТВА И МЕХАНИЗМЫ УПРАВЛЕНИЯ ЗАДАЧАМИ
3.2.1. Средства управления задачами на уровне
внешнего планирования
Информация, передаваемая операционной системе пакетом заданий, записывается по вполне определенным правилам.
Эти правила представлены в операционных системах описаниями языков, называемых либо командными языками, либо
языками управления заданиями, которые появились одновременно с мультипрограммными ОС и предназначены только для
описания заданий. Примерами командных языков являются язык пакетных файлов в MS DOS и JCL в ОС ЕС (JCL – Job
Control Language, язык управления работами). Командные языки универсальны в рамках одной архитектуры, т.е. могут быть
применены любым пользователем в любой модели ЭВМ данной архитектуры. Обработка JCL-операторов выполняется в ОС
с помощью "языковых процессоров управления заданиями" (JCL-процессоров). Существуют два принципа реализации JCL-
процессоров: компиляционный и интерпретационный.
Компиляционный принцип построения JCL-процессора предусматривает наличие в составе ОС специальной программы-
компилятора с языка управления заданиями. Все операторы пакета заданий, введенного в ЭВМ, сначала компилируются (т.е.
переводятся в некоторое внутреннее представление), и только затем используются операционной системой для целей управ-
ления процессами обработки данных. Такая схема обработки данных применена в ОС ЕС ЭВМ.
Интерпретационный принцип требует наличия программы-оболочки (Shell-программы), которая рассматривается в
системе как интерактивная программа-утилита, расположенная между пользователем и ядром системы. Shell-программа
воспринимает операторы командного языка, интерпретирует их и обеспечивает выполнение пользовательских программ. По
этой схеме построен JCL-процессор ОС Unix.
Рассмотрим одну из распространенных схем долгосрочного уровня планирования, в которой нашли отражение практи-
чески все необходимые средства для управления заданиями на этом уровне: системный ввод, инициатор, терминатор, сис-
темный вывод.
В функции системного ввода входят:
считывание управляющих операторов пакетов заданий с устройств системного ввода, их анализ и формирование
управляющих таблиц;
создание входных очередей работ и задач в соответствии с принятыми в ОС дисциплинами и режимами обслужива-
ния заявок;
запись входных данных и программ каждого задания в память прямого доступа (магнитные диски);
создание основы выходных очередей для выходных наборов данных и системных сообщений.
Программы системного ввода формируют управляющие таблицы. Совокупность управляющих таблиц образует базу
данных управляющей информации, необходимой для осуществления процессов долгосрочного и краткосрочного планиро-
вания в ОС. Связь различных таблиц этой базы осуществляется с помощью ключевых полей, в которые заносятся ссылки
(адреса) на записи в этой же или другой таблице.
Следующим этапом работы системного ввода является создание входной очереди. Сформированная очередь работ за-
писывается на устройство прямого доступа (магнитный диск). Одновременно с входной очередью осуществляется подготов-
ка и выходной очереди для выходных наборов данных и системных сообщений. По окончании своей работы системный ввод
передает управление инициатору.
Перечень действий, выполняемых инициатором, особенности программной реализации, способы расположения этого
системного компонента зависят от режима мультипрограммирования, реализуемого в операционной системе. Основной
функцией инициализатора является подготовка к исполнению (фаза инициализации) работы и задач. Для реализации этой
функции инициализатор выполняет основные виды действий:
1) распределение необходимых для исполнения работы и задач ресурсов системы;
2) выполнение дополнительных действий, связанных с порождением процессов.
При выполнении действий первого вида используются управляющие таблицы, сформированные системным вводом. На
данном этапе осуществляется:
распределение внешних устройств:
проверка доступности необходимых наборов данных;
выделение требуемой оперативной и внешней памяти.
Совокупность действий второго вида существенно различается для разных операционных систем. Завершающей опера-
цией является создание первого (главного) процесса очередной задачи, после чего управление передается системе управле-
ния процессами.
После окончания выполнения задачи начинает работать терминатор, который реализует основные функции:
освобождение всех ресурсов, ранее закрепленных за задачей (или за работой, если окончившаяся задача является по-
следней в работе);