Система виртуальных машин
Система Виртуальных Машин (аббр. СВМ) — операционная система ЕС ЭВМ, аналог системы VM фирмы IBM.
Основные особенности СВМ
СВМ (VM) - первая система, в которой была реализована технология виртуальных машин. Виртуализация в СВМ была последовательной и полной, в частности, на виртуальной машине можно было запустить другую копию системы СВМ, и так далее. Более того, запуск СВМ на виртуальной машине СВМ был рекомендованным методом генерации новой версии системы для установки. В частности, это означало, что любое реальное устройство ЭВМ могло быть тем или иным методом представлено в виде виртуального устройства на виртуальной машине. До сих пор ни одна другая реализация виртуальных машин не обладает таким свойством.
Архитектура СВМ
Архитектурно СВМ состояла из нескольких независимых компонентов. Центральным компонентом был монитор виртуальных машин (МВМ), который управлял аппаратурой реальной ЭВМ и реализовывал набор виртуальных машин с заданной конфигурацией. Остальные компоненты представляли собой операционные системы или системонезависимые программы виртуальных машин, работавшие под управлением МВМ: подсистема диалоговой обработки (ПДО), подсистема сетевой передачи файлов (ПСП), подсистема логической коммутации абонентских пунктов (ПЛК), подсистема анализа дампов (ПАД), подсистема дистанционной передачи файлов (ПДП), подсистема контроля технических средств (ПКТ), средства генерации и обслуживания (СГО).
ПДО (IBMовское название - CMS) представляла собой основную операционную систему виртуальной машины в СВМ, в которой осуществлялась работа пользователей. ПДО предоставляла пользователю диалоговый интерфейс, фактически работа пользователя за терминалом в ПДО на виртуальной машине напоминала работу на персональном компьютере. Это был очень серьёзный шаг вперёд по сравнению с более ранними операционными системами ЕС ЭВМ, диалоговые возможности которых либо полностью отсутствовали, либо были очень ограничены.
Подсистемы ПСП, ПЛК, ПАД, ПДП, ПКТ, СГО были предназначены для задач обслуживания системы и прикладными программистами и пользователями не использовались.
Кроме того, на виртуальной машине СВМ можно было запускать любую операционную систему ЕС ЭВМ, предназначенную для работы на реальном железе, например, ОС ЕС, ДОС ЕС, МОС ЕС, МВС и т.д. В составе ОС ЕС версии 7 была разработана специальная операционная система БОС, функционально эквивалентная ОС ЕС версии 6 (SVS), но предназначенная специально для работы на виртуальной машине СВМ. БОС, в отличие от подавляющего большинства других системных средств ЕС ЭВМ, являлась самостоятельной разработкой советских программистов, независимой от фирмы IBM. Так как ОС ЕС являлась пакетной системой, пользователи ПДО могли передавать в неё подготовленные пакеты заданий и получать результаты при помощи виртуального перфоратора и виртуального АЦПУ.
Разделяемые сегменты
Для обеспечения эффективного использования системы виртуальной памяти, предусматривалось выделение части адресного пространства, по желанию системного программиста, под так называемые разделяемые сегменты. Например, текстовый редактор, компилятор или библиотека поддержки языка программирования могли быть загружены в разделяемый сегмент и, таким образом, все использующие их пользователи фактически обращались к одной и той же копии в виртуальной памяти, вместо того, чтобы создавать отдельную копию для каждой виртуальной машины.
Файловая система ПДО
В отличие от систем ДОС ЕС и ОС ЕС, предоставлявших очень громоздкую и неудобную для повседневного использования систему управления файлами (точнее, в их терминологии, наборами данных), в ПДО была реализована концепция так называемых минидисков с возможностью использования собственной файловой системы. Минидиск представлял собой виртуальное дисковое устройство, эмулируемое МВМ. Минидиск можно было отформатировать в файловой системе ПДО, в таком случае он содержал единый каталог файлов. Идентификатор файла состоял из имени файла (до 8 символов), расширения (до 8 символов) и режима файла (1 бува диска и 1 цифра режима доступа). Компоненты имени разделялись пробелом, режим файла можно было опускать целиком или указывать только букву диска. Например, файл с именем PROFILE EXEC A1 - файл автозагрузки системы ПДО типа EXEC (на одном из скриптовых языков) на основном пользовательском минидиске A, с обычным режимом доступа 1.
Структура файлов ПДО соответствовала структуре наборов данных ОС ЕС (за исключением наиболее сложных типов наборов данных), то есть каждый файл разбивался на записи определённого формата и длины. Основным форматом текстовых файлов в ПДО был формат F(80), то есть образ виртуальной колоды 80-колоночных перфокарт.
Минидиски могли совместно использоваться несколькими виртуальными машинами, так был организован совместный доступ к минидискам с системными программами и доступ пользователей к данным друг друга. Предусматривалась парольная защита минидисков по чтению и записи.
Редактор XEDIT
В ПДО применялся очень развитый текстовый редактор XEDIT, который, в частности, полностью управлялся на языке REXX. С помощью скриптов на REXX для XEDITа реализовывались многие сложные системы, такие, например, как системы коллективного управления версиями программ. Впоследствии клоны XEDITа (KEDIT, THE) были реализованы в операционных системах персональных компьютеров, но не очень прижились, так как идеология XEDIT в значительной степени была ориентирована на особенности работы с терминалом мэйнфрейма.
Электронная почта
В составе ПДО поставлялись программы для работы с электронной почтой. Обычно электронная почта работала между пользователями одной реальной ЭВМ (для старших моделей ЕС ЭВМ это могли быть сотни пользователей за терминалами в радиусе нескольких километров), но, при использовании телекоммуникационных средств, бывших в те времена ещё диковиной, различные машины могли объединяться в сеть. Также была реализована система мгновенной передачи коротких сообщений между пользователями.
Системы программирования
В СВМ версии 3 в состав ПДО был впервые включён интерпретатор языка REXX, получившего затем более широкое распространение в операционной системе OS/2.
Основными средствами программирования для ПДО были скриптовые языки REXX и более ранние EXEC и EXEC2, ассемблер, компиляторы с языков PL/I, Фортран, Кобол. Также для ПДО было реализовано множество других систем программирования, таких как Паскаль, Си, Лисп, система символьных вычислений REDUCE и т.д.
Рекомендуемая литература
- Тимонин В. И. СВМ ЕС: Основы функционирования и средства обеспечения пользователя. - М.: Изд-во МАИ, 1990. - 232 с.: ил. ISBN 5-7035-0157-1