×
29.04.2019
219.017.45dd

ЗАПУСК ГИПЕРВИЗОРА В ЗАПУЩЕННОЙ ОПЕРАЦИОННОЙ СИСТЕМЕ

Вид РИД

Изобретение

Юридическая информация Свернуть Развернуть
№ охранного документа
0002446447
Дата охранного документа
27.03.2012
Краткое описание РИД Свернуть Развернуть
Аннотация: Изобретение относится к области вычислительной техники, а более точно к способу запуска гипервизора в компьютерной системе. Техническим результатом является обеспечение избежания необходимости иметь отдельный код для гипервизора, чтобы обнаруживать физические ресурсы компьютерной системы. Способ включает: запуск корневой операционной системы; обнаружение посредством корневой операционной системы множества физических ресурсов; запуск посредством корневой операционной системы гипервизора; прием посредством гипервизора от корневой операционной системы информации, представляющей множество физических ресурсов; запуск посредством гипервизора экземпляра виртуальной машины для корневой операционной системы; инициализацию виртуальной машины с помощью состояния, согласованного с информацией; возобновление работы корневой операционной системы так, что корневая операционная система взаимодействует опосредованно с упомянутым множеством физических ресурсов через экземпляр виртуальной машины. 3 н. и 17 з.п. ф-лы, 7 ил.
Реферат Свернуть Развернуть

Предшествующий уровень техники

Одна из основных функций операционной системы заключается в том, чтобы взаимодействовать с физическими ресурсами в вычислительной системе. Типичная операционная система может ограждать от осуществления доступа к физическим ресурсам ненадлежащим образом. Например, когда одно приложение использует конкретный сегмент памяти, операционная система может защитить этот сегмент памяти от изменения другим приложением, управляемым той же операционной системой. В противном случае приложения могут не функционировать так, как ожидается. Эти ограждения доступа зачастую основаны на том допущении, что операционная система является единственной операционной системой, работающей в вычислительной системе.

Тем не менее, иногда может быть преимущественным запускать несколько операционных систем в одной вычислительной системе. В этом случае неявной защиты в каждой операционной системе, чтобы обеспечить безопасную работу с ресурсами, более может быть недостаточно. Операционная система может не иметь возможности управлять осуществлением доступа к одним и тем же физическим ресурсам со стороны другой операционной системы и может не иметь механизма распознавания наличия этой другой запущенной операционной системы.

Гипервизор - это уровень программного обеспечения, который выполнен с возможностью размещения между одной или более запущенными операционными системами и защищенными физическими ресурсами (такими как процессоры, порты ввода-вывода, память, прерывания и т.п.). Гипервизор функционально объединяет защищенные физические ресурсы для операционных систем и открывает ресурсы для каждой операционной системы виртуализированным способом. Например, в качестве простой иллюстрации предположим, что имеется две операционные системы, работающие в вычислительной системе, которая имеет один процессор и 1 гигабайт (ГБ) оперативной памяти (RAM). Гипервизор может выделить половину циклов процессора каждой операционной системе и половину памяти (512 мегабайт (МБ) RAM) каждой операционной системе. Более того, гипервизор может предоставить виртуализированный диапазон RAM, адресуемый для каждой операционной системы так, что для обеих операционных систем кажется, что доступно только 512 МБ RAM.

Когда операционная система пытается обмениваться данными с физическим ресурсом и наоборот, гипервизор выполняет соответствующую буферизацию и преобразования, чтобы позволить каждой операционной системе работать со своим окружением, как если бы оно было единственной операционной системой, работающей в вычислительной системе. Более того, гипервизор делает это таким образом, что физические ресурсы в вычислительной системе могут совместно использоваться несколькими экземплярами операционной системы, при этом будучи защищенными.

Традиционно гипервизоры запускаются до запуска операционной системы.

Это позволяет гипервизору запускать операционную систему в виртуальной машине посредством представления виртуального представления физических ресурсов. Чтобы немедленно запускать операционную систему в виртуальной машине, гипервизор включает исчерпывающий код для обнаружения физических ресурсов и их важнейших характеристик. Поскольку обнаружение физических ресурсов выполняется до того, как имеются какие-либо запущенные операционные системы на операционную систему нельзя полагаться в этом процессе обнаружения. Соответственно, код для обнаружения физических ресурсов в гипервизоре может быть достаточно сложным.

Сущность изобретения

