Открыть сервис

JES3

JES3 (Job Entry Subsystem 3) — это компонент операционной системы IBM z/OS (и её предшественников, таких как OS/390 и MVS), отвечающий за управление пакетными заданиями (batch jobs) в мейнфреймовых вычислительных системах. JES3 выполняет функции приёма, планирования, обработки и вывода заданий, обеспечивая эффективное использование ресурсов мейнфрейма, особенно в конфигурациях с несколькими процессорами (мультипроцессорных системах). Разработан компанией IBM и является частью подсистемы управления заданиями (Job Entry Subsystem, JES), наряду с более распространённым JES2.

История

JES3 был разработан в 1970-х годах как эволюция более ранней системы управления заданиями, известной как ASP (Attached Support Processor). ASP представляла собой программное обеспечение, позволявшее одному мейнфрейму (главному процессору) управлять заданиями, выполняемыми на других, подключённых к нему процессорах. С появлением операционной системы MVS (Multiple Virtual Storage) в 1974 году IBM интегрировала функциональность ASP в новую подсистему, названную JES3. Первоначально JES3 предназначался для мощных, многопроцессорных конфигураций IBM System/370, где требовалась централизованная координация заданий между несколькими процессорами.

В отличие от JES2, который был ориентирован на более простые, одно- или двухпроцессорные системы, JES3 с самого начала проектировался для работы в сложных, многопроцессорных средах с высокой степенью параллелизма. С развитием архитектуры мейнфреймов — от MVS/ESA к OS/390 и затем к z/OS — JES3 продолжал развиваться, получая поддержку новых технологий, таких как 64-битная адресация, Sysplex и Workload Manager (WLM). Однако, начиная с 2000-х годов, IBM начала постепенно смещать акцент в сторону JES2, который стал более гибким и адаптируемым к современным требованиям. В 2016 году IBM объявила о прекращении поддержки JES3 в будущих версиях z/OS, рекомендовав пользователям мигрировать на JES2. Последняя версия JES3 была включена в z/OS V2.2, а начиная с z/OS V2.3 (2017 год) JES3 больше не поставляется, хотя существующие инсталляции могут продолжать его использовать.

Архитектура и принципы работы

JES3 работает по принципу централизованного управления (global processor). В конфигурации JES3 один из процессоров в комплексе (комплексе мейнфреймов) назначается «главным» (Global Processor), который берёт на себя все функции планирования, управления очередями и распределения заданий. Остальные процессоры в системе называются «локальными» (Local Processors) и выполняют задания, полученные от главного. Эта архитектура отличается от JES2, где каждый процессор управляет своей собственной очередью заданий независимо.

Основные компоненты JES3

  • JES3 Global Processor — центральный узел, на котором выполняются все основные функции JES3: приём заданий, их преобразование, планирование, управление выводом и коммуникация с локальными процессорами.
  • JES3 Local Processor — процессор, который получает задания от главного и выполняет их. Локальный процессор не управляет очередями самостоятельно, а лишь исполняет команды глобального.
  • JES3 Spool — область на диске (или в памяти), где хранятся все входные и выходные данные заданий, а также управляющая информация. JES3 использует единый спул, доступный всем процессорам в комплексе.
  • JES3 Scheduler — компонент, отвечающий за планирование заданий. Он определяет порядок их выполнения на основе приоритетов, доступности ресурсов (память, процессорное время, устройства ввода-вывода) и зависимостей между заданиями.
  • JES3 Converter — преобразует исходные управляющие операторы JCL (Job Control Language) во внутренние структуры, понятные операционной системе.
  • JES3 Output Writer — управляет выводом результатов заданий на принтеры, терминалы или в другие устройства.

Жизненный цикл задания в JES3

  1. Приём (Input): Задание (обычно в виде набора JCL и данных) поступает в систему через устройство ввода (например, карточный ридер, терминал, сетевой интерфейс). JES3 принимает задание и помещает его в спул.
  2. Преобразование (Conversion): JES3 анализирует JCL, проверяет синтаксис, разрешает символические имена и преобразует задание во внутреннее представление. Если в JCL есть ошибки, задание может быть отклонено.
  3. Планирование (Scheduling): JES3 Scheduler определяет, когда и на каком процессоре задание будет выполняться. Учитываются приоритеты, требования к ресурсам (например, определённые устройства ввода-вывода) и загрузка системы. JES3 поддерживает сложные схемы планирования, включая зависимость от завершения других заданий.
  4. Выполнение (Execution): Задание передаётся на локальный процессор (или на глобальный, если он сам выполняет задания), где операционная система запускает его шаги (job steps). JES3 отслеживает ход выполнения и управляет выделением ресурсов.
  5. Вывод (Output): После завершения задания JES3 обрабатывает его выходные данные (отчёты, сообщения, файлы), помещает их в спул и направляет на устройства вывода (принтеры, плоттеры, электронные архивы) или передаёт пользователю через терминал.
  6. Очистка (Purge): После того как результаты выведены, задание удаляется из спула, а занятые ресурсы освобождаются.

