Управляющая программа z/VM
Управляющая программа CP (Control Program) z/VM выполняет функции менеджера виртуальных машин, включая создание программных образов виртуальных машин для каждого пользователя, распределение ресурсов физической ЭВМ между виртуальными машинами, а также организацию взаимодействия между приложениями, выполняющимися на разных виртуальных машинах. По этой причине управляющую программу CP иногда называют гипервизором (hypervisor).
Виртуальные машины, создаваемые управляющей программой CP, различаются по режиму работы [33]. Для работы на серверах zSeries обычно выбирают режим ESA (или эквивалентный XA). В этом случае, если управляющая программа сконфигурирована для работы в 32-разрядном режиме, виртуальная машина будет соответствовать архитектуре ESA/390. Для 64-разрядной инсталляции CP данный режим позволяет выполнять как 32-разрядные, так и 64-разрядные приложения, используя все возможности z/Architecture. Режим XC основан на так называемой ESA/XC архитектуре, обеспечивающей разделяемый доступ виртуальных машин к пространствам данных z/VM.
Виртуальная машина может получить в свое распоряжение до 64 виртуальных процессоров, которые будут предоставляться гостевой ОС для диспетчеризации выполняемых ею работ. При этом будет использоваться лишь некоторое число реальных процессоров, среди которых могут быть процессоры, закрепленные за данной виртуальной машиной, или же разделяемые с другими.
Управление памятью в z/VM основано на концепции множественных виртуальных адресных пространств размером 2 GB для 32-разрядного режима и 16 ЕB для 64-разрядного. Управляющая программа CP всегда размещается в первой секции любого адресного пространства (рис. 5.66). По запросу пользователя CP создает виртуальную машину, выделяя ей новое адресное пространство, и загружает туда диалоговый монитор CMS или гостевую операционную систему. Диалоговый монитор является "штатной" операционной системой в составе z/VM, ориентированной на поддержку пользователя. После этого средствами CMS или операционных систем в адресные пространства может производиться загрузка собственных приложений.
Рис. 5.66. Виртуальные адресные пространства z/VM
С точки зрения используемой конфигурации памяти различают три типа виртуальных машин:
- V=R (Virtual=Real) машина получает в свое распоряжение фиксированный непрерывный участок основной памяти, начинающийся с нулевого адреса.
- V=F (Virtual=Fixed) машина получает в свое распоряжение фиксированный непрерывный участок основной памяти, начинающийся с адреса, отличного от нулевого.
- V=V (Virtual=Virtual) машина не может непосредственно использовать основную память.
Первые два типа относят к привилегированным типам виртуальных машин. На таких машинах управление выделенной основной памятью берет на себя гостевая ОС в соответствии с ее внутренними механизмами. В третьем случае виртуальной машине выделяется виртуальная память, управляемая CP. Она имеет страничную организацию и поддерживает стандартный механизм динамического преобразования адресов с возможностью межпространственной связи на основе регистров доступа.
Использование периферийных устройств виртуальной машиной производится одним из четырех способов. Способ закрепления (exclusive) означает выделение реального устройства в полное распоряжение виртуальной машины. Способ разделения (shared) допускает одновременное использование реального устройства несколькими виртуальными машинами. Способ накопления (spooled) основан на выделении реальному устройству области жесткого диска (спула), которая используется для накопления вводимой и выводимой информации. Обмен данными между спулом и реальным устройством контролируется управляющей программой. Способ симуляции
(simulated) означает программное моделирование работы некоторых устройств, которые физически не используются в системе (например, сетевые устройства связи для взаимодействия виртуальных машин).
Для работы с управляющей программой CP пользователю предоставляется набор команд, с помощью которых производится создание и конфигурирование виртуальных машин, администрирование пользователей, управление устройствами, информирование о работе системы и т.д.
Доступ к z/ VM осуществляется через консоль, назначаемую терминальному устройству или эмулируемую на рабочей станции. Множество команд, доступных пользователю, и, следовательно, возможности управления зависят от установленного для данного пользователя класса (классов) привилегий. В z/VM установлено семь основных стандартных классов привилегий, обозначаемых латинскими буквами A-G, в соответствии с ролью пользователя в системе [31]:
- A (системный оператор) - управление системой виртуальных машин и доступом пользователей к системе, настройка параметров производительности и сбор информации о системе;
- B (системный оператор ресурсов) - управление всеми реальными устройствами z/VM;
- C (системный программист) - настройка системных конфигурационных параметров;
- D (оператор спула) - управление устройствами, использующими метод накопления, и настройка спула;
- E (системный аналитик) - контроль и управление хранением системных данных;
- F (инженер по сервисному обслуживанию) - получение и анализ данных о работе оборудования;
- G (обычный пользователь) - управление работой отдельной виртуальной машины;
Кроме перечисленных, поддерживается класс команд Any, доступных любому пользователю, независимо от привилегий, а также существует возможность создавать пользовательские классы для собственных нужд.
Важнейшим элементом управляющей программы CP является создаваемый системным оператором справочник пользователей (user directory), содержащий описание всех виртуальных машин, которые могут быть запущены в системе. Каждый элемент справочника содержит перечень основных параметров виртуальной машины, включающий: идентификатор пользователя (logon ID) и пароль, класс привилегий, начальную конфигурацию используемых устройств, объем памяти, режим работы, параметры использования процессорного времени и некоторые другие. Обычно справочник пользователей создается на этапе инсталляции системы, но может быть изменен в процессе работы.
Запуск зарегистрированной в справочнике виртуальной машины производится по инициативе пользователя, когда он вводит команду LOGON.После завершения инициализации на основе указанных параметров пользователь получает возможность выполнять различные команды в соответствии с назначенным классом привилегий, в том числе запустить диалоговый монитор CMS или гостевую операционную систему.