Хотя принципы настоящего изобретения не ограничены вариантами осуществления, обобщенными в этом кратком изложении сущности изобретения, некоторые варианты осуществления, описанные в данном документе, относятся к запуску гипервизора после того, как уже есть запущенная операционная система. Хотя необязательно запущенная операционная система может быть использована вместо гипервизора, чтобы обнаруживать физические ресурсы, функционирующие в вычислительной системе. Таким образом, если требуется, гипервизор может полагаться на операционную систему для обнаружения ресурсов вместо необходимости иметь код, который выполняет ту же самую функциональность.

Данное изменение сущности изобретения предусмотрено для того, чтобы в упрощенной форме представить набор идей, которые дополнительно описываются ниже в подробном описании. Это изложение сущности изобретения не предназначено для того, чтобы идентифицировать ключевые признаки или важнейшие признаки заявляемого изобретения, а также не предназначена для того, чтобы быть использованной в качестве помощи при определении объема заявляемого изобретения.

Перечень чертежей

Чтобы дополнительно прояснить вышеизложенные и другие преимущества и признаки настоящего изобретения, более подробное описание изобретения предоставляется посредством отсылки к его конкретным вариантам осуществления, которые проиллюстрированы на прилагаемых чертежах. Следует принимать во внимание, что эти чертежи иллюстрируют только типичные варианты осуществления изобретения и, следовательно, не должны считаться ограничивающими его объем. Изобретение описывается и поясняется с дополнительной специфичностью и подробностью за счет использования прилагаемых чертежей, на которых:

Фиг.1 иллюстрирует вычислительное окружение, в котором могут быть использованы варианты осуществления изобретения;

Фиг.2 иллюстрирует блок-схему последовательности операций способа запуска гипервизора с помощью запущенной операционной системы;

Фиг.3 иллюстрирует блок-схему последовательности операций способа запуска дополнительных экземпляров операционной системы;

Фиг.4A иллюстрирует конфигурацию, в которой корневая операционная система, при отсутствии гипервизора, поддерживает прямой обмен данными с физическими ресурсами вычислительной системы;

Фиг.4B иллюстрирует конфигурацию, в которой вычислительная система запустила гипервизор, чтобы выступать в качестве посредника между операционной системой и физическими ресурсами;

Фиг.4C иллюстрирует конфигурацию, в которой дополнительные операционные системы запущены и поддерживаются посредством гипервизора; и

Фиг.5 иллюстрирует блок-схему последовательности операций способа переноса операционной системы в окружение гипервизора.

Подробное описание изобретения

В соответствии с вариантами осуществления настоящего изобретения гипервизор может запускаться после того, как уже есть запущенная операционная система. Запущенная операционная система может быть использована вместо гипервизора, чтобы обнаруживать физические ресурсы, функционирующие в вычислительной системе. Другие экземпляры операционных систем могут запускаться после того, как гипервизор является рабочим. Общее вычислительное окружение, в котором принципы настоящего изобретения могут быть использованы на практике, сначала описывается со ссылкой на фиг.1. Далее дополнительные подробности, касающиеся вариантов осуществления настоящего изобретения, описываются со ссылкой на прилагаемые чертежи.

Вычислительные системы сегодня все в большей степени принимают множество форм. Вычислительными системами могут быть, например, портативные устройства, бытовые приборы, дорожные компьютеры, мейнфреймы, распределенные вычислительные системы или даже устройства, которые не считались традиционно вычислительной системой. В этом описании и в формуле изобретения термин "вычислительная система" задается в широком смысле как охватывающий любое устройство или систему (либо их комбинацию), которая включает в себя, по меньшей мере, один процессор и память, допускающую наличие в ней машиноисполняемых команд, которые могут исполняться процессором. Память может принимать любую форму и может зависеть от характера и формы вычислительной системы. Вычислительная система может быть распределена по сетевому окружению и может иметь несколько составляющих вычислительных систем.

Ссылаясь на фиг.1, в своей самой базовой конфигурации вычислительная система 100 в типичном варианте включает в себя, по меньшей мере, один процессор 102 и память 104. Память 104 может быть физической системной памятью, которая может быть энергозависимой, энергонезависимой или комбинацией вышеуказанного. Пример энергозависимой памяти включает в себя оперативную память (RAM). Примеры энергонезависимой памяти включают в себя постоянное запоминающее устройство (ROM), флэш-память и т.п. Термин "память" также может быть использован в данном документе для того, чтобы ссылаться на энергонезависимое устройство хранения большой емкости, такое как физические носители данных. Эти носители данных могут быть съемными и стационарными и могут включать в себя (но не только) PCMCIA-карты, магнитные и оптические диски, магнитную ленту и т.п.

При использовании в данном документе термин "модуль" или "компонент" может означать программные объекты или процедуры, которые исполняются в вычислительной системе. Различные компоненты, модули, механизмы и службы, описанные в данном документе, могут быть реализованы как объекты или процессы, которые исполняются в вычислительной системе (к примеру, как отдельные потоки). Хотя системы и способы, описанные в данном документе, могут быть реализованы в программном обеспечении, реализации в аппаратных средствах, а также в комбинациях программного обеспечения и аппаратных средств также допускаются и подразумеваются.

В нижеследующем описании варианты осуществления изобретения поясняются со ссылкой на этапы, которые выполняются одной или более вычислительными системами. Если эти этапы реализованы в программном обеспечении, один или более процессоров ассоциированной вычислительной системы, которая выполняет этап, управляют работой вычислительной системы в ответ на исполнение машиночитаемых инструкций. Пример такой работы включает в себя обработку данных. Машиноисполняемые инструкции (и обрабатываемые данные) могут быть сохранены в памяти 104 вычислительной системы 100.

Вычислительная система 100 также может содержать каналы 108 связи, которые позволяют вычислительной системе 100 обмениваться данными с другими вычислительными системами, например, по сети 110. Каналы 108 связи являются примерами сред связи. Среды связи в типичном варианте воплощают машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном информационном сигнале, таком как несущее колебание или другой механизм распространения, и включают в себя любые среды для доставки информации. Для примера, но не в качестве ограничения, среды связи включают в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустическая среда, радиочастотная среда, инфракрасное излучение и другие беспроводные среды. Термин «машиночитаемый носитель» при использовании в данном документе охватывает как носители данных, так и среды связи.

Варианты осуществления в объеме настоящего изобретения также включают в себя машиночитаемые носители для передачи или сохранения на них машиноисполняемых инструкций или структур данных. Этими машиночитаемыми носителями могут быть любые доступные носители, к которым можно осуществлять доступ посредством компьютера общего назначения или специального назначения. В качестве примера, а не ограничения, эти машиночитаемые носители могут содержать физические устройства хранения и/или запоминающие устройства, такие как RAM, ROM, EEPROM, CD-ROM или другой накопитель на оптических дисках, накопитель на магнитных дисках или другие магнитные устройства хранения, либо любой другой носитель, который может быть использован для того, чтобы переносить или сохранять требуемое средство программного кода в форме машиноисполняемых инструкций или структур данных, к которым можно осуществлять доступ посредством компьютера общего назначения или специального назначения. Когда информация передается или предоставляется по сети или другому коммуникационному соединению (проводному, беспроводному или комбинации проводного и беспроводного) в компьютер, компьютер надлежащим образом рассматривает это соединение как машиночитаемый носитель. Таким образом, любое подобное соединение корректно называть машиночитаемым носителем. Комбинации вышеперечисленного также следует считать охватываемым понятием «машиночитаемый носитель».

Машиноисполняемые инструкции содержат, например, инструкции и данные, которые предписывают компьютеру общего назначения, компьютеру специального назначения или устройству обработки специального назначения выполнять определенную функцию или группу функций. Хотя изобретение описано на языке, характерном для структурных признаков и/или методологических действий, необходимо понимать, что предмет изобретения, определенный в прилагаемой формуле изобретения, не обязательно ограничен описанными в данном документе характерными признаками или действиями. Наоборот, описанные в данном документе характерные признаки и действия раскрываются как примерные формы реализации формулы изобретения.

Фиг.2 иллюстрирует блок-схему последовательности операций способа 200 для работающей операционной системы запускать гипервизор. В этом описании и в формуле изобретения "гипервизор" - это уровень программного обеспечения, который выполнен с возможностью размещения между одной или более работающими операционными системами и защищенными физическими ресурсами. Гипервизор функционально объединяет защищенные физические ресурсы для операционных систем и открывает ресурсы для каждой операционной системы виртуализированным способом. Таким образом, гипервизор выступает в качестве специального вида уровня абстрагирования между операционной системой и физическими ресурсами вычислительной системы.

Например, в качестве простой иллюстрации предположим, что имеется две операционные системы, работающие в вычислительной системе, которая имеет один процессор и 1 гигабайт (ГБ) оперативной памяти (RAM). Гипервизор может выделить половину циклов процессора каждой операционной системе и половину памяти (512 мегабайт (МБ) RAM) каждой операционной системе. Более того, гипервизор может предоставить виртуальный диапазон RAM, адресуемый для каждой операционной системы так, что для обеих операционных систем кажется, что доступно только 512 МБ RAM. Когда операционная система пытается обмениваться данными с физическим ресурсом и наоборот, гипервизор выполняет соответствующую буферизацию и преобразования, чтобы позволить каждой операционной системе работать со своим окружением, как если бы она была единственной операционной системой, работающей в вычислительной системе.

В отличие от традиционных конфигураций гипервизоров, варианты осуществления настоящего изобретения позволяют гипервизору запускаться после того, как запущена операционная система, даже если операционная система уже обнаружила физические ресурсы вычислительной системы. Операционная система, которая запускает гипервизор, передает информацию, представляющую состояние обнаруженных физических ресурсов, в гипервизор. Таким образом, гипервизор не обязательно должен иметь отдельный код для того, чтобы обнаруживать физические ресурсы вычислительной системы.

После того как операционная система запускает гипервизор и передает в гипервизор информацию, касающуюся обнаруженных физических ресурсов в вычислительной системе, операционная система может приостановить выполнение и передать управление гипервизору. Гипервизор затем должен сконфигурировать экземпляр виртуальной машины, чтобы обрабатывать будущие запросы на доступ ко всем защищенным ресурсам из физических ресурсов вычислительной системы. Экземпляр виртуальной машины инициализируется с помощью состояния, которое согласовано с концепцией операционной системы по защищенным физическим ресурсам. Когда это выполнено, операционная система возобновляет работу в окружении виртуальной машины. Тем не менее, в окружении виртуальной машины операционная система взаимодействует с физическими ресурсами опосредованно через гипервизор, а не напрямую с физическими ресурсами. Изменение является прозрачным для операционной системы, поскольку виртуальная машина, которая выделена для связи с операционной системой, принимает на обработку информацию, которую операционная система ранее обнаружила по физическим ресурсам.

В некоторых случаях и для некоторых из защищенных физических ресурсов может быть невозможным для операционной системы обнаруживать защищенный физический ресурс без использования гипервизора, а после этого взаимодействовать в дальнейшем с тем же защищенным физическим ресурсом посредством гипервизора прозрачным образом. В этом случае операционная система может быть выполнена с возможностью понимать, что она в дальнейшем может работать посредством гипервизора и тем самым игнорировать любые физические ресурсы, которые в дальнейшем не могут быть виртуализированы прозрачным образом. Например, загрузчик операционной системы может быть выполнен с возможностью информировать другие компоненты операционной системы не использовать конкретные защищенные физические ресурсы.

Ссылаясь снова на фиг.2, способ 200 начинается, когда корневая операционная система запускается (этап 201). "Корневая" операционная система - это операционная система, которая запускает гипервизор, в отличие от операционных систем, которые могут запускаться после того, как гипервизор работает. Фиг.4A иллюстрирует конфигурацию 400A на этой стадии работы, в которой операционная система 401 обменивается данными непосредственно 404 с физическими ресурсами 402 вычислительной системы при отсутствии гипервизора.

Корневая операционная система после этого выполняет несколько этапов, которые проиллюстрированы в левом столбце на фиг.2 под заголовком столбца "КОРНЕВАЯ ОПЕРАЦИОННАЯ СИСТЕМА". Например, корневая операционная система обнаруживает, по меньшей мере, один физический ресурс (этап 211A). Операционные системы в типичном случае имеют инструкции, которые обнаруживают физические ресурсы вычислительной системы, которые приводятся в исполнение вскоре после запуска операционной системы. Ссылаясь на фиг.4A, например, операционная система 401 обнаруживает состояние 403 физических ресурсов. Обнаружение физических ресурсов вычислительной системы может быть сложной задачей.

Чтобы возобновить работу операционной системы в состоянии до запуска гипервизора, операционная система получает состояние физической машины перед запуском гипервизора. В одном варианте осуществления полученное состояние включает в себя состояние всех физических процессоров и физических усовершенствованных программируемых контроллеров прерываний (APIC). Состояние физического процессора включает в себя:

1. Регистры общего назначения.

2. Регистры с плавающей запятой и XMM-регистры.

3. Регистры управления (CR).

4. Регистры отладки (DR)

5. Указатель команд (RIP), указатель стека (RSP) и флаговый регистр (RFLAGS).

6. Состояние сегментов для сегментов CS, DS, SS, ES, FS, GS и TR, в том числе базовые адреса, ограничения и права доступа к сегментам.

7. Регистр таблицы глобальных дескрипторов (GDTR), регистр таблицы дескрипторов прерываний (IDTR) и регистр таблицы локальных дескрипторов (LDTR).

8. Определенные специфические для конкретной модели регистры (MSR), которые включают в себя MSR KernelGsBase, Star, Lstar, Cstar, Sfmask, SysenterCs, SysenterEip, SysenterEsp и ApicBase.

Состояние физического локального APIC может включать в себя:

1. Идентификатор локального APIC

2. Регистр запроса на прерывание (IRR)

3. Регистр обслуживаемых прерываний (ISR)

4. Регистр приоритета задач (TPR)

Помимо этого, некоторые другие аспекты аппаратных средств могут быть предоставлены гипервизору в качестве параметров начальной загрузки, когда гипервизор запущен. Они могут включать в себя:

1. Представленные и потенциальные логические процессоры, включая процессоры, которые могут подключаться "в горячем режиме" без отключения работающей системы.

2. Включена или отключена гиперпотоковость в BIOS.

3. Текущие физические диапазоны RAM - диапазоны системных физических адресов, которые заполнены RAM в то время, когда загружается гипервизор.

4. Физические узлы (включая узлы, которые не имеют связанных с ними ресурсов во время начальной загрузки, но могут заполняться в ходе выполнения).

5. Соотношения доступа к памяти между физическими узлами.

6. Адреса определенных аппаратных признаков, к которым гипервизор должен осуществлять доступ (к примеру, таймер управления питанием).

Операционная система также запускает гипервизор (этап 211B), который должен быть размещен между операционной системой и физическими ресурсами. Например, ссылаясь на фиг.4B, гипервизор 405 размещается между корневой операционной системой 401 и физическими ресурсами 402. Как часть этого запуска, операционная система предоставляет информацию состояния, по меньшей мере, для физических ресурсов, которые должны быть защищены, в гипервизор (этап 212). Эта информация состояния включает в себя всю информацию, которая требуется гипервизору для того, чтобы обнаруживать релевантное состояние защищенных физических ресурсов, которые должны быть ограждены посредством гипервизора. В одном варианте осуществления информация состояния может включать в себя полученное состояние, описанное выше. Самое меньшее, информация состояния включает в себя, по меньшей мере, идентифиционные данные соответствующих физических ресурсов.

Кроме того, как часть запуска, операционная система передает управление гипервизору. Гипервизор затем выполняет этапы, проиллюстрированные в правом столбце на фиг.2 под заголовком "ГИПЕРВИЗОР". В частности, гипервизор затем выполняет задачи, требуемые для того, чтобы виртуализировать физические ресурсы вычислительной системы для корневой операционной системы (этап 221).

Например, гипервизор может создать экземпляр виртуальной машины для корневой операционной системы (этап 231). Ссылаясь на фиг.4B, на этапе 421 представляют экземпляр виртуальной машины для операционной системы 401. После инициализации и приведения в рабочее состояние экземпляр 421 виртуальной машины должен выступать в качестве посредника для физических ресурсов 402 операционной системы 401. Экземпляр 421 виртуальной машины будет принимать запросы на обслуживание от операционной системы 401 для физических ресурсов и будет выполнять соответствующие преобразования и буферизацию запросов в зависимости от информации состояния, доступной для экземпляра 421 виртуальной машины. Экземпляр 421 виртуальной машины после этого предписывает гипервизору 405 запросить соответствующее обслуживание от физических ресурсов 402. Экземпляр 421 виртуальной машины потенциально также будет сообщать результаты запроса в операционную систему 401 с надлежащими преобразованиями и буферизацией при необходимости.

Экземпляр 421 виртуальной машины ведет себя по-разному в зависимости от информации состояния, доступной экземпляру виртуальной машины. Гипервизор принимает на обработку информацию состояния, которую операционная система 401 уже обнаружила касательно физических ресурсов 402. Соответственно, гипервизор 405 инициализирует экземпляр 421 виртуальной машины с помощью, по меньшей мере, некоторой из информации состояния, предоставляемой операционной системой (этап 232). Например, гипервизор 405 может инициализировать виртуальную машину с помощью полученного состояния, предоставленного операционной системой. Таким образом, экземпляр 421 виртуальной машины инициализируется с помощью состояния, согласованным с информацией, представляющей физические ресурсы, обнаруженные операционной системой. Операционная система затем возобновляет работу в окружении виртуальной машины (этап 233 и этап 214). В этом варианте осуществления, как показано на фиг.4B, вместо операционной системы 401, взаимодействующей непосредственно с физическими ресурсами 402, физические ресурсы 402 виртуализируются для операционной системы 401 посредством использования экземпляра 421 виртуальной машины и гипервизора 405. Поскольку информация состояния, используемая виртуальной машиной 421, согласована с информацией состояния, обнаруженной операционной системой 401, это изменение прозрачно для операционной системы 401 в некоторых вариантах осуществления.

В одном варианте осуществления виртуализация обеспечивается посредством абстрагирования виртуального процессора, которое имитирует режим работы физического процессора. Аналогично, она предоставляет виртуальный APIC, который имитирует режим работы физического APIC. Это достигается следующим образом:

1. Состояние виртуального процессора инициализируется полученным состоянием физического процессора.

2. Состояние виртуального APIC инициализируется полученным состоянием физического локального APIC.

3. Гипервизор устанавливает перехваты, чтобы не допустить осуществление доступа операционной системой к привилегированным физическим аппаратным ресурсам. Например, гостевой физический адрес, где локальный APIC ранее размещался до запуска гипервизора, помечается как отсутствующий, так что все обращения к локальному APIC отлавливаются гипервизором.

После того, как гипервизор запущен, гипервизор может запустить дополнительные операционные системы, либо экземпляры одной и той же операционной системы, либо экземпляры различных операционных систем. Например, ссылаясь на фиг.4C, операционные системы 412 и 413 среди потенциально других, как представлено посредством эллипсов 414, дополнительно могут быть запущены. Фиг.3 иллюстрирует блок-схему последовательности операций способа 300 виртуализации физических ресурсов также и для дополнительных операционных систем. Когда дополнительная операционная система должна быть запущена, гипервизор сначала запускает соответствующий экземпляр виртуальной машины (этап 301), посредством которого операционная система затем запускается (этап 302). Гипервизор использует соответствующий экземпляр виртуальной машины, чтобы виртуализировать физический ресурс(ы) соответствующей дополнительной операционной системе (этап 303).

Когда каждая операционная система выполняет обнаружение физических ресурсов при запуске операционной системы, различные запросы информации перехватываются соответствующим экземпляром виртуальной машины. Вместо нахождения фактической информации состояния, ассоциированной с физическими ресурсами, соответствующая виртуальная машина предоставляет виртуализированную информацию состояния операционной системе.

Иногда операционная система, которая запускает гипервизор, может быть в другом типе окружения. Например, возможно, операционная система работает в 32-битовом режиме, тогда как гипервизор, который должен быть запущен, должен работать в 64-битовом режиме, или наоборот. Аналогично, операционная система и гипервизор могут работать в различных режимах страничной организации. Некоторые варианты осуществления настоящего изобретения позволяют операционной системе запускать гипервизор, даже если операционная система и гипервизор работают в различных окружениях.

Фиг.5 иллюстрирует блок-схему последовательности операций способа 500 для входа операционной системы в окружение гипервизора при подготовке к запуску гипервизора. От этапа 201 на фиг.5, на котором операционная система запускается, операционная система сначала делает недействительными все немаскируемые прерывания (этап 501) и маскирует все маскируемые прерывания. Немаскируемые прерывания могут делаться недействительными рядом различных способов. В итоге, когда операционная система переходит в операционную систему гипервизора, необходимо обеспечить то, чтобы прерывания или исключения не возникали до того, как начальное состояние гипервизора загружено. Если прерывание или исключение возникает после выхода из окружения операционной системы, но до входа в окружение гипервизора, процессор, вероятно, не сможет обработать это прерывание или исключение, поскольку отсутствует таблица дескрипторов прерываний или стек. Большинства прерываний можно легко избежать, поскольку они инициируются программным обеспечением. Маскируемым аппаратным прерываниям можно препятствовать в ходе этого процесса посредством очистки бита IF в регистре RFLAGS.

Немаскируемым прерываниям (NM) можно препятствовать посредством одного из двух механизмов:

1. Самодоставка NMI и не исполнение инструкции IRET. Это может быть выполнено посредством временной модификации адреса обработчика NMI в таблице дескрипторов прерываний операционной системы так, чтобы указывать на другой обработчик. Далее NMI может доставляться в текущий процессор. Это предписывает процессору перейти к адресу, предоставляемому в качестве обработчика NMI. В обработчике NMI можно восстановить исходный адрес обработчика NMI и продолжить. Это должно эффективно замаскировать дополнительные NMI, поскольку в x86-архитектуре NMI маскируются после того, как NMI принимается, до тех пор, пока инструкция IRET не будет приведена в исполнение.

2. Выполнение всегда с допустимой таблицей дескрипторов прерываний (IDT) и стеком. Это может быть достигнуто посредством создания временной IDT и стека. Временные таблицы страниц позволяют привязывать временную IDT, обработку NMI и стек с их исходными виртуальными адресами и их соответствующими физическими адресами. Это обеспечивает то, что если NMI поступает, когда процессор работает с временными таблицами страниц, он будет корректно доставлен в обработчик.

После того как прерывания замаскированы или иным образом сделаны недействительными (этап 501), создается временный экземпляр виртуальной машины (этап 502). После этого операционная система инициализирует временный экземпляр виртуальной машины инструкцией, которая вызывает перехват (этап 503). Перехват - это передача управления от операционной системы гипервизору. Когда временный экземпляр виртуальной машины возобновил работу (этап 504), экземпляр виртуальной машины исполняет инструкции, которые вызывают перехват, и тем самым формируется перехват (этап 505). Следовательно, временный экземпляр виртуальной машины начинает выполнение, используя состояние гипервизора (этап 506), тем самым предписывая операционной системе продолжить работу в режиме гипервизора (этап 507). Операционная система затем может запустить гипервизор. В необязательном порядке, временный экземпляр виртуальной машины может быть удален (этап 508), поскольку он требовался только для того, чтобы перевести операционную систему в режим гипервизора, требуемый для запуска гипервизора.

Соответственно, варианты осуществления настоящего изобретения обеспечивают возможность запуска гипервизора даже после того, как уже есть работающая операционная система, представленная в вычислительной системе. В некоторых вариантах осуществления операционная система может запускать гипервизор, даже если операционная система и гипервизор находятся в различных окружениях.

Настоящее изобретение может быть реализовано в других конкретных формах без отступления от своего духа или важнейших характеристик. Описанные варианты осуществления должны рассматриваться во всех аспектах только как иллюстративные, а не ограничительные. Следовательно, объем изобретения определяется прилагаемой формулой изобретения, а не предшествующим описанием. Все изменения, которые подпадают под смысл и диапазон эквивалентности формулы изобретения, должны охватываться определяемым ей объемом.

Источник поступления информации: Роспатент

Показаны записи 1-10 из 465.
10.01.2013
№216.012.1a40

Архитектура для онлайновых коллективных и объединенных взаимодействий

Изобретение относится к различным аспектам архитектуры онлайновых коллективных и объединенных взаимодействий. Технический результат изобретения заключается в обеспечении возможности кроссплатформенного взаимодействия между множеством вычислительных устройств. Данный технический результат...
Тип: Изобретение
Номер охранного документа: 0002472212
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a42

Интеллектуальное редактирование реляционных моделей

Изобретение относится к средствам редактирования реляционных моделей. Технический результат заключается в упрощении процесса редактирования пользователем моделей. Принимают жест пользователя, указывающего редактирование, которое будет выполняться, по меньшей мере, для одного целевого объекта в...
Тип: Изобретение
Номер охранного документа: 0002472214
Дата охранного документа: 10.01.2013
20.01.2013
№216.012.1dc2

Создание и развертывание распределенных расширяемых приложений

Изобретение относится к средствам создания распределенного приложения. Технический результат заключается в улучшении расширяемости распределенного приложения. Выбирают службы из списка служб, доступных на удаленном кластере серверов, при этом каждая служба предоставляет различные функциональные...
Тип: Изобретение
Номер охранного документа: 0002473112
Дата охранного документа: 20.01.2013
20.01.2013
№216.012.1dc6

Использование устройства флэш-памяти для препятствования несанкционированному использованию программного обеспечения

Изобретение относится к области использования устройства флэш-памяти для препятствования несанкционированному использованию программного обеспечения. Техническим результатом является обеспечение препятствования несанкционированному использованию приложения программного обеспечения....
Тип: Изобретение
Номер охранного документа: 0002473116
Дата охранного документа: 20.01.2013
20.01.2013
№216.012.1dc8

Гибкое редактирование гетерогенных документов

Изобретение относится к способу, системе для гибкого редактирования гетерогенных документов. Техническим результатом является расширение функциональных возможностей обработки документов за счет организации единого рабочего пространства. Различные типы документов можно организовывать на...
Тип: Изобретение
Номер охранного документа: 0002473118
Дата охранного документа: 20.01.2013
20.01.2013
№216.012.1dcc

Доверительная среда для обнаружения вредоносных программ

Изобретение относится к области обнаружения вредоносных программ. Техническим результатом является повышение эффективности обнаружения вредоносных программ. В одной реализации доверительная среда, которая включает в себя доверительную операционную систему и доверительное антивирусное...
Тип: Изобретение
Номер охранного документа: 0002473122
Дата охранного документа: 20.01.2013
20.01.2013
№216.012.1dd1

Интеграция рекламы и расширяемые темы для операционных систем

Предложены компьютерная система и способ обеспечения интеграции рекламы с пользовательским интерфейсом. Устройство содержит компонент получения, компонент выбора и компонент конфигурации. Компонент получения получает рекламный контент, включающий в себя рекламу продукта или услуги, от...
Тип: Изобретение
Номер охранного документа: 0002473127
Дата охранного документа: 20.01.2013
20.02.2013
№216.012.284d

Перемещение сущностей, обладающих учетными записями, через границы безопасности без прерывания обслуживания

Изобретение относится к области управления сетью. Техническим результатом является повышение эффективности аутентификации принципалов в сетевой среде. Усовершенствованная сетевая архитектура использует суперуполномоченного, имеющего каталог идентификационной информации для направления задач...
Тип: Изобретение
Номер охранного документа: 0002475837
Дата охранного документа: 20.02.2013
20.02.2013
№216.012.284f

Криптографическое управление доступом к документам

Изобретение относится к криптографическому управлению доступом к документам. Технический результат заключается в повышении защиты документов от несанкционированного доступа с использованием криптографического шифрования. Устройство содержит блок обработки данных, состоящий из запрашивающего...
Тип: Изобретение
Номер охранного документа: 0002475839
Дата охранного документа: 20.02.2013
20.02.2013
№216.012.2850

Предоставление цифровых удостоверений

Изобретение относится к области защиты информации и может быть использовано для создания и предоставления цифровых удостоверений пользователю. Техническим результатом является улучшение точности и увеличение надежности систем предоставления данных цифровой идентификации. Способ содержит этапы...
Тип: Изобретение
Номер охранного документа: 0002475840
Дата охранного документа: 20.02.2013
Показаны записи 1-3 из 3.
20.02.2015
№216.013.28b6

Механизм против мошенничества на основе доверенного объекта

Изобретение относится к вычислительной технике. Технический результат заключается в предотвращении изменений в аппаратном и/или программном обеспечении, выполняемых в целях мошенничества. Способ предотвращения мошенничества, в котором выполняют первую операционную систему на устройстве, причем...
Тип: Изобретение
Номер охранного документа: 0002541879
Дата охранного документа: 20.02.2015
19.04.2019
№219.017.30eb

Система и способ для защищенной начальной загрузки операционной системы с использованием проверки состояния

Изобретение относится к вычислительной технике, а конкретнее к механизмам для защищенной начальной загрузки операционной системы, которая препятствует мошенническим компонентам быть загруженным операционной системой и таким образом предотвращает разглашение системного ключа при...
Тип: Изобретение
Номер охранного документа: 0002413295
Дата охранного документа: 27.02.2011
01.05.2019
№219.017.479d

Файловая служба, использующая интерфейс совместного файлового доступа и передачи состояния представления

Изобретение относится к системам и способам осуществления доступа к файлам в распределенной файловой системе. Технический результат заключается в обеспечении доступа к файлам в распределенной файловой системе. В способе принимают операцию для файла в интерфейсе протокола совместного файлового...
Тип: Изобретение
Номер охранного документа: 0002686594
Дата охранного документа: 29.04.2019
+ добавить свой РИД