Отличия от JES2

Хотя JES2 и JES3 выполняют схожие функции, между ними есть принципиальные различия, которые определяют области их применения:

ХарактеристикаJES2JES3
АрхитектураДецентрализованная: каждый процессор управляет своей очередьюЦентрализованная: один глобальный процессор управляет всеми очередями
Сложность конфигурацииПроще, подходит для небольших и средних системСложнее, требует тщательного планирования, но эффективен для крупных систем
МасштабируемостьОграничена числом процессоров в одном SysplexВысокая, поддерживает до 64 процессоров в одном комплексе
Управление ресурсамиКаждый процессор управляет своими ресурсами независимоЦентрализованное управление всеми ресурсами комплекса
Гибкость планированияМенее гибкое, но проще в настройкеОчень гибкое, с поддержкой сложных зависимостей и приоритетов
Поддержка в современных версиях z/OSАктивно поддерживается, является стандартомПрекращена (начиная с z/OS V2.3)

JES2, как правило, выбирают для систем, где требуется простота и гибкость, а JES3 — для крупных вычислительных центров с высокой нагрузкой и множеством процессоров, где централизованное управление даёт преимущества.

Применение

JES3 традиционно использовался в крупных корпоративных и государственных вычислительных центрах, где требовалась обработка огромных объёмов пакетных заданий. Типичные области применения:

  • Финансовый сектор: банки, страховые компании — для обработки транзакций, расчётов, генерации отчётов.
  • Государственные учреждения: налоговые службы, пенсионные фонды — для массовой обработки данных.
  • Промышленность: крупные производственные компании — для управления логистикой, складскими запасами, планированием производства.
  • Телекоммуникации: для биллинга, обработки данных о трафике, управления сетями.

В современных условиях, с переходом на JES2, большинство организаций, использующих мейнфреймы IBM, мигрировали свои системы. Однако некоторые старые инсталляции, особенно те, где были разработаны сложные, оптимизированные под JES3 процедуры, продолжают его эксплуатировать.

Критика и ограничения

Несмотря на свою мощность, JES3 имел ряд недостатков, которые привели к его постепенному вытеснению JES2:

  • Сложность администрирования: Настройка и поддержка JES3 требуют высокой квалификации персонала. Ошибки в конфигурации могут привести к полной остановке обработки заданий.
  • Единая точка отказа: Выход из строя глобального процессора парализует работу всей системы JES3, так как все задания зависят от него. В JES2 отказ одного процессора не влияет на работу других.
  • Меньшая гибкость: Централизованное планирование менее адаптивно к динамическим изменениям нагрузки по сравнению с децентрализованным подходом JES2.
  • Зависимость от версий: С прекращением поддержки JES3 в новых версиях z/OS пользователи лишились доступа к новым функциям и обновлениям безопасности, если не мигрировали на JES2.

Интересные факты

  • JES3 поддерживает работу с так называемыми «зависимыми заданиями» (dependent jobs), когда одно задание может быть запущено только после успешного завершения другого. Это позволяет строить сложные сценарии обработки данных.
  • В JES3 существует механизм «динамической реконфигурации» (dynamic reconfiguration), позволяющий изменять состав процессоров в комплексе без остановки системы.
  • Название «JES3» не подразумевает, что это третья версия JES; нумерация (1, 2, 3) отражает разные архитектурные подходы. JES1 был ранней версией для OS/360, JES2 и JES3 — параллельные разработки для MVS.

Источники

  • IBM Knowledge Center: z/OS JES3 Introduction (IBM Corporation)
  • IBM Redbooks: "JES3 to JES2 Migration Considerations" (IBM Corporation)
  • "MVS JES3: A Guide for Users and Administrators" — техническая документация IBM
  • "z/OS Concepts" — IBM Corporation
  • Статьи в журнале "IBM Systems Magazine" о миграции с JES3 на JES2

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →