MVS
MVS (Multiple Virtual Storage, Множественная виртуальная память) — это семейство операционных систем для мейнфреймов IBM, разработанное в 1970-х годах и ставшее одной из наиболее распространённых платформ для корпоративных вычислений в мире. MVS обеспечивает одновременную работу множества приложений в изолированных виртуальных адресных пространствах, управление ресурсами (памятью, процессорами, устройствами ввода-вывода) и поддержку пакетной обработки данных. Система является предшественником современных операционных систем z/OS и до сих пор используется в модифицированном виде на мейнфреймах IBM Z.
История
Разработка и первые версии (1974—1980)
MVS была создана как замена операционной системе OS/360 (в частности, её варианта MVT — Multiprogramming with a Variable Number of Tasks). Первая версия, MVS/370, была выпущена в 1974 году для мейнфреймов IBM System/370. Основным нововведением стала поддержка 31-битной адресации (вместо 24-битной в OS/360), что позволило адресовать до 2 гигабайт виртуальной памяти на каждое адресное пространство.
В 1977 году вышла версия MVS/SE (System Extensions), которая добавила поддержку расширенной архитектуры (XA — Extended Architecture) и возможность работы с 31-битными адресами в реальном режиме. К 1980 году MVS стала основной операционной системой для крупных корпоративных центров обработки данных, особенно в банковской сфере, страховании и государственном управлении.
Эволюция в MVS/ESA и OS/390 (1980—1990-е)
В 1988 году IBM выпустила MVS/ESA (Enterprise Systems Architecture), которая поддерживала 31-битную адресацию и ввела концепцию «гиперпространства» (data spaces) — дополнительных адресных пространств для хранения данных, не используемых для выполнения кода. Это позволило обрабатывать объёмы данных, превышающие 2 ГБ на одно приложение.
В 1990-х годах MVS была переименована в OS/390, которая объединила ядро MVS с дополнительными компонентами: подсистемой управления заданиями JES (Job Entry Subsystem), файловой системой HFS (Hierarchical File System) и поддержкой UNIX-подобного окружения (POSIX). OS/390 стала промежуточным звеном между классической MVS и современной z/OS.
Переход к z/OS (2000-е — настоящее время)
В 2000 году IBM выпустила z/OS — 64-битную операционную систему для мейнфреймов IBM Z, которая сохранила обратную совместимость с MVS. Ядро z/OS (называемое BCP — Base Control Program) является прямым потомком MVS. Несмотря на смену названия, многие администраторы и разработчики по-прежнему называют современные версии z/OS «MVS» в профессиональном сленге.
Архитектура и основные компоненты
Ядро (BCP — Base Control Program)
BCP — это базовое ядро MVS, отвечающее за управление процессами, памятью, вводом-выводом и обработку прерываний. Оно работает в режиме супервизора и обеспечивает изоляцию приложений друг от друга. BCP включает:
- Диспетчер задач — планировщик, распределяющий процессорное время между адресными пространствами и задачами.
- Менеджер памяти — управляет виртуальной памятью, страничной подкачкой и сегментацией.
- Менеджер ввода-вывода — обрабатывает запросы к устройствам (диски, ленты, сети) через каналы и контроллеры.
Адресные пространства
Каждое приложение или пользовательский сеанс выполняется в собственном адресном пространстве — изолированной области виртуальной памяти размером до 2 ГБ (в MVS/370) или до 16 ЭБ (в z/OS). Адресные пространства делятся на:
- Пространства задач (task spaces) — для выполнения пользовательских программ.
- Системные пространства — для работы ядра, подсистем и демонов.
Подсистемы
MVS использует модульные подсистемы для расширения функциональности:
- JES (Job Entry Subsystem) — управление пакетными заданиями (JCL — Job Control Language). JES принимает задания от пользователей, ставит их в очередь, запускает на выполнение и выводит результаты.
- TSO (Time Sharing Option) — интерактивная подсистема для работы пользователей в режиме разделения времени. TSO предоставляет командную строку и доступ к файлам.
- SDSF (System Display and Search Facility) — утилита для мониторинга состояния системы, просмотра очередей заданий и управления выводом.
- RACF (Resource Access Control Facility) — система управления доступом, обеспечивающая аутентификацию и авторизацию пользователей.
Файловая система
Традиционно MVS использует иерархическую файловую систему на основе наборов данных (data sets). Наборы данных могут быть:
- Последовательными (sequential) — линейная последовательность записей.
- Индексно-последовательными (ISAM) — с доступом по ключу.
- Прямого доступа (direct access) — для баз данных и других структур.
В более поздних версиях (OS/390, z/OS) добавлена поддержка HFS (Hierarchical File System) и zFS (z/OS File System), совместимых с POSIX.
Применение
Корпоративные вычисления
MVS (и её наследники) традиционно используется в крупных организациях для обработки транзакций в реальном времени (OLTP — Online Transaction Processing). Основные области:
- Банковское дело — обработка платежей, управление счетами, клиринг.
- Страхование — расчёт премий, управление полисами.
- Государственное управление — налоговые системы, пенсионные фонды, социальные выплаты.
- Авиаперевозки — системы бронирования билетов (например, Amadeus, Sabre).
Пакетная обработка
MVS остаётся одной из лучших платформ для пакетной обработки больших объёмов данных. Типичные сценарии:
- Ежедневная выгрузка и загрузка данных из баз.
- Генерация отчётов (финансовых, статистических).
- Расчёт заработной платы.
- Обработка страховых претензий.
Совместимость с UNIX
Начиная с OS/390, MVS поддерживает UNIX-подобное окружение (POSIX), что позволяет запускать на мейнфреймах приложения, написанные для Linux или других UNIX-систем. Это расширило область применения MVS в веб-сервисах и облачных вычислениях.
Критика и ограничения
Несмотря на надёжность и производительность, MVS подвергалась критике за:
- Сложность администрирования — система требует высокой квалификации персонала, знающего JCL, TSO и внутреннее устройство.
- Закрытость — до появления UNIX-поддержки MVS была полностью проприетарной и несовместимой с другими платформами.
- Высокую стоимость — лицензии на MVS и мейнфреймы IBM стоят значительно дороже, чем серверы x86 с Linux или Windows.
- Ограниченную поддержку современных языков — хотя MVS поддерживает COBOL, PL/I, Assembler и C, внедрение новых языков (Python, Go) затруднено.
Интересные факты
- MVS стала первой операционной системой, реализовавшей концепцию «виртуальной памяти» для мейнфреймов в промышленном масштабе.
- Код MVS написан в основном на ассемблере IBM System/370, что обеспечивает высокую производительность, но затрудняет модификацию.
- По оценкам IBM, на мейнфреймах под управлением z/OS (наследника MVS) обрабатывается около 70 % всех корпоративных транзакций в мире (по состоянию на 2023 год).
- В России MVS использовалась в крупных банках (например, Сбербанк) и государственных учреждениях, но с 2010-х годов происходит постепенный переход на Linux и другие платформы.
Источники
- IBM Corporation. «MVS/Extended Architecture: System Programming Library» (1985).
- IBM Corporation. «z/OS Concepts» (2020).
- John K. Brown. «The IBM Mainframe: How It Works and How to Use It» (2012).
- «OS/390 and z/OS: A Historical Perspective» — IBM Systems Journal, 2001.
- «MVS: The Operating System That Wouldn’t Die» — Computerworld, 1999.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →