ОС ЕС
ОС ЕС ЭВМ (операционная система единой системы электронных вычислительных машин) — наиболее распространённая операционная система для машин ЕС ЭВМ. Первоначально представляла собой доработанный и русифицированный вариант OS/360 и OS/370. Обеспечивала пакетную обработку заданий, для написания которых применялся язык JCL.
ОС ЕС | |
---|---|
Основана на | OS/360 |
Последняя версия | 7.0 (198?) |
Состояние | Историческое |
До версии 6 применялись следующие режимы работы, которые задавались для ОС ЕС при генерации системы:
- ОС ЕС PCP — однозадачная система, этот режим существовал до версии 4.1 включительно.
- OC EC MFT — многозадачная система с фиксированным числом задач (Multiple Fixed Tasks). Физическая оперативная память при генерации (установке) системы делилась на участки фиксированного размера, в каждом из которых в режиме разделения могла выполняться одна задача. Задачи, требующие больше оперативной памяти, чем размер самого большого участка, могли выполняться только в монопольном режиме.
- OC EC MVT — многозадачная система с изменяемым числом задач (Multiple Variable Tasks). Для каждой задачи в момент запуска динамически выделялся непрерывный участок физической памяти требуемого (в задании на JCL) размера. Если не было свободного участка нужного размера, задание ожидало его освобождения в очереди, в это время могли выполняться задачи, менее требовательные к памяти.
Начиная с версии 6.0 режим PCP не применялся, но стал доступным режим SVS.
- OC EC SVS — многозадачная система с виртуальной памятью (Single Virtual Storage). Размещала задачи в едином виртуальном адресном пространстве (страничной организации) размером до 16 Мбайт (размер физической оперативной памяти обычно не превышал 1-2 Мбайт). Это обеспечивало запуск задач независимо от наличия непрерывного свободного участка физической оперативной памяти. Также система позволяла запускать задачи, требующие больше оперативной памяти, чем имеется физической.
ОС ЕС состояла из набора модулей, кратко перечисленных ниже:
- программа начальной загрузки IPL;
- ядро операционной системы — IEА. Было возможным загрузить одно из доступных ядер из библиотеки ядра SYS1.NUCLEUS. По умолчанию загружается ядро IEANUC00, иные ядра обозначались IEANUC01, 02 и т. д.;
- супервизор ввода-вывода IEC;
- главный планировщик, он же «Master sheduler» IEE, обеспечивающий выполнение команд оператора;
- планировщик заданий IEF, в котором, в свою очередь, можно выделить программу системного ввода RDR, программу-инициатор INIT, программу системного вывода WTR;
- системные утилиты IEH;
- утилиты обслуживания наборов данных IEB;
- трансляторы языков программирования (Ассемблер, Кобол, Фортран, PL/1 и т.д) Для некоторых языков трансляторы поставлялись в нескольких вариантах (например Фортран быстрый и Фортран оптимизирующий);
- редактор связей IEWL.
Как можно заметить, имена всех модулей операционной системы начинаются с буквы I, что очевидно связано с названием фирмы IBM corp. Вторая буква имени абсолютного большинства модулей — E. Третья буква имени обозначала принадлежность модуля к определённой части ОС, например — IEU — Ассемблер, IER — программа сортировки-слияния, IEM — транслятор PL/1, IEK — оптимизирующий Фортран и т. д.
Операционная система ОС ЕС размещалась на одном или нескольких пакетах магнитных дисков (томах). Том, с которого инициировалась начальная загрузка системы, назывался «резидентным». Система располагалась в нескольких наборах данных библиотечной организации (библиотеках):
- SYS1.NUCLEUS — библиотека ядра ОС;
- SYS1.PARMLIB — библиотека параметров ОС;
- SYS1.SVCLIB — библиотека супервизора;
- SYS1.LINKLIB — библиотека загрузочных модулей;
- SYS1.PROCLIB — библиотека процедур;
- SYS1.SYSJOBQE — набор данных системных очередей;
- SYS1.МАСLIB — библиотека макросов Ассемблера.
Кроме этих, на резидентном томе находился набор данных SYSCTLG — системный каталог, библиотеки языков программирования (SYS1.FORTLIB,SYS1.PL1LIB и т.д)., генерации системы, и могли размещаться любые пользовательские наборы данных, если ёмкость пакета это позволяла.
Интерактивные возможности реализовывались дополнительным программным обеспечением — диалоговыми мониторами, не входившими, собственно, в комплект поставки ОС, такими как Jessy, Jec, Primus, Око, Аргус, Фокус. Распространённые в СССР диалоговые подсистемы, как правило, не имели зарубежных аналогов, а стандартный для OS/370 интерфейс TSO (Time Sharing Option), напротив, практически не применялся. Дело в том, что стандартные для OS/360 подсистемы CRJE и TSO (в ОС ЕС соответственно ДУВЗ — диалоговый удалённый ввод заданий и РРВ — режим разделения времени) были ориентированы на алфавитно-цифровые терминалы типа пишущей машинки, малораспространённые в СССР. Даже с появлением видеотерминалов ЕС-7906, ЕС-7920 в ДУВЗ и РРВ, полноэкранное редактирование текстов осталось довольно неудобным. В то же время практически все диалоговые мониторы — PRIMUS, OKO, Фокус и Аргус — были изначально ориентированы на полноэкранное редактирование текстов.
В 1980-е годы ОС ЕС усиленно дорабатывалась как специализирующимися предприятиями, так и коллективами или даже отдельными энтузиастами, пытающимися исправить недочёты первоначального проектирования ОС. Ярким примером доработки, которая применялась повсеместно, является, например, программа быстрой загрузки «SLEPOK», которая ускоряла загрузку системы с 5—10 минут до нескольких секунд весьма остроумным методом — в полностью загруженной операционной системе со всеми работающими компонентами создавался дамп памяти, который сбрасывался на произвольное дисковое устройство. С этого устройства впоследствии выполнялась начальная загрузка, и система переводилась в состояние, предшествующее созданию дампа. Оператору оставалось только откорректировать системные часы. Недостатком системы являлось полное игнорирование результатов работы с момента последнего создания дампа системы. И в результате, приходилось вновь запускать задания, которые в момент перезагрузки ОС уже находились в очереди. В дальнейшем была разработана система динамического восстановления очередей (ДИВО), которая устраняла этот недостаток и делала использование системы СЛЕПОК (аналог значительно более позднее время придуманного режима hibernate) более удобным.
Одна из дополнительных компонент — НASP (в советской интерпретации — КРОС), «Хьюстонская версия операционной системы» — радикально изменяла планирование очередей системных процессов, вводила «прозрачную» буферизацию ввода-вывода системных потоков (SYSIN и SYSOUT), что значительно увеличивало быстродействие системного ввода-вывода и резко снижало количество механических перемещений головок дисковых устройств. Кроме того, оператору предоставлялись дополнительные команды управления системой.
Русификация
При разработке ОС ЕС очевидно не ставилась задача полной русификации системы, и русификация заключалась только в переводе сопутствующей технической документации. Уже в ОС 4.1 этой документации насчитывалось около 100 томов, в дальнейшем их количество только увеличивалось. Все сообщения системы, утилит, трансляторов выводились только на английском языке, таким образом такие тома как «Сообщения супервизора», «Сообщения планировщика заданий» находились всегда под рукой оператора. Шутка «знаю английский в объёме ОС ЕС» была совсем не шуткой. В дальнейшем стали доступны и полностью русифицированные компоненты, так называемые ППП (Пакеты Прикладных Программ). Например, система программирования «Кобол унифицированный» в качестве входного языка предлагала русский вариант КОБОЛА, и, соответственно, сообщения об ошибках на русском языке. Наиболее полная русификация, включая все сообщения системы была достигнута в ОС 7 ЕС, в её компоненте БОС (базовая операционная система).
ОС SVS 7.1 и SVS 7.2 (TKS)
К середине 1980 годов сложилась интересная ситуация в области массового применения ЕС ЭВМ. Промышленность вовсю выпускала ЕС ЭВМ ряда 2 и ряда 3, предприятия массово ими переоснащались. Основной системой предлагалась ОС 7 на базе СВМ (см. далее). Но значительной части пользователей не нужны были её прелести, в виде МВМ, ПДО и прочих усовершенствований, которые требовали переучивать людей, изменять процессы обработки данных и т. п. Кроме того, эффективная работа виртуальных машин достигалась при достаточном количестве реальных ресурсов, таких как оперативная память, дисковые устройства, печатающие устройства. В большинстве же инсталляций на 4 Мб оперативной памяти и 4х НМД по 100 Мб ОС 7 представляла собой монитор виртуальных машин, под которым запускалась единственная ОС MVT или SVS 6.1. В дальнейших релизах ОС 7 появилась БОС , чтобы обеспечить привычное пользователям операционное окружение внутри СВМ. В рамках ОС 6.1 невозможно было использовать преимущества новых ЭВМ, да и процесс генерации пользовательской системы, настроенной на определённое «железо», уже выглядел архаично.
Интересным решением в свете вышеизложенного стала ОС SVS 7.1,позже 7.2 (ТКS), TKS — аббревиатура «Turnkey Distributed System» — система, распространяемая в готовом виде. ОС ЕС ТКS выглядела развитием системы SVS 6.1, с интегрированными в систему особенностями HASP, развитыми средствами процедурной работы. Система уже содержала в себе режим разделения времени TSO, ранее поставлявшийся отдельным программным продуктом, а также высокопроизводительный Ассемблер-II. В отличие от БОС, SVS 7.1 не нуждалась в СВМ. Система поставлялась в виде, практически не требующем генерации, пользователю нужно было только настроить её на адреса своих устройств ввода-вывода. Многие внутренние процессы ОС были, по-видимому, существенно оптимизированы, так что общая производительность системы была заметно выше, чем у SVS 6.1 на той же аппаратной конфигурации. Компоненты операционной системы могли использовать значительно большие объёмы оперативной памяти, как реальной, так и виртуальной, что тоже положительно влияло на производительность.
Системы SVS 7.1 и 7.2 были разработана в ГДР усилиями разработчиков Robotron, и поставлялась в комплектации ЭВМ ЕС-1055 и 1057. Хотя принципиально поддерживалась вся номенклатура технических средств ЕС ЭВМ, не на всех аппаратных конфигурациях достигалась стабильная её работа.
НИЦЭВТ и НИИЭВМ были заинтересованы в продвижении своих ОС 7 — БОС и СВМ, успешный конкурент в виде SVS 7.1 был им не нужен. Немногочисленные копии TKS распространялись среди энтузиастов без документации, и, естественно, безо всякой технической поддержки. Более того, ОС SVS 7.1 (TKS) практически не упоминается в литературе, посвящённой операционным системам ЕС.
Система виртуальных машин
Поздние варианты ОС ЕС, начиная с версий 7.xx, не имели прямых аналогов среди операционных систем IBM, представляя собой комплекс из двух систем — БОС (базовая операционная система, развитие ОС ЕС SVS, использовавшая для управления виртуальной памятью средства СВМ) и СВМ — аналога IBM VM. Таким образом в неё были интегрированы функции интерактивной работы, скриптовый язык REXX, средства виртуализации и другие возможности СВМ.
Утверждение об отсутствии прямых аналогов среди операционных систем IBM для ОС ЕС 7.xx базируется на наличии подсистемы БОС, функционировавшей в качестве приглашённой под управлением Гипервизора (супервизора) системы СВМ.
Использование прототипов
Не было никаких ограничений к тому, чтобы на отечественных ЭВМ ЕС использовать оригинальные системные продукты IBM, поэтому многие организации устанавливали на свои ЭВМ системы OS/360 и т. д., и повседневно их использовали. Мотивировалось это тем, что эти системы были более надёжными и содержали меньше ошибок в кодах. В случае стабильной работы аппаратных средств нужды в моделезависимых компонентах ОС ЕС действительно не было.
Ссылки
- Цейтин Г. С. «Итоги освоения ОС ЕС (заметки пользователя)» (1983)
- Эволюция z/OS (В. А. Варфоломеев, Э. К. Лецкий, М. И. Шамров, В. В. Яковлев)
- Операционные системы ЕС ЭВМ
- SVS 7.1 (нем.)