Россия |
Эволюция z/OS
MVS/370 (Multiple Virtual Storage/370)
В соответствии с концепцией MVS, каждая прикладная программа, выполняющаяся на платформе S/370, получает в свое распоряжение виртуальное адресное пространство объемом 16 MB, что существенно увеличивает объем доступной приложению памяти по сравнению с SVS. Это означает также, что может быть увеличено количество одновременно выполняемых приложений. Кроме того, наличие раздельных адресных пространств повышает степень безопасности программ и пользователей, поскольку приложение, работающее в одном адресном пространстве, не имеет возможности (преднамеренно или нет) напрямую обратиться к памяти в других адресных пространствах. Однако в некоторых случаях приложения нуждаются во взаимодействии, когда они обмениваются данными или используют одни и те же общие программы. В MVS/370 для этой цели в каждом виртуальном адресном пространстве была выделена так называемая общая область (common area), в которой резервировалось место для размещения программ (предназначенных в основном для поддержки системных сервисов) и данных, доступных всем приложениям. Остальная часть адресного пространства, защищенная от других приложений, названа приватной областью (private area) (рис. 5.2).
Для того чтобы не расширять объем общей области (и, стало быть, не сокращать объем приватной), для некоторых системных программ MVS выделяются отдельные виртуальные адресные пространства. Для организации взаимодействия с такими программами, а также для взаимодействия между обычными приложениями в архитектуре S/370 был реализован альтернативный механизм межпространственной связи CMF (Cross Memory Facility). Этот механизм основан на специальных процессорных командах, с помощью которых можно передавать данные из одного адресного пространства в другое, а также запускать процедуры из других адресных пространств. При этом используются встроенные средства обеспечения безопасности на основе средств авторизации.
MVS/XA (Multiple Virtual Storage/eXtended Architecture)
К концу 70-х предел в 16 MB для приложений становился все более заметным ограничивающим фактором. Переход на архитектуру S/370-XA (eXtended Architecture) обеспечил расширение разрядности адреса до 31 бит, что дало возможность в новой версии операционной системы MVS/XA (1983) создавать виртуальные адресные пространства размером 231 = 2 GB (рис. 5.3). Этот объем виртуальной памяти, выделяемый приложению, применялся вплоть до перехода на 64-разрядную архитектуру zSeries (z/Architecture).
Для сохранения преемственности структура виртуального адресного пространства MVS/XA в младших 16 MB осталась прежней. Свыше границы 16 MB (как стали говорить "above line" - "над линией") появились расширенная общая область (Extended Common Area), как продолжение общей области MVS/370, и расширенная приватная область (Extended Private Area), дающая дополнительное жизненное пространство для 31-разрядных приложений. Механизм межпространственной связи (CMF) был адаптирован к новому формату адресных пространств.
Следует отметить, что для поддержки "старых" приложений, разработанных для MVS/370, в MVS/XA была сохранена возможность переключения в режим 24-разрядной адресации. В этом случае приложения могли использовать по-прежнему только 16-мегабайтную область адресного пространства.
MVS/ESA (Multiple Virtual Storage/Enterprise System Architecture)
Появление архитектуры ESA/370 в 1988 году привело к созданию операционной системы для этой платформы, получившей название MVS/ESA. Основные нововведения в этой версии были связаны с использованием расширенной памяти (expanded storage), впервые реализованной в системе ES/3090 в 1985 году. Расширенная память, являясь фактически продолжением основной (центральной) памяти, стала использоваться для хранения вытесненных из основной памяти страниц, что позволило существенно уменьшить время на страничный обмен по сравнению с применением для этой цели дисковой памяти. Расширенная память адресуется поблочно (размер блока - 4 KB). Объем расширенной памяти мог достигать 8 GB, в то время как основная память была по-прежнему ограничена 2 GB.
В MVS/ESA появились виртуальные адресные пространства нового типа: пространства данных (Data Spaces) и гиперпространства (от HIgh PERformance Spaces - "высокопроизводительные пространства"). Общая схема адресных пространств MVS/ESA представлена на рис. 5.4. Практически в таком виде эта схема сохранилась в последующих версиях MVS и OS/390 и легла в основу построения z/OS.
Пространства данных могут иметь размер от 4 KB до 2 GB и адресуются побайтно. Они могут создаваться приложениями для размещения данных произвольного типа и доступа к этим данным в процессе выполнения. В отличие от обычных адресных пространств, в пространствах данных не могут размещаться и исполняться программные коды. Для доступа к данным, размещенным в пространствах данных, в архитектуре ESA/370 в качестве базовых регистров применяются специальные регистры доступа (AR), что позволяет приложениям одновременно взаимодействовать с несколькими пространствами данных (до 16), используя стандартные процессорные команды. Следует отметить, что в MVS/ESA появились пространства данных, создаваемые для нужд операционной системы и используемые специальными системными программами, такими как VLF, LLA, DLF и др.
Гиперпространства представляют собой разновидность пространств данных, но с некоторыми специфическими чертами. Главная особенность заключается в том, что данные из гиперпространств могут вытесняться только в расширенную память (никогда во внешнюю!), что обеспечивает повышение производительности при их обработке. Память гиперпространств адресуется поблочно (размер блока 4 KB).
MVS/ESA SP V4 (Multiple Virtual Storage/Enterprise System Architecture, System Product Version 4)
Очередной вехой в развитии технологии MVS стало появление четвертой версии операционной системы MVS/ESA в 1990 году, ориентированной на архитектуру ESA/390 (ES/9000). Основные изменения системного программного обеспечения были связаны с появлением ESCON-каналов и внедрением элементов технологии сисплекс (Sysplex) для построения многомашинных комплексов. В связи с этим появились новые компоненты и функции, такие как XCF (Cross System Coupling Facility) для управления ресурсами в многомашинной среде, APPC (Advanced Program-to-Program Communications) для организации взаимодействия приложений в распределенной системе на базе протокола APPN. Кроме того, была произведена модернизация стандартных функций MVS для работы в сисплексе.
Механизм управления памятью продолжал совершенствоваться за счет внедрения новых алгоритмов страничного обмена (например, был реализован блочный обмен (block paging)), более надежных методов защиты и распределения рабочей нагрузки. В третьем выпуске MVS/ESA SP V4 был сделан первый шаг в сторону интеграции MVS и UNIX и вступления MVS в сообщество открытых систем: реализована поддержка интерфейса прикладного программирования (API) для C/C++ приложений в соответствии с международным стандартом IEEE POSIX 1003.2 (Portable Operating System Interfaces UNIX).
MVS/ESA SP V5 (Multiple Virtual Storage/Enterprise System Architecture, System Product Version 5)
Пятая версия MVS/ESA была выпущена в 1994 году, она предназначалась для установки на серверы 9672 (Parallel Enterprise Server). Данная версия обеспечивала полную поддержку технологии параллельного сисплекса (Parallel Sysplex). В ней впервые был представлен модуль управления рабочей нагрузкой WLM (WorkLoad Manager), дающий возможность рационального распределения системных ресурсов между приложениями на основе сформулированных целей функционирования.
В релизе 2.2 были существенно расширены возможности UNIX-сервиса, получившего в то время название Open Edition ("открытая редакция"). Это название подчеркивало полную поддержку возможностей стандарта открытых систем X/Open Portability Guide, принятого многими разработчиками UNIX-систем. Данный стандарт унифицирует набор функций интерфейса системных вызовов (API) и интерфейс пользователя (shell) для переноса программного обеспечения и повышения мобильности пользователей открытых систем независимо от платформы. Таким образом, в MVS была интегрирована пользовательская оболочка shell UNIX, реализована поддержка иерархической файловой системы UNIX и стало возможным использование приложений на языке С/С++, написанных для UNIX-компьютеров. Одновременно в рамках UNIX-сервиса были представлены компоненты для поддержки распределенных вычислений на основе стандарта DCE (Distributed Computing Environment).
Для повышения эффективности обработки пакетных заданий при обработке последовательных наборов данных был введен компонент BatchPipes/MVS и применена технология Hiperbatch.
Значительные изменения коснулись коммуникационных сервисов. eNetwork Communication Server объединил средства поддержки вычислительных сетей на базе двух протоколов: SNA и TCP/IP. Для доступа пользователей локальной сети NetWare к ресурсам S/390 добавлен компонент LANRES, а для реализации функций файл-сервера для пользователей, использующих рабочие станции OS/2, DOS, Windows, UNIX-компонент LAN Server for MVS.