Связанное с выбранными архитектурными функциями администрирование обработки
Иллюстрации
Показать всеИзобретение относится к области компьютерной техники. Техническим результатом является расширение арсенала технических средств для реализации назначения, заключающегося в администрировании обработки в пределах вычислительного окружения. Способ администрирования обработки содержит инициирование посредством хост-процессора первой гостевой виртуальной машины, производящей обработку в первом архитектурном режиме, имеющем первую архитектуру системы команд и обеспечивающем первый набор архитектурных функций, второй гостевой виртуальной машины, производящей обработку во втором архитектурном режиме, имеющем вторую архитектуру системы команд и обеспечивающем второй набор архитектурных функций, причем второй набор архитектурных функций является уменьшенным набором первого и выбранная архитектурная функция, обеспечиваемая в первом наборе, отсутствует во втором, причем второй архитектурный режим является режимом запрета функции, и выполнение обработки посредством второй гостевой виртуальной машины, причем выполнение обработки отменяет один или несколько управляющих элементов, связанных с выбранной архитектурной функцией, которые заданы для управления выполнением второй гостевой виртуальной машиной. 3 н. и 15 з.п. ф-лы, 28 ил.
Реферат
Область техники
В общем, один или несколько аспектов относятся к обработке в пределах вычислительного окружения и, прежде всего, к администрированию использования выбранных архитектурных функций в пределах вычислительного окружения.
Уровень техники
Вычислительные окружения предлагают ряд инструментов, и включают в себя определенные функции в качестве части их архитектурных конфигураций. Одна такая функция является трансляцией виртуальных адресов, такой как динамическая трансляция адресов, используемая для трансляции виртуальных адресов в действительные адреса.
Конфигурации системы включают в себя физическую память, используемую для хранения приложений и данных. Объем физической памяти является фиксированным и, зачастую, недостаточным для поддержки потребностей пользователей. Поэтому для обеспечения дополнительной памяти или, по меньшей мере, внешнего представления дополнительной памяти используют метод администрирования памяти, называемый виртуальной памятью.
Виртуальная память использует виртуальную адресацию, обеспечивающую диапазоны адресов, которые могут представляться намного большими, чем физический размер оперативной памяти.
Для получения доступа к оперативной памяти в конфигурации системы, включающей в себя виртуальную память, запрашивается доступ к памяти, который включает в себя, например, виртуальный адрес. Виртуальный адрес транслируется с помощью, например, динамической трансляции адресов или другого метода трансляции, в действительный адрес, используемый для получения доступа к физической памяти.
Однако тестирование виртуальной памяти является затратным. По мере того, как архитектура приближается к концу своего жизненного цикла, может оказаться желательным обеспечение традиционных окружений, например, для систем с использованием минимальной поддержки архитектуры, таких как операционные системы DOS (например, такие как MS DOS или CMS), которые функционируют, прежде всего, в качестве окружений интерпретатора командной строки, или для окружений, использующихся для выполнения части BIOS (и которые могут производить выполнение без связанных с виртуальной памятью сложностей).
Поэтому на уровне техники существует потребность в рассмотрении вышеупомянутой проблемы.
Сущность изобретения
Недостатки известного уровня техники преодолеваются и преимущества обеспечиваются посредством обеспечения компьютерного программного продукта для администрирования обработки в пределах вычислительного окружения. Компьютерный программный продукт включает в себя, например, машиночитаемый информационный носитель, считываемый посредством устройства обработки данных, и сохраняющий команды для выполнения посредством устройства обработки данных для осуществления способа. Способ включает в себя, например, инициирование посредством производящего обработку в первом архитектурном режиме хост-процессора первой гостевой виртуальной машины, причем первая гостевая виртуальная машина должна производить обработку в первом архитектурном режиме, причем первый архитектурный режим имеет первую архитектуру системы команд и обеспечивает первый набор архитектурных функций, инициирование посредством хост-процессора второй гостевой виртуальной машины, причем вторая гостевая виртуальная машина должна производить обработку во втором архитектурном режиме, причем второй архитектурный режим имеет вторую архитектуру системы команд и обеспечивает второй набор архитектурных функций, и причем второй набор архитектурных функций является уменьшенным набором архитектурных функций, обеспечиваемых в первом наборе архитектурных функций, и причем выбранная архитектурная функция, обеспечиваемая в первом наборе архитектурных функций, отсутствует во втором наборе архитектурных функций, и причем второй архитектурный режим является режимом запрета функции, и выполнение обработки посредством второй гостевой виртуальной машины во втором архитектурном режиме, причем выполнение обработки отменяет один или несколько управляющих элементов, связанных с выбранной архитектурной функцией, которые заданы для управления выполнением второй гостевой виртуальной машиной.
При рассмотрении с позиции первого аспекта, настоящее изобретение обеспечивает способ управления обработкой с помощью вычислительного окружения, причем способ содержит: инициирование посредством хост-процессора обработки в первом архитектурном режиме первой гостевой виртуальной машины, причем первая гостевая виртуальная машина обрабатывает в первом архитектурном режиме, и причем первый архитектурный режим имеет первую архитектуру системы команд и обеспечивает первый набор архитектурных функций, инициирование посредством хост-процессора второй гостевой виртуальной машины, причем вторая гостевая виртуальная машина должна производить обработку во втором архитектурном режиме, причем второй архитектурный режим имеет вторую архитектуру системы команд и обеспечивает второй набор архитектурных функций, и причем второй набор архитектурных функций является уменьшенным набором архитектурных функций, обеспечиваемых в первом наборе архитектурных функций, и причем выбранная архитектурная функция, обеспечиваемая в первом наборе архитектурных функций, отсутствует во втором наборе архитектурных функций, и причем второй архитектурный режим является режимом запрета функции, и выполнение обработки посредством второй гостевой виртуальной машины во втором архитектурном режиме, причем выполнение обработки отменяет один или несколько управляющих элементов, связанных с выбранной архитектурной функцией, которые заданы для управления выполнением второй гостевой виртуальной машины.
При рассмотрении с позиции другого аспекта, настоящее изобретение обеспечивает способ управления обработкой в пределах вычислительного окружения, причем способ содержит: получение процессором в составе вычислительного окружения запроса на выполнение операции, операции по использованию или активированию выбранной архитектурной функции, причем процессор сконфигурирован для многопоточной поддержки нескольких архитектур, включающих в себя первую архитектуру и вторую архитектуру, причем первая архитектура сконфигурирована для выбранной архитектурной функции и поддерживает ее, а вторая архитектура имеет выбранную архитектурную функцию в качестве из нее удаленной, выявление на основании получения запроса того, производит ли процессор обработку в первом архитектурном режиме на основании первой архитектуры или втором архитектурном режиме на основании второй архитектуры, выполнение на основании выявления обработки процессором в первом архитектурном режиме операции, и обеспечение на основании выявления обработки процессором во втором архитектурном режиме и удаления выбранной архитектурной функции указателя того, что выбранная архитектурная функция не подлежит использованию или активированию, причем обеспечение выполняется в отсутствие проверки управляющего элемента, указывающего на активацию/деактивацию выбранного архитектурного признака, и причем управляющий элемент является отдельным от указателя удаления.
При рассмотрении с позиции другого аспекта, настоящее изобретение обеспечивает компьютерную систему для управления обработкой с помощью вычислительного окружения, компьютерную систему содержащую: память, а также соединенный с памятью процессор, причем компьютерная система сконфигурирована для осуществления способа, способа содержащего: инициирование посредством производящего обработку в первом архитектурном режиме хост-процессора первой гостевой виртуальной машины, которая первая гостевая виртуальная машине производит обработку в первом архитектурном режиме, причем первый архитектурный режим имеет первую архитектуру системы команд и обеспечивает первый набор архитектурных функций, инициирование посредством хост-процессора второй гостевой виртуальной машины, причем вторая гостевая виртуальная машина должна производить обработку во втором архитектурном режиме, причем второй архитектурный режим имеет вторую архитектуру системы команд и обеспечивает второй набор архитектурных функций, и причем второй набор архитектурных функций является уменьшенным набором архитектурных функций, обеспечиваемых в первом наборе архитектурных функций, и причем выбранная архитектурная функция, обеспечиваемая в первом наборе архитектурных функций, отсутствует во втором наборе архитектурных функций, и причем второй архитектурный режим является режимом запрета функции, и выполнение обработки посредством второй гостевой виртуальной машины во втором архитектурном режиме, причем выполнение обработки отменяет один или несколько управляющих элементов, связанных с выбранной архитектурной функцией, которые заданы для управления выполнением второй гостевой виртуальной машины.
При рассмотрении с позиции другого аспекта, настоящее изобретение обеспечивает компьютерный программный продукт для управления обработкой с помощью вычислительного окружения, причем компьютерный программный продукт содержит машиночитаемый информационный носитель, считываемый посредством устройства обработки данных, и сохраняющий команды для выполнения посредством устройства обработки данных для осуществления способа для выполнения этапов изобретения.
При рассмотрении с позиции другого аспекта, настоящее изобретение обеспечивает компьютерную программу, содержащую участки программного кода, сохраняемую на машиночитаемом носителе, и загружаемую во внутреннюю память цифровой вычислительной машины при выполнении указанной программы на компьютере для выполнения этапов изобретения. В настоящем документе также описываются и заявляются относящиеся к одному или нескольким вариантам осуществления способы и системы. Кроме того, в настоящем документе также описываются и могут быть заявлены услуги, относящиеся к одному или нескольким вариантам осуществления.
Осуществлены дополнительные функции и преимущества. Другие варианты осуществления и аспекты подробно описываются в настоящем документе и считаются частью заявленного изобретения.
Краткое описание чертежей
Настоящее изобретение в дальнейшем описывается исключительно в качестве примера со ссылками на предпочтительные варианты осуществления, как показано на последующих чертежах:
Фиг. 1А изображает один пример вычислительного окружения, охватывающего и использующего один или несколько аспектов средства No-DAT (отказа в динамической трансляции адресов), согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 1Б изображает один пример виртуального вычислительного окружения, охватывающего и использующего один или несколько аспектов средства No-DAT, согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 2 изображает другой пример вычислительного окружения, охватывающего и использующего один или несколько аспектов средства No-DAT, согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 3А изображает еще один пример вычислительного окружения, охватывающего и использующего один или несколько аспектов средства No-DAT, согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 3Б более подробно изображает память на фиг. 3А согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 4 изображает один вариант осуществления 64-битовой трансляции адресов согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 5 изображает один типовой формат команды на загрузку слова (PSW) состояния программы согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 6 изображает один типовой формат слова состояния программы согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 7А-7В изображают типовые форматы команды на загрузку действительного адреса согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 8 изображает один типовой формат команды на задание системной маски согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 9 изображает один типовой формат команды изначального сохранения или системной маски согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 10 изображает один вариант осуществления ассоциированной со средством No-DAT обработки согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 11А и 11Б изображают один вариант осуществления ассоциированной со средством No-DAT обработки в виртуальном вычислительном окружении согласно предпочтительному варианту осуществления настоящего изобретения,
Фиг. 12 изображает один вариант осуществления компьютерного программного продукта согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 13 изображает один вариант осуществления системы хост-компьютера согласно известному уровню техники, в которой может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 14 изображает другой пример компьютерной системы согласно известному уровню техники, в которой может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 15 изображает другой пример содержащей компьютерную сеть компьютерной системы согласно известному уровню техники, в которой может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 16 изображает один вариант осуществления различных элементов компьютерной системы согласно известному уровню техники, в которой может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 17А изображают один вариант осуществления устройства выполнения компьютерной системы на фиг. 16 согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 17Б изображает один вариант осуществления устройства обработки ветвлений компьютерной системы на фиг. 16 согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 17В изображает один вариант осуществления устройства загрузки и хранения компьютерной системы на фиг. 16 согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 18 изображает один вариант осуществления эмулированной системы хост-компьютера, согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 19 изображает один вариант осуществления узла облачных вычислений согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения,
Фиг. 20 изображает вариант осуществления окружения облачных вычислений согласно известному уровню техники, в котором может быть реализован предпочтительный вариант осуществления настоящего изобретения, и
Фиг. 21 изображает один пример уровней модельной абстракции согласно известному уровню техники, в которых может быть реализован предпочтительный вариант осуществления настоящего изобретения.
Подробное описание
Согласно одному или нескольким аспектам, обеспечивается средство, которое в случае его инсталляции удаляет из архитектуры выбранную архитектурную функцию таким образом, что функция не может быть включена или выключена независимо от состояния других управляющих элементов в пределах окружения. Когда средство инсталлировано, архитектурная функция не поддерживается. Результирующая ситуация является равнозначной отсутствию доступа к функции в архитектуре и, фактически, реализующий функцию код может быть удален, обойден или иным образом устранен. Одна такая архитектурная функция представлена трансляцией виртуальных адресов, такой как динамическая трансляция (DAT) адресов, причем архитектура представлена, например, ESA/390.
В одном конкретном варианте обеспечивается вычислительное окружение, которое сконфигурировано для поддержки нескольких архитектурных режимов, например первого архитектурного режима, такого как расширенный режим, например z/Архитектура, и второго архитектурного режима, такого как устаревший режим, например ESA/390. В одном варианте осуществления первый архитектурный режим имеет архитектурные отличия от второго архитектурного режима, такие как обеспечение первым архитектурным режимом 64-битовой адресации и использование им 64-битовых регистров общего назначения, и обеспечение вторым архитектурным режимом 31-битовой адресации и использование им 32-битовых регистров общего назначения. Кроме того, определенные архитектурные функции, такие как DAT, поддерживаются первым архитектурным режимом и не могут быть поддержаны вторым архитектурным режимом.
В то время как вычислительное окружение сконфигурировано для параллельной поддержки нескольких архитектурных режимов, оно производит обработку только в одном из режимов. Таким образом, согласно аспекту изобретения, на основании получения процессором вычислительного окружения запроса на выполнение операции, использующей выбранную архитектурную функцию, процессор либо выполняет функцию, либо обеспечивает указатель того, что она не выполняется, на основании того, была ли функция удалена из архитектурного режима, в котором вычислительное окружение в настоящее время производит обработку.
В другом варианте осуществления вычислительное окружение является виртуальной средой, имеющей управляющую программу хоста, которая выполняется на процессоре, а также несколько гостевых виртуальных машин, поддерживаемых хостом. Хост производит обработку, например, в первом архитектурном режиме. Однако, гостевые виртуальные машины, инициируемые хостом, могут либо производить, либо не производить обработку в том же самом архитектурном режиме, как и хост. Например, одна виртуальная машина может быть инициирована в первом архитектурном режиме, обеспечивающем выбранную архитектурную функцию, а другая виртуальная машина может быть инициирована во втором архитектурном режиме, не обеспечивающем выбранную архитектурную функцию. В одном варианте осуществления второй архитектурный режим обеспечивает сокращенный набор архитектурных функций первого архитектурного режима. Выбранная архитектурная функция не является частью архитектуры, в которой она была удалена из архитектуры (например, создается версия архитектуры без реализующего функцию кода, или код, который ранее имелся в архитектуре для поддержки этой функции, был обойден, удален или иным образом устранен).
В другом варианте осуществления второй архитектурный режим может предложить функции или средства, отличающиеся от первой архитектуры, но специальные архитектурные инструменты могут быть обеспечены в первом архитектурном режиме и не обеспечены во втором архитектурном режиме. В одном типовом варианте осуществления трансляция DAT обеспечивается в первой архитектуре, но не обеспечивается (в виде, заданном первой архитектурой, или в любом другом виде, например обеспечиваемом согласно одному или нескольким из числа архитектур ESA/390, S/390, S/370, S/360, Power PC, Power PC согласно Book 3E, Intel/AMD x86, Itanium или любой другой спецификации архитектуры, соответствующей DAT или подобному DAT средству) во второй архитектуре. IBM, z/OS, z/VM, z/Architecture, Processor Resource/Systems Manager, PowerPC и Power Systems являются торговыми марками International Business Machines Corporation, зарегистрированными в нескольких юрисдикциях по всему миру. Другие используемые здесь наименования могут быть представлены зарегистрированными торговыми марками, торговыми марками или названиями продукта International Business Machines Corporation или других компаний. Intel и Itanium являются торговыми марками или зарегистрированными торговыми марками Intel Corporation или ее филиалов в Соединенных Штатах и других странах.
Как указано в настоящем документе, в одном примере, архитектурная функция, которая обеспечивается в первой архитектуре и не обеспечивается во второй архитектуре, является трансляцией виртуальных адресов, такой как динамическая трансляция (DAT) адресов. Таким образом, в одном конкретном примере, в вычислительном окружении обеспечивается средство (функция) No-DAT (также называемое NDAT), что указывает на отсутствие поддержки динамической трансляции адресов посредством конкретного архитектурного режима (например, устаревшего архитектурного режима). Средство удаляет возможность, например, для находящейся в архитектурном режиме ESA/390 конфигурации подключения динамической трансляции (DAT) адресов. Таким образом, когда это средство инсталлировано и активировано, конфигурация в архитектурном режиме ESA/390 не может иметь подключенную DAT. Попытка подключить DAT вызывает, например, прерывание программы по исключению по No-DAT. В других вариантах осуществления указываются другие коды исключений.
В одном варианте осуществления средство NDAT также деактивирует выполнение одной или нескольких команд, обычно использующихся совместно с трансляцией DAT, таких как, например, команды загрузки действительного адреса (Load Real Address) (LRA). Выполнение команды загрузки действительного адреса, например, предотвращается во втором архитектурном режиме, хотя она может быть выполнена в первом архитектурном режиме.
В одном варианте осуществления средство NDAT может быть избирательно активировано в одном или нескольких вычислительных окружениях (например, процессоры, LPAR, гости). Однако, когда это средство активировано в вычислительном окружении, окружение не может использовать DAT во второй архитектуре (то есть, в ESA/390 отсутствует DAT) независимо от параметров настройки других управляющих элементов в пределах окружения.
Такие другие управляющие элементы обходят или отменяют.
Один пример вычислительного окружения для охвата и использования одного или нескольких аспектов средства No-DAT описан со ссылками на фиг. 1А. Согласно фиг. 1А в одном примере вычислительное окружение 100 основано на z/Архитектуре, предлагаемой IBM (IBM® Corporation, Армонк, Нью-Йорк), z/Архитектура описана в публикации патента IBM под названием «z/Архитектура, принципы работы» (z/Architecture, Principles of Operation), публикация №SA22-7932-09, 10-й выпуск, сентябрь 2012. Хотя вычислительное окружение основано на z/Архитектуре, в одном варианте осуществления оно также поддерживает одну или несколько других архитектурных конфигураций, таких как ESA/390 или подверсия ESA/390.
В качестве примера, вычислительное окружение 100 включает в себя центральный вычислительный комплекс (СРС) 102, присоединенный к одному или нескольким устройствам 106 ввода/вывода через одно или несколько устройств 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 No-DAT (NDAT).
Подсистема 111 ввода/вывода направляет поток информации между устройствами 106 ввода-вывода и основной памятью 104. Эта подсистема соединена с центральным вычислительным комплексом в том плане, что она может быть как частью центрального вычислительного комплекса, так и быть выполненной отдельной от него. Подсистема ввода/вывода освобождает центральные процессоры от задач сообщения непосредственно с устройствами ввода-вывода и позволяет обработке данных продолжаться одновременно с обработкой ввода/вывода.
Для обеспечения связи подсистема ввода/вывода использует коммуникационные адаптеры ввода/вывода.
Существуют различные типы коммуникационных адаптеров, в том числе, например, каналы, адаптеры ввода/вывода, платы протокольной управляющей информации (PCI), платы Ethernet, платы интерфейса хранения малых вычислительных машин (SCSI) и т.д. В описанном здесь конкретном примере коммуникационные адаптеры ввода/вывода являются каналами, и поэтому, подсистема ввода/вывода в настоящем документе называется канальной подсистемой. Тем не менее, данный пример является только одним из многих. Также могут использоваться и другие типы подсистем ввода/вывода.
Подсистема ввода/вывода использует один или несколько трактов ввода/вывода в качестве коммуникационных каналов при управлении потоком информации к устройствам 106 ввода-вывода или от них. В этом конкретном примере эти тракты называются канальными трактами, поскольку коммуникационные адаптеры являются каналами.
Другой пример вычислительного окружения для охвата и использования одного или нескольких аспектов средства No-DAT описан со ссылками на фиг. 1Б. В этом примере вычислительное окружение 150 включает в себя центральный вычислительный комплекс 152, обеспечивающий поддержку виртуальной машине. СРС (центральный вычислительный комплекс) 152 соединен с одним или несколькими устройствами 106 ввода/вывода (ввода/вывода) через одно или несколько устройств 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: Выполнение гостевых операционных систем» (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 таким образом, что хост может обеспечить для гостя прерывание, которое он удерживает отложенным. В то время как интерпретация продолжается, интервенционные управляющие элементы могут быть асинхронным образом заданы посредством хоста на другом реальном процессоре. Машина периодически повторно выбирает управляющие элементы из памяти таким образом, что распознаются обновленные значения. Гостевые прерывания, таким образом, могут быть сделаны отложенными без преждевременного нарушения интерпретации.
В одном предпочтительном варианте настоящего изобретения, для виртуальных окружений, в описании состояния SIE обеспечивается индикатор управления выполнением. В общем, если индикатор для этой архитектурной функции представлен нолем, функция не сделана доступной в в