Описание задания — это объект OS/400, задающий атрибуты и ресурсы, связанные с заданием. Он определяет:
список библиотек (по умолчанию);
очередь заданий;
данные маршрутизации;
принтер (по умолчанию);
приоритет планировщика вывода;
профиль пользователя.
Класс представляет собой объект OS/400, содержащий параметры, которые задают среду выполнения. Некоторые из них относятся к выделенным заданию ресурсам процессора. Например, может быть ограничено число процессов класса, выполняющихся одновременно. Это позволяет управлять объемом взаимного влияния процессов, конкурирующих за один и тот же системный ресурс. Данный предел, обычно называемый уровнем активности, связан с пулом памяти.
Пул памяти, (не путать с пулом вспомогательной памяти!) — это средство резервирования для подсистемы некоторого объема основной (оперативной) памяти. В основной памяти может быть размещено до 16 пулов памяти, один из которых всегда зарезервирован машиной. Пул памяти — это часть памяти, куда осуществляется динамическая подкачка страниц процессов, связанных с этим пулом. Например, один пул памяти может быть выделен для всех интерактивных заданий, а другой — для всех пакетных. Такой подход позволяет гарантировать, что пакетное задание не отберет себе страничный фрейм у интерактивного задания, и таким образом не повлияет на время ожидания ответа пользователем. Пакетные задания могут отбирать только страничные фреймы у других пакетных задач из пакетного пула памяти. Пулы памяти определяются в описании подсистемы.
Размеры, число и уровни активности пулов памяти управляются пользователем системы. Таким образом, система может быть настроена так, чтобы обеспечить максимальную производительность именно для данного пользователя. Подобная настройка в AS/400 при помощи различных средств выполняется вручную или автоматически при изменении характера рабочей нагрузки.
Старая и новая структуры задания
С появлением модели процессов ILE, описанной ранее, изменилась и структура задания в AS/400. Как именно — можно понять, сравнив ресурсы приложений, доступные в старой и новой структурах заданий, а также особенности их использования. Как правило, ресурсы приложений для задания включают в себя разделяемые файлы, управление транзакциями и память.
Старая структура задания |
Новая структура задания на основе |
|
модели процессов ILE |
Разделяемые файлы видимы всем |
Разделяемые файлы видимы всем |
прикладным программам задания |
прикладным программам задания, |
|
либо каждое приложение определяет |
|
собственное использование файлов |
Внешние имена — общие на уровне |
Область видимости внешних имен — |
задания, а не на уровне приложений |
одиночное приложение, то есть каж |
|
дое приложение задания имеет свое |
|
собственное пространство имен для |
|
внешних переменных |
Управление транзакциями |
Управление транзакциями осуществ |
осуществляется для всего задания |
ляется как на уровне задания, так и |
|
на уровне приложений |
Допускается только одна активизация |
Допускаются множественные активи |
программы в задании |
зации одной и той же программы. |
|
Каждая активизация имеет собствен |
|
ные (защищенные) области памяти |
Выделяется только одна область |
У каждой программы своя собствен- |
статической и автоматической (стек) |
ная защищенная статическая, авто- |
памяти и одна область динамической |
матическая (стек) и динамическая |
памяти для каждого языка |
(куча) память |
программирования |
|
Процессы, задачи, задания, группы активизации и потоки
Как уже упоминалось, первоначально в AS/400 было определено три уровня работы. Самый низкий уровень, под MI, — задача. Процесс «живет» на уровне MI и построен на структуре задач SLIC. Поверх модели процессов MI OS/400 в качестве единицы работы поддерживает задание. Большинство других ОС работают непосредственно с процессами. Но не OS/400. В этом отношении задание в ней — аналог процесса в других ОС.
Полнофункциональное задание обеспечивает лучшие возможности разделения ресурсов и защиты, чем процессы в других ОС; однако, для создания такого задания нужно больше времени. Задание AS/400 можно называть «полновесным».
Читать дальше