Конфигурация архитектурного режима в вычислительной системе
Иллюстрации
Показать всеИзобретение относится к технологиям сетевой связи. Технический результат заключается в повышении скорости обработки данных. Содержит: выявление посредством процессора того, что средство конфигурации архитектурного режима инсталлировано в вычислительном окружении, сконфигурированном для нескольких архитектурных режимов и имеющем заданную последовательность включения, которая предназначена для включения вычислительного окружения в одном архитектурном режиме из нескольких архитектурных режимов, причем один архитектурный режим содержит первую архитектуру системы команд и имеет первый набор поддерживаемых сервисов, проведение посредством процессора реконфигурирования вычислительного окружения для ограничения использования одного архитектурного режима, причем реконфигурирование включает в себя: выборку отличной последовательности включения для включения вычислительного окружения в другом архитектурном режиме из нескольких архитектурных режимов и - выполнение отличной последовательности включения для включения вычислительного окружения в другом архитектурном режиме вместо одного архитектурного режима, ограничивая использование одного архитектурного режима. 6 н. и 14 з.п. ф-лы, 22 ил.
Реферат
Область техники
Один или несколько аспектов относятся, в общем, к конфигурациям вычислительных окружений и, прежде всего, к изменению конфигураций таких окружений.
Уровень техники
Вычислительные окружения предлагают диапазон инструментов и функций в зависимости от архитектурных конфигураций окружений. Две архитектуры, предложенные International Business Machines Corporation, Армонк, Нью-Йорк, включают в себя ESA/390 и z/Архитектуру.
ESA/390 является предшествующей архитектурой по отношению к z/Архитектуре. Однако, когда z/Архитектура была введена, поддержка ESA/390 была продолжена. Для поддержки обеих архитектур в одном окружении требуется следовать некоторым процедурам. Например, при включении загружается ESA/390, а затем, при желании, может быть сделано переключение на z/Архитектуру.
Это позволяет унаследованному программному обеспечению продолжать выполнение без изменений. Другие такие процедуры предоставляются с целью поддержки обеих архитектурных конфигурации в одном окружении.
Однако тестирование виртуальной памяти является затратным. По мере того, как архитектура приближается к концу своего жизненного цикла, может оказаться желательным предоставление традиционных окружений, например для систем с использованием минимальной поддержки архитектуры, таких как операционные системы DOS (например, такие как MS DOS или CMS), которые функционируют, прежде всего, в качестве окружений интерпретатора командной строки, или для окружений, использующихся для выполнения части BIOS (и которые могут производить выполнение без связанных с виртуальной памятью сложностей).
Поэтому на уровне техники существует потребность в рассмотрении вышеупомянутой проблемы.
Сущность изобретения
Недостатки известного уровня техники преодолеваются и преимущества обеспечиваются посредством предоставления компьютерного программного продукта для реконфигурирования вычислительного окружения. Компьютерный программный продукт включает в себя, например, машиночитаемый информационный носитель, считываемый посредством устройства обработки данных, и сохраняющий подлежащие выполнению посредством устройства обработки данных команды для осуществления способа. Способ включает в себя, например, выявление посредством процессора того, что средство конфигурации архитектурного режима инсталлировано в вычислительном окружении, сконфигурированном для нескольких архитектурных режимов и имеющем заданную последовательность включения, которая предназначена для включения вычислительного окружения в одном архитектурном режиме из нескольких архитектурных режимов, причем один архитектурный режим содержит первую архитектуру системы команд и имеет первый набор поддерживаемых сервисов, на основании выявления того, что средство конфигурации архитектурного режима инсталлировано, проведение посредством процессора реконфигурирования вычислительного окружения для ограничения использования одного архитектурного режима, причем реконфигурирование включает в себя: выборку отличной последовательности включения для включения вычислительного окружения в другом архитектурном режиме из нескольких архитектурных режимов, причем другой архитектурный режим отличен от одного архитектурного режима, и другой архитектурный режим содержит вторую архитектуру системы команд и имеет второй набор поддерживаемых сервисов, и выполнение отличной последовательности включения для включения вычислительного окружения в другом архитектурном режиме вместо одного архитектурного режима, ограничивая использование одного архитектурного режима.
При рассмотрении с позиции первого аспекта, настоящее изобретение предоставляет способ реконфигурирования вычислительного окружения, причем способ содержит: выявление посредством процессора того, что средство конфигурации архитектурного режима инсталлировано в вычислительном окружении, сконфигурированном для нескольких архитектурных режимов и имеющем заданную последовательность включения, которая предназначена для включения вычислительного окружения в одном архитектурном режиме из нескольких архитектурных режимов, причем один архитектурный режим содержит первую архитектуру системы команд и имеет первый набор поддерживаемых сервисов, на основании выявления того, что средство конфигурации архитектурного режима инсталлировано, проведение посредством процессора реконфигурирования вычислительного окружения для ограничения использования одного архитектурного режима, причем реконфигурирование включает в себя: выборку отличной последовательности включения для включения вычислительного окружения в другом архитектурном режиме из нескольких архитектурных режимов, причем другой архитектурный режим отличен от одного архитектурного режима, и другой архитектурный режим содержит вторую архитектуру системы команд и имеет второй набор поддерживаемых сервисов, и выполнение отличной последовательности включения для включения вычислительного окружения в другом архитектурном режиме вместо одного архитектурного режима, ограничивая использование одного архитектурного режима.
При рассмотрении с позиции другого аспекта, настоящее изобретение предоставляет способ конфигурирования вычислительного окружения, причем способ содержит: конфигурирование посредством процессора вычислительного окружения для выполнения операций в выбранном архитектурном режиме, конфигурирование содержащее: начало инициализации вычислительного окружения с использованием сохраненного слова состояния программы, причем сохраненное слово состояния программы имеет формат архитектурного режима, отличающегося от выбранного архитектурного режима, выявление того, что сохраненное слово состояния программы имеет формат архитектурного режима, отличающегося от выбранного архитектурного режима, на основании выявления того, что сохраненное слово состояния программы имеет формат архитектурного режима, отличающегося от выбранного архитектурного режима, проведение автоматического изменения сохраненного слова состояния программы для приобретения им формата выбранного архитектурного режима, причем автоматическое изменение выполняется в отсутствии явного запроса на переключение на выбранный архитектурный режим, и завершение инициализации вычислительного окружения с помощью измененного слова состояния программы для конфигурирования вычислительного окружения в выбранном архитектурном режиме.
При рассмотрении с позиции другого аспекта, настоящее изобретение предоставляет компьютерную систему для реконфигурирования вычислительного окружения, компьютерную систему содержащую: память, а также сообщенный с памятью процессор, причем компьютерная система сконфигурирована для осуществления способа, способа содержащего: выявление посредством процессора того, что средство конфигурации архитектурного режима инсталлировано в вычислительном окружении, сконфигурированном для нескольких архитектурных режимов и имеющем заданную последовательность включения, которая предназначена для включения вычислительного окружения в одном архитектурном режиме из нескольких архитектурных режимов, причем один архитектурный режим содержит первую архитектуру системы команд и имеет первый набор поддерживаемых сервисов, на основании выявления того, что средство конфигурации архитектурного режима инсталлировано, проведение посредством процессора реконфигурирования вычислительного окружения для ограничения использования одного архитектурного режима, причем реконфигурирование включает в себя: выборку отличной последовательности включения для включения вычислительного окружения в другом архитектурном режиме из нескольких архитектурных режимов, причем другой архитектурный режим отличен от одного архитектурного режима, и другой архитектурный режим содержит вторую архитектуру системы команд и имеет второй набор поддерживаемых сервисов, и выполнение отличной последовательности включения для включения вычислительного окружения в другом архитектурном режиме вместо одного архитектурного режима, ограничивая использование одного архитектурного режима.
При рассмотрении с позиции другого аспекта, настоящее изобретение предоставляет машиночитаемый информационный носитель, считываемый посредством устройства обработки данных и содержащий программу для реконфигурирования вычислительного окружения, включающую в себя команды, выполняемые посредством устройства обработки данных для осуществления соответствующего предлагаемого в изобретении способа. При рассмотрении с позиции другого аспекта, настоящее изобретение предоставляет машиночитаемый информационный носитель, считываемый посредством устройства обработки данных и содержащий программу для конфигурирования вычислительного окружения, включающую в себя команды, выполняемые посредством устройства обработки данных для осуществления соответствующего предлагаемого в изобретении способа.
При рассмотрении с позиции другого аспекта, настоящее изобретение предоставляет машиночитаемый информационный носитель, в котором сохранена компьютерная программа, содержащая участки программного кода и загружаемая во внутреннюю память цифровой вычислительной машины, когда данная программа выполняется на компьютере для осуществления предлагаемого в изобретении способа.
Относящиеся к одному или нескольким вариантам осуществления способы и системы также описаны и заявлены в настоящем документе. Кроме того, относящиеся к одному или нескольким вариантам осуществления услуги также описаны и могут быть заявлены в настоящем документе.
Осуществлены дополнительные функции и преимущества. Другие варианты осуществления и аспекты подробно описываются в настоящем документе и считаются частью заявленного изобретения.
Краткое описание чертежей
Настоящее изобретение в дальнейшем описывается исключительно в качестве примера со ссылками на предпочтительные варианты осуществления, как показано на последующих чертежах:
Фиг. 1А изображает один пример вычислительного окружения для охвата и использования одного или нескольких аспектов средства конфигурации архитектурного режима согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 1Б изображает один пример виртуального вычислительного окружения для охвата и использования одного или нескольких аспектов средства конфигурации архитектурного режима согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 2 изображает другой пример вычислительного окружения для охвата и использования одного или нескольких аспектов средства конфигурации архитектурного режима согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 3А изображает еще один пример вычислительного окружения для охвата и использования одного или нескольких аспектов средства конфигурации архитектурного режима согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 3Б изображает более подробную информацию по памяти на фиг. 3А согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 4А изображает один вариант осуществления логики для включения вычислительного окружения в одном архитектурном режиме согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 4В изображает один вариант осуществления последующей обработки, связанной с процессом включения на фиг. 4А согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 5 изображает один вариант осуществления формата слова состояния программы согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 6А изображает один вариант осуществления логики для включения вычислительного окружения в архитектурном режиме, отличающемся от одного архитектурного режима, включение для которого показано на фиг. 4А, согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 6Б изображает один вариант осуществления последующей обработки, связанной с процессом включения на фиг. 6А согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 7 изображает один пример формата команды загрузки слова состояния программы согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 8А изображает один пример формата команды процессора обработки сигналов согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 8Б изображает один вариант осуществления обработки, связанный с командой процессора обработки сигналов на фиг. 8А, согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 9 изображает один вариант осуществления логики для включения вычислительного окружения в реконфигурированной конфигурации согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 10 изображает другие необходимые изменения при реконфигурировании вычислительного окружения согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 11 изображает один вариант осуществления логики для сброса вычислительного окружения,
Фиг. 12 изображает один вариант осуществления логики для конфигурирования вычислительного окружения согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 13 изображает один вариант осуществления компьютерного программного продукта согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 14 изображает один вариант осуществления системы хост-компьютера согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 15 изображает другой пример компьютерной системы согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 16 изображает другой пример содержащей компьютерную сеть компьютерной системы согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 17 изображает один вариант осуществления различных элементов компьютерной системы согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 18А изображают один вариант осуществления устройства выполнения компьютерной системы на фиг. 17 согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 18Б изображает один вариант осуществления устройства обработки ветвлений компьютерной системы на фиг. 17 согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 18В изображает один вариант осуществления устройства загрузки и хранения компьютерной системы на фиг. 17 согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 19 изображает один вариант осуществления эмулированной системы хост-компьютера согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг.20 изображает один вариант осуществления узла облачных вычислений согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 21 изображает один вариант осуществления окружения облачных вычислений согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения, и
Фиг. 22 изображает один пример уровней модельной абстракции согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения.
Подробное описание
Согласно одному аспекту предоставляется инструмент, который ограничивает использование конфигурации посредством сконфигурированного для поддержки множественных конфигураций вычислительного окружения таким образом, что один или несколько аспектов ограниченной конфигурации являются недоступными для использования. В качестве примера, процессор конфигурируется в конфигурации архитектурного режима (САМ). В САМ, вычислительное окружение (например, процессор, логический раздел, гость), которое первоначально является сконфигурированным для нескольких архитектур, например устаревшей архитектуры и расширенной архитектуры, реконфигурируется таким образом, что оно более не поддерживает один или несколько аспектов по меньшей мере одной архитектуры, такой как устаревшая архитектура. В такой конфигурации, неподдерживаемые аспекты архитектуры не являются доступными.
В качестве одного конкретного примера, в вычислительных окружениях, поддерживающих множественные архитектуры, такие как ESA/390 и z/Архитектура, предоставляется средство конфигурации архитектурного режима (CZAM) для z/Архитектуры, которое удаляет способность использования аспектов ESA/390. Вместо этого используется z/Архитектура (и/или, в других вариантах осуществления, другая архитектура, отличная от ESA/390). CZAM может быть применено к предназначенной для исходной среды машине, логическому разделу и/или виртуальному гостю, в качестве примеров.
Один пример вычислительного окружения для охвата и использования одного или нескольких аспектов средства конфигурации архитектурного режима описан со ссылками на фиг. 1А. Как показано на фиг. 1А, в одном примере вычислительное окружение 100 основано на z/Архитектуре, предлагаемой International Business Machines (IBM®) Corporation, Армонк, Нью-Йорк), z/Архитектура описана в публикации патента IBM под названием «z/Архитектура, принципы работы» (z/Architecture, Principles of Operation), публикация №SA22-7932-09, 10-й выпуск, сентябрь 2012. Хотя вычислительное окружение основано на z/Архитектуре, в одном предпочтительном варианте осуществления оно также поддерживает одну или несколько других архитектурных конфигураций, таких как ESA/390.
В качестве примера, вычислительное окружение 100 включает в себя центральный вычислительный комплекс (СРС) 102, присоединенный к одному или нескольким устройствам 106 ввода/вывода (I/O) через одно или несколько устройств 108 управления. Центральный вычислительный комплекс 102 включает в себя, например, память 104 процессора (известную также под названием оперативная память, основная память, центральная память), соединенную с одним или несколькими центральными процессорами (известными также под названием центральных вычислительных устройств (ЦП)) 110, и с подсистемой 111 ввода/вывода, каждый из указанных элементов описан ниже.
Память 104 процессора включает в себя, например, один или несколько разделов 112 (например, логических разделов), а также встроенное программное обеспечение 113 процессора, которое включает в себя гипервизор 114 логического раздела и другое встроенное программное обеспечение 115 процессора. Один пример гипервизора 114 логического раздела представлен администратором ресурсов процессора/системы Processor Resource/Systems Manager™ (PR/SM), предлагаемым International Business Machines Corporation, Армонк, Нью-Йорк.
Логический раздел функционирует как отдельная система и имеет в себе одно или несколько приложений 120 и, опционально, резидентную операционную систему 122, которая может отличаться для каждого логического раздела. В одном предпочтительном варианте осуществления операционная система является z/OS операционной системой, z/VM операционной системой, z/Linux операционной системой или операционной системой TPF, предлагаемой International Business Machines Corporation, Армонк, Нью-Йорк. Логическими разделами 112 управляет гипервизор 114 логических разделов, который реализован посредством встроенного программного обеспечения, функционирующего на процессорах 110. При рассмотрении в настоящем документе, встроенное программное обеспечение включает в себя, например, микрокод и/или милликод процессора. Он включает в себя, например, команды аппаратного уровня и/или структуры данных, используемые в реализации высокоуровневого машинного кода. В одном предпочтительном варианте он включает в себя, например, проприетарный код, обычно поставляемый как микрокод, который включает в себя выверенное программное обеспечение или микрокод, специфичный для используемого оборудования и управляющий доступом операционной системы к оборудованию системы.
Центральные процессоры 110 являются физическими процессорными ресурсами, выделенными логическим разделам. Конкретно, каждый логический раздел 112 имеет один или несколько логических процессоров, каждый из которых представляет собой, полностью или частично, выделенный разделу физический процессор 110. Логические процессоры конкретного раздела 112 могут быть либо выделены разделу таким образом, что базовый процессорный ресурс 110 резервируется для данного раздела, либо быть используемыми совместно с другим разделом таким образом, что базовый процессорный ресурс является потенциально доступным другому разделу. В одном из вариантов, один или несколько из ЦП включают в себя описанные в настоящем документе аспекты средства 130 конфигурации архитектурного режима.
Подсистема 111 ввода/вывода направляет поток информации между устройствами 106 ввода-вывода и основной памятью 104. Эта подсистема соединена с центральным вычислительным комплексом в том плане, что она может быть как частью центрального вычислительного комплекса, так и быть выполненной отдельной от него. Подсистема I/O освобождает центральные процессоры от задач сообщения непосредственно с устройствами ввода-вывода и позволяет обработке данных продолжаться одновременно с обработкой ввода/вывода.
Для обеспечения связи подсистема I/O использует коммуникационные адаптеры I/O.
Существуют различные типы коммуникационных адаптеров, в том числе, например, каналы, адаптеры I/O, платы протокольной управляющей информации (PCI), платы Ethernet, платы интерфейса хранения малых вычислительных машин (SCSI) и т.д. В описанном здесь конкретном примере коммуникационные адаптеры I/O являются каналами, и поэтому, подсистема I/O в настоящем документе называется канальной подсистемой. Тем не менее, данный пример является только одним из многих. Также могут использоваться и другие типы подсистем I/O.
Подсистема I/O использует один или несколько трактов ввода/вывода в качестве коммуникационных каналов при управлении потоком информации к устройствам 106 ввода-вывода или от них. В этом конкретном примере эти тракты называются канальными трактами, поскольку коммуникационные адаптеры являются каналами.
Другой пример вычислительного окружения для охвата и использования одного или нескольких аспектов средства САМ описан со ссылками на фиг. 1Б. В этом примере вычислительное окружение 150 включает в себя центральный вычислительный комплекс 152, предоставляющий поддержку виртуальной машине. СРС 152 соединен с одним или несколькими устройствами 106 ввода/вывода (I/O) через одно или несколько устройств 108 управления. Центральный вычислительный комплекс 152 включает в себя, например, память 154 процессора (известную также под названием оперативная память, основная память, центральная память), соединенную с одним или несколькими центральными процессорами (известными также под названием центральных вычислительных устройств (ЦП)) 110, и с подсистемой 111 ввода/вывода.
Память процессора 154 включает в себя, например, одну или несколько виртуальных машин 162, а также встроенное программное обеспечение 163 процессора, который включает в себя хост-гипервизор 164 и другое встроенное программное обеспечение 165 процессора. Один пример хост-гипервизора 164 представлен z/VM®, предлагаемым International Business Machines Corporation, Армонк, Нью-Йорк.
Поддержка виртуальной машины со стороны СРС предоставляет возможность управления большим количеством виртуальных машин 162, каждая из которых способна к хостингу гостевой операционной системы 172, такой как Linux®. Каждая виртуальная машина 162 способна к функционированию в качестве отдельной системы. Это означает, что каждая виртуальная машина может быть независимо сброшена, может служить хостом для гостевой операционной системы и может работать с различными программами 120. Операционная система или прикладная программа, работающая в виртуальной машине, представляется как имеющая доступ к полной системе, но в действительности, только ее часть является доступной. Linux является зарегистрированной торговой маркой Linus Torvalds в Соединенных Штатах, в других странах, или в обеих юрисдикциях.
В этом конкретном примере модель виртуальных машин является моделью V=V, в которой абсолютная или реальная память виртуальной машины поддерживается виртуальной памятью хоста вместо реальной или абсолютной памяти. Каждая виртуальная машина имеет пространство виртуальной линейной памяти. Физические ресурсы принадлежат хосту 164, и совместно используемые физические ресурсы по мере необходимости диспетчеризируются посредством хоста к гостевым операционным системам для удовлетворения их вычислительных потребностей.
Такая модель виртуальной машины V=V (то есть, гость со страничной организацией) подразумевает, что взаимодействиями между гостевыми операционными системами и физическими совместно используемыми ресурсами машины управляет хост, поскольку большое количество гостей обычно исключает для хоста возможность простого разделения и присвоения аппаратных ресурсов сконфигурированным гостям. Один или несколько аспектов модели V=V, кроме того, описаны в публикации IBM® под названием «z/VM: Выполнение гостевых операционных систем» (Running Guest Operating Systems), IBM® публикация № SC24-5997-02, октябрь 2001.
Центральные процессоры 110 являются физическими процессорными ресурсами, которые присваиваются виртуальной машине. Например, виртуальная машина 162 включает в себя один или несколько логических процессоров, каждый из которых представляет, полностью или частично, физический процессорный ресурс 110, который может быть динамическим образом выделен виртуальной машине. Виртуальными машинами 162 управляет хост 164.
В одном предпочтительном варианте осуществления аппаратное оборудование/встроенное программное обеспечение хоста (например, z/VM®) и процессора (например, System z) взаимодействуют друг с другом управляемым совместным способом с целью обработки операций гостевой операционной системы V=V без необходимости в передаче управления между гостевой операционной системой и хостом. Гостевые операции могут быть выполнены непосредственно, без вмешательства хоста, с помощью средства, позволяющего командам выполняться в режиме интерпретации для гостя с режимом записи в память со страничной организацией. Это средство предоставляет команду запуска выполнения в режиме интерпретации (Start Interpretive Execution) (SIE), которую хост может выдавать путем назначения блока управления, называемого описанием состояния, который содержит состояние и управляющие воздействия гостя (виртуальной машины), такие как управляющие элементы выполнения и управляющие элементы режима. Команда переводит машину в режим интерпретационного выполнения, в котором гостевые команды и прерывания обрабатываются непосредственно до тех пор, пока не возникает состояние, требующее вмешательства хоста. Когда такое состояние возникает, выполнение в режиме интерпретации заканчивается и, либо реализуется прерывание хоста, либо команда SIE завершает сохранение деталей возникшего состояния, это последнее действие вызывают перехватом. Один пример выполнения в режиме интерпретации описан в работе «Система/370 - Расширенная архитектура/Выполнение в режиме интерпретации» (System/370 Extended Architecture/Interpretive Execution), IBM публикация №SA22-7095-01, сентябрь 1985.
Конкретно, в одном предпочтительном варианте осуществления средство выполнения в режиме интерпретации предоставляет команду для выполнения виртуальных машин. Эта команда, называемая запуском выполнения в режиме интерпретации (Start Interpretative Execution) (SIE), выпускается хостом, создающим гостевое окружение выполнения. Хост является управляющей программой, которая непосредственно управляет реальной машиной, а гость относится к любой виртуальной или интерпретируемой машине. Машина переводится в режим интерпретационного выполнения посредством хоста, который выдает команду SIE. В этом режиме машина предоставляет функции выбранной архитектуры (например, z/Архитектуры, ESA/390). Функции включают в себя, например, среди прочего, выполнение привилегированных и проблемных программных команд, трансляцию адресов, обработку прерываний и согласование по времени. Машина, как говорят, интерпретирует функции, которые она выполняет в контексте виртуальной машины.
Команда SIE имеет операнд, называемый описанием состояния, который включает в себя информацию, относящуюся к текущему состоянию гостя. Когда выполнение SIE заканчивается, представляющая состояние гостя информация, включая сюда PSW гостя, сохраняется в описании состояния прежде, чем управление будет возвращено хосту.
Архитектура выполнения в режиме интерпретации предоставляет режим записи в память для абсолютной памяти, называемый режимом записи в память со страничной организацией. В режиме записи в память со страничной организацией динамическая трансляция адресов на уровне хоста используется для отображения гостевой основной памяти. Хост имеет способность к распределению реальной памяти гостей с режимом записи в память со страничной организацией по применимым пакетам в произвольных местоположениях в основной памяти хоста при помощи DAT хоста, и к разбиению гостевых данных на страницы для вспомогательной памяти. Такая техника обеспечивает гибкость при выделении реальных машинных ресурсов и, в то же время, сохраняет для гостя ожидаемое внешнее представление непрерывного диапазона абсолютной памяти.
Окружение виртуальной машины может дважды вызывать DAT для применения: сначала на гостевом уровне, для трансляции гостевого виртуального адреса посредством управляемых гостем трансляционных таблиц в гостевой действительный адрес, а затем, для гостя со страничной организацией, на уровне хоста, для трансляции соответствующего виртуального адреса хоста в действительный адрес хоста.
В определенных случаях, хосту приходится вмешиваться в обычно делегируемые машине операции. С этой целью описание состояния включает в себя управляющие элементы, задаваемые хостом для «прерывания» или перехвата особых состояний. Биты управления перехватом запрашивают возвращение машиной управления к имитации хоста при встрече с конкретными гостевыми командами. Интервенционные управляющие элементы захватывают основные сведения по активированному состоянию в PSW таким образом, что хост может предоставить для гостя прерывание, которое он удерживает отложенным. В то время как интерпретация продолжается, интервенционные управляющие элементы могут быть асинхронным образом заданы посредством хоста на другом реальном процессоре. Машина периодически повторно выбирает управляющие элементы из памяти таким образом, что распознаются обновленные значения. Гостевые прерывания, таким образом, могут быть сделаны отложенными без преждевременного нарушения интерпретации.
В одном предпочтительном варианте настоящего изобретения, управляющие элементы режима в описании состояния задают выполнение гостя в режиме ESA/390 или z/Архитектуры, а также выбирают один из нескольких способов представления гостевой основной памяти гостевой виртуальной машины в памяти хоста. Согласно одному предпочтительному варианту настоящего изобретения, в управляющем элементе состояния предоставляется бит управления для выбора между пребыванием гостя в первом или втором архитектурном режиме (например, z/Архитектуре или ESA/390, соответственно). Согласно другому предпочтительному варианту настоящего изобретения, две различные команды могут предоставлять хосту способность по созданию первой и второй гостевой виртуальной машины, например, могут быть предоставлены различные команды SIEz и SIEe для запуска гостевых машин в режиме z/Архитектуры и ESA/390, соответственно.
Команда SIE прогоняет диспетчеризированный управляющей программой виртуальный сервер до тех пор, пока либо интервал времени сервера не оказывается использованным, либо сервер не попытается выполнить операцию, которую не могут виртуализировать аппаратные средства, или для выполнения которой управляющая программа должна восстановить свое управление. На этом этапе выполнение команды SIE заканчивается и управление возвращается к управляющей программе, которая либо имитирует команду, либо переводит виртуальный сервер в состояние принудительного ожидания. По завершении, управляющая программа вновь вводит виртуальный сервер в план для выполнения, и цикл вновь запускается. Таким образом, полные возможности и скорость ЦП являются доступными для виртуального сервера. Перехвату подвергаются только те привилегированные команды, которые требуют помощи со стороны управляющей программы или проверки ею их правильности. Такие перехваты SIE, как они известны, также используются управляющей программой для накладывания ограничений на операции, которые виртуальный сервер может выполнять на физическом устройстве.
Более подробная информация относительно SIE изложена в работе «Интерпретирующе-выполняющая архитектура ESA/390, основания для VM/ESA» (ESA/390 interpretive-execution architecture, foundation for VM/ESA), Осисек и др. (Osisek et al), IBM Systems Journal, том 30, №1, январь 1991, стр. 34-51.
Другой пример вычислительного окружения для охвата и использования одного или нескольких аспектов средства конфигурации архитектурного режима описан со ссылками на фиг. 2. В этом примере вычислительное окружение 200 включает в себя неразбитое на разделы окружение, которое может быть сконфигурировано для нескольких архитектурных режимов, в том числе, z/Архитектуры и ESA/390. Это окружение включает в себя, например, процессор (центральное вычислительное устройство - ЦП) 202, который включает в себя, например, средство 204 конфигурации архитектурного режима, а также один или несколько кэшей 206. Процессор 202 коммуникативно соединен с имеющим один или несколько кэшей 210 участком 208 памяти и с подсистемой 212 ввода/вывода (I/O). Подсистема I/O 212 коммуникативно соединена с внешними устройствами 214 ввода-вывода, которые могут включать в себя, например, устройства ввода данных, датчики и/или устройства вывода, такие как дисплеи. Другой предпочтительный вариант настоящего изобретения вычислительного окружения для охвата и использования одного или нескольких аспектов средства конфигурации архитектурного режима описан со ссылками на фиг. 3А. В этом примере вычислительное окружение 300 включает в себя, например, предназначенное для исходной среды центральное вычислительное устройство (ЦП) 302, память 304, а также одно или несколько устройств ввода-вывода и/или интерфейсов 306, соединенных друг с другом, например, через одну или несколько шин 308 и/или других присоединений. Например, вычислительное окружение 300 может включать в себя процессор PowerPC или сервер Power Systems, предлагаемые International Business Machines Corporation, Армонк, Нью-Йорк, HP Superdome с процессорами Intel Itanium II, предлагаемые Hewlett Packard, Пало-Альто, Калифорния, и/или другие машины, основанные на архитектурах, предлагаемых International Business Machines Corporation, Hewlett Packard, Intel, Oracle или другими. Intel и Itanium являются торговыми марками или зарегистрированными торговыми марками Intel Corporation или ее филиалов в Соединенных Штатах и других странах.
Предназначенное для исходной среды центральное вычислительное устройство 302 включает в себя один или несколько предназначенных для исходной среды регистров 310, таких как один или несколько регистров общего назначения и/или один или несколько регистров особого назначения, используемых в процессе обработки в пределах окружения, а также средство 311 конфигурации архитектурного режима. Эти регистры включают в себя информацию, представляющую состояние окружения н