Программировать больше, чем для Windows

Обновлено: 20.11.2024

Цель проекта — создать красивый и расширяемый интерфейс для пользователей интерфейса командной строки, основанный на открытых веб-стандартах. Вначале мы сосредоточимся в первую очередь на скорости, стабильности и разработке правильного API для авторов расширений.

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

Расширения

Расширения доступны в npm. Мы рекомендуем всем включать гипер в поле ключевых слов в package.json .

Затем отредактируйте .hyper.js и добавьте его в плагины

Hyper покажет уведомление, когда ваши модули будут установлены в .hyper_plugins .

Раскладки

Все командные клавиши можно изменить. Чтобы изменить их, отредактируйте файл .hyper.js и добавьте нужные изменения в раскладки клавиатуры .

Затем Hyper изменит значение по умолчанию на ваше пользовательское изменение.

Пример: 'window:devtools': 'Cmd+Alt+O'

Раскладки клавиш по умолчанию:

Конфигурация

Расположение конфигурации

macOS ~/Library/Application Support/Hyper/.hyper.js
Windows $Env:AppData/Hyper/.hyper.js
Linux ~/.config/Hyper/.hyper.js< /td>

Примечание: конфигурация в ~/.hyper.js по-прежнему поддерживается, но будет игнорироваться, если она присутствует в каталоге приложения. В противном случае он будет перемещен в каталог приложения при первом запуске.

Объект конфигурации, показанный выше в .hyper.js, допускает следующее

API расширений

Расширения — это универсальные модули Node.js, загружаемые как Electron, так и процессом визуализации.

Система расширений разработана на основе API-интерфейсов, которые мы используем для создания терминала: компоненты React и действия Redux.

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

Поэтому единственное знание, которое требуется для успешного расширения Hyper, — это базовые библиотеки с открытым исходным кодом.

Дополнительную информацию о разработке плагинов можно найти в репозитории Hyper.

Ваш модуль должен предоставлять хотя бы один из следующих методов:

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

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

Вызывается, когда плагин удаляется пользователем.

v0.5.0+. Позволяет украсить конфигурацию пользователя.
Полезно для создания тем или пользовательских параметров для вашего плагина.

v0.7.0+. Позволяет украсить среду пользователя, возвращая измененный объект среды.

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

Позволяет украшать параметры Electron BrowserWindow при создании нового окна.

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

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

Пользовательский редуктор для формы состояния пользовательского интерфейса, сеансов или групп терминов.

Передает реквизиты из в компонент. Должен возвращать составной объект реквизита.

Передает реквизиты из в компонент. Должен возвращать составной объект реквизита.

Передает реквизиты из в компонент. Должен возвращать составной объект реквизита.

Передает реквизиты из в компонент. Должен возвращать составной объект реквизита.

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

Должен возвращать расширенный объект переданной карты.

Пользовательский преобразователь для свойств отправки. Должен возвращать расширенный объект переданной карты.

Вызывается с компонентом React для украшения. Должен возвращать компонент более высокого порядка.

Загрузка модуля

Пользователь может выполнять горячую загрузку и горячую перезагрузку подключаемых модулей, нажимая Command + R (обновить). Старайтесь создавать плагины, для работы которых не требуется полный перезапуск приложения.

Уведомление

Плагины, влияющие на `BrowserWindow`, повлияют на новые окна после горячей перезагрузки.

В будущем мы можем делать это автоматически.

При разработке вы можете добавить свой подключаемый модуль в .hyper_plugins/local, а затем указать его в массиве localPlugins в .hyper.js . Загружаем новые плагины:

  • Периодически (каждые несколько часов)
  • При внесении изменений в файл конфигурации (плагины или локальные плагины)
  • Когда пользователь нажимает Плагины > Обновить все сейчас

Процесс перезагрузки включает

  • Запуск npm prune и npm install в .hyper_plugins .
  • Удаление файла require.cache как в электронном, так и в рендеринговом процессе.
  • Вызов методов on* для существующих экземпляров и повторный рендеринг компонентов со свежим оформлением.

Расположение плагинов

Примечание: плагины в ~/.hyper_plugins по-прежнему поддерживаются, но будут игнорироваться, если плагины присутствуют в каталоге приложения. В противном случае они будут перемещены в каталог приложения при первом запуске.

Примечание: в основном процессе плагины регистрируются как можно быстрее (мы запускаем onLoad ). В браузере пользователь может запустить загрузку, нажав command+R. Таким образом, мы даем пользователю возможность контролировать загрузку, чтобы он не потерял важную работу из-за расширений, которые сбрасывают состояние или не сохраняют его должным образом.

Декорирование компонентов

Мы даем вам возможность предоставить компонент более высокого порядка для каждой части Hyper UI.
Его структура следующая:

Все методы decorate* получают следующие ссылки в объекте, переданном в качестве второго параметра:

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

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

Все компоненты принимают следующие два свойства для расширения своей разметки:

macOS ~/Library/Application Support/Hyper/.hyper_plugins
Windows $Env:AppData/Hyper/.hyper_plugins
Linux ~/.config/Hyper/.hyper_plugins
customChildren Массив элементов или один элемент для вставки внизу компонента.
customChildrenBefore То же, что и указанное выше свойство, но вставляется как первый дочерний элемент(ы) компонента.

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

Ваш компонент более высокого порядка Term может предоставлять свойство обработчика onCursorMove, которое вызывается, когда курсор перемещается, с параметром объекта, представляющим его относительное положение относительно источника Term:

x Положение по горизонтали в пикселях
y Положение по вертикали в пикселях
width Ширина курсора в пикселях
height Высота курсора в пикселях
col Горизонтальное положение в столбцах
row Вертикальное положение в строках

Мы рекомендуем вам поддерживать совместимость с другими декораторами. Поскольку можно установить многие из них, не думайте, что только у вас.

Например, если вы передаете дочерние элементы, составьте возможные существующие значения:

Или вы используете свойство onDecorated

Действия и эффекты

Все действия Redux доступны для обработки через ПО промежуточного слоя и редюсеры. Пример см. в справочном подключаемом модуле Hyperpower.

Побочные эффекты проявляются в двух основных формах:

  • Некоторые действия отправляют другие действия в зависимости от состояния.
  • Некоторые действия работают асинхронно, обмениваясь данными по каналу RPC с основным процессом.

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

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

В качестве примера рассмотрим действие, которое мы используем для увеличения размера шрифта при нажатии Command+= :

Базовый терминал

Hyper достигает большей скорости и функциональности благодаря мощи xterm.js

Дополнительные API

Объекты приложения Electron дополнены следующими свойствами:

< /tr>
config Объект с блоком конфигурации из .hyper.js .
плагины Объект с помощниками для плагинов.
getWindows Функция, возвращающая набор всех открытых окон.
createWindow Функция, которая создаст новое окно. Принимает необязательный обратный вызов, который будет передан как обратный вызов инициализации нового окна.

Объекты Electron BrowserWindow расширены следующими параметрами:

rpc Emitter EventEmitter, обеспечивающий связь с оконным процессом.
sessions Карта объектов сеанса, которые поддерживают связь с pty каждого термина..

Окна средства визуализации также расширяются за счет:

rpc Emitter EventEmitter, обеспечивающий связь с оконным процессом.
store Объект Redux Store. Это позволяет получить доступ к действиям отправки или прочитать глобальное состояние с помощью getState .

Объект rpc симметричен между браузером и процессом визуализации. API такой же, как и Node.js, за исключением того, что он допускает только один объект в качестве своих параметров:

Пример темы: Hyperyellow

Следующее расширение просто изменяет конфигурацию, добавляя CSS и желтые цвета! Вот код.

Темы — это просто плагины! Нужен только один хук, decorConfig:

Я получил имена классов, проверив термин с помощью Devtools, который можно активировать, выбрав View -> Toggle Developer Tools . При этом обратите внимание, что некоторые классы генерируются автоматически, а за ними следует случайный одноразовый номер (например, term_13hv8io). Не обращайте на них внимания: они меняются с каждым новым окном!

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

Пример расширения: Hyperpower

Следующее расширение визуализирует частицы при перемещении курсора:

Давайте рассмотрим его код.
Сначала мы перехватываем действие Redux SESSION_ADD_DATA. Полный список действий вы можете найти в репозитории.

Обратите внимание, что мы не отправляем действие повторно, а это значит, что мы никогда не отображаем вывод команды на терминал. Вместо этого мы отправляем собственное действие, которое мы получаем в uiReducer и более поздней карте:

Затем мы хотим украсить компонент, чтобы получить доступ к базовой каретке.

Однако это не контейнер, на который мы можем сопоставить свойства. Поэтому мы используем getTermProps для передачи свойства ниже:

Затем расширение возвращает компонент более высокого порядка для переноса . Обратите внимание, что мы передаем свойство onDecorated для доступа к базовому компоненту Term и его ссылке DOM, а также свойство onCursorMove для использования API гиперкурсора:

Hyper-V — это продукт Microsoft для аппаратной виртуализации. Он позволяет создавать и запускать программную версию компьютера, называемую виртуальной машиной. Каждая виртуальная машина действует как полноценный компьютер с операционной системой и программами. Когда вам нужны вычислительные ресурсы, виртуальные машины обеспечивают большую гибкость, помогают сэкономить время и деньги и представляют собой более эффективный способ использования оборудования, чем просто запуск одной операционной системы на физическом оборудовании.

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

Как Hyper-V может вам помочь

Hyper-V может помочь вам:

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

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

Повышение непрерывности бизнеса. Сведите к минимуму влияние как запланированных, так и незапланированных простоев ваших рабочих нагрузок.

Создание или расширение инфраструктуры виртуальных рабочих столов (VDI). Использование стратегии централизованного рабочего стола с VDI может помочь вам повысить гибкость бизнеса и безопасность данных, а также упростить соблюдение нормативных требований и управление операционными системами и приложениями для настольных компьютеров. Разверните Hyper-V и узел виртуализации удаленных рабочих столов (узел виртуализации удаленных рабочих столов) на одном сервере, чтобы сделать личные виртуальные рабочие столы или пулы виртуальных рабочих столов доступными для ваших пользователей.

Повысьте эффективность разработки и тестирования. Воспроизведение различных вычислительных сред без необходимости покупать или обслуживать все необходимое оборудование, если бы вы использовали только физические системы.

Hyper-V и другие продукты для виртуализации

Hyper-V в Windows и Windows Server заменяет старые продукты виртуализации оборудования, такие как Microsoft Virtual PC, Microsoft Virtual Server и Windows Virtual PC. Hyper-V предлагает сетевые функции, производительность, хранилище и функции безопасности, недоступные в этих старых продуктах.

Hyper-V и большинство сторонних приложений виртуализации, которым требуются одинаковые функции процессора, несовместимы. Это связано с тем, что функции процессора, известные как расширения аппаратной виртуализации, не предназначены для совместного использования. Дополнительные сведения см. в разделе Приложения виртуализации не работают вместе с Hyper-V, Device Guard и Credential Guard.

Какие функции есть у Hyper-V?

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

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

Аварийное восстановление и резервное копирование. Для аварийного восстановления реплика Hyper-V создает копии виртуальных машин, предназначенные для хранения в другом физическом расположении, чтобы вы могли восстановить виртуальную машину из копии. Для резервного копирования Hyper-V предлагает два типа. В одном используются сохраненные состояния, а в другом используется служба теневого копирования томов (VSS), поэтому вы можете создавать согласованные с приложениями резервные копии для программ, поддерживающих VSS.

Оптимизация. Каждая поддерживаемая гостевая операционная система имеет настраиваемый набор служб и драйверов, называемых службами интеграции, которые упрощают использование операционной системы на виртуальной машине Hyper-V.

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

Удаленное подключение. Hyper-V включает Virtual Machine Connection, инструмент удаленного подключения для использования как в Windows, так и в Linux. В отличие от удаленного рабочего стола, этот инструмент предоставляет вам доступ к консоли, поэтому вы можете видеть, что происходит в гостевой системе, даже если операционная система еще не загружена.

Безопасность. Безопасная загрузка и экранированные виртуальные машины помогают защититься от вредоносных программ и другого несанкционированного доступа к виртуальной машине и ее данным.

Краткий обзор функций, представленных в этой версии, см. в статье Что нового в Hyper-V на Windows Server. Некоторые функции или части имеют ограничение на количество конфигурируемых элементов. Дополнительные сведения см. в разделе Планирование масштабируемости Hyper-V в Windows Server 2016.

Как получить Hyper-V

Hyper-V доступен в Windows Server и Windows в качестве роли сервера, доступной для 64-разрядных версий Windows Server. Инструкции для сервера см. в разделе Установка роли Hyper-V на Windows Server. В Windows эта функция доступна в некоторых 64-разрядных версиях Windows. Он также доступен в виде загружаемого отдельного серверного продукта Microsoft Hyper-V Server.

Поддерживаемые операционные системы

Многие операционные системы работают на виртуальных машинах. Как правило, операционная система, использующая архитектуру x86, будет работать на виртуальной машине Hyper-V. Однако не все операционные системы, которые можно запустить, протестированы и поддерживаются Microsoft. Список поддерживаемых функций см.:

Как работает Hyper-V

Hyper-V – это технология виртуализации на основе гипервизора. Hyper-V использует гипервизор Windows, для которого требуется физический процессор с определенными функциями. Сведения об оборудовании см. в разделе Системные требования для Hyper-V на Windows Server.

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

Из чего состоит Hyper-V?

Компоненты Hyper-V должны работать вместе, чтобы вы могли создавать и запускать виртуальные машины. Вместе эти части называются платформой виртуализации. Они устанавливаются как набор при установке роли Hyper-V. К обязательным компонентам относятся гипервизор Windows, служба управления виртуальными машинами Hyper-V, поставщик WMI для виртуализации, шина виртуальной машины (VMbus), поставщик услуг виртуализации (VSP) и драйвер виртуальной инфраструктуры (VID).

Связанные технологии

Вот некоторые технологии Microsoft, которые часто используются с Hyper-V:

Различные технологии хранения: общие тома кластера, SMB 3.0, прямые дисковые пространства

Контейнеры Windows предлагают другой подход к виртуализации. См. библиотеку контейнеров Windows в MSDN.

Многие сторонние приложения виртуализации не работают вместе с Hyper-V. Затронутые приложения включают VMware Workstation и VirtualBox. Эти приложения могут не запускать виртуальные машины или переключаться в более медленный эмулируемый режим.

Эти симптомы проявляются при работе гипервизора Hyper-V. Некоторые решения безопасности также зависят от гипервизора, например:

Относится к: Windows 10 — все выпуски
Исходный номер базы знаний: 3204980

Определить, запущен ли гипервизор Hyper-V

Чтобы определить, запущен ли гипервизор Hyper-V, выполните следующие действия:

В поле поиска введите msinfo32.exe.

Выберите «Информация о системе».

В окне сведений найдите следующую запись:

Обнаружен гипервизор.Функции, необходимые для Hyper-V, отображаться не будут.

Причина

Такое поведение предусмотрено дизайном.

Многие приложения виртуализации зависят от аппаратных расширений виртуализации, доступных на большинстве современных процессоров. Он включает в себя Intel VT-x и AMD-V. Только один программный компонент может одновременно использовать это оборудование. Аппаратное обеспечение не может использоваться совместно приложениями виртуализации.

Чтобы использовать другое программное обеспечение для виртуализации, необходимо отключить Hyper-V Hypervisor, Device Guard и Credential Guard. Если вы хотите отключить гипервизор Hyper-V, выполните действия, описанные в следующих двух разделах.

Как отключить Hyper-V

Вы можете отключить гипервизор Hyper-V либо в панели управления, либо с помощью Windows PowerShell.

Отключить Hyper-V в панели управления

Чтобы отключить Hyper-V в панели управления, выполните следующие действия:

На панели управления выберите "Программы и компоненты".

Выберите «Включить или отключить функции Windows».

Разверните Hyper-V, разверните Hyper-V Platform и снимите флажок Hyper-V Hypervisor.

Отключить Hyper-V в PowerShell

Чтобы отключить Hyper-V с помощью Windows PowerShell, выполните следующие действия:

Откройте окно PowerShell с повышенными привилегиями.

Выполните следующую команду:

Отключить Device Guard и Credential Guard

Вы можете отключить Device Guard и Credential Guard с помощью разделов реестра или групповой политики. Чтобы сделать это, см. раздел Управление Credential Guard в Защитнике Windows.

Подробнее

Отказ от ответственности за стороннюю информацию

Обсуждаемые в этой статье сторонние продукты производятся компаниями, независимыми от Microsoft. Microsoft не дает никаких гарантий, подразумеваемых или иных, в отношении производительности или надежности этих продуктов.

Hyper-V предъявляет особые требования к оборудованию, а некоторые функции Hyper-V предъявляют дополнительные требования. Используйте сведения в этой статье, чтобы решить, каким требованиям должна соответствовать ваша система, чтобы вы могли использовать Hyper-V так, как вы планируете. Затем просмотрите каталог Windows Server. Имейте в виду, что требования для Hyper-V превышают общие минимальные требования для Windows Server 2016, поскольку для среды виртуализации требуется больше вычислительных ресурсов.

Если вы уже используете Hyper-V, скорее всего, вы сможете использовать существующее оборудование. Общие требования к оборудованию существенно не изменились по сравнению с Windows Server 2012 R2. Но вам потребуется более новое оборудование для использования экранированных виртуальных машин или назначения дискретных устройств. Эти функции зависят от конкретной аппаратной поддержки, как описано ниже. Помимо этого, основное отличие аппаратного обеспечения заключается в том, что теперь требуется преобразование адресов второго уровня (SLAT), а не рекомендуется.

Подробнее о максимально поддерживаемых конфигурациях Hyper-V, например о количестве работающих виртуальных машин, см. в разделе Планирование масштабируемости Hyper-V в Windows Server 2016. Список операционных систем, которые можно запускать на виртуальных машинах, приведен в Поддерживаемые гостевые операционные системы Windows для Hyper-V на Windows Server.

Общие требования

Независимо от того, какие функции Hyper-V вы хотите использовать, вам понадобятся:

64-разрядный процессор с преобразованием адресов второго уровня (SLAT). Для установки компонентов виртуализации Hyper-V, таких как гипервизор Windows, процессор должен иметь SLAT. Однако не требуется устанавливать инструменты управления Hyper-V, такие как подключение к виртуальной машине (VMConnect), диспетчер Hyper-V и командлеты Hyper-V для Windows PowerShell. См. раздел "Как проверить требования Hyper-V" ниже, чтобы узнать, есть ли у вашего процессора SLAT.

Расширения режима монитора виртуальной машины

Достаточно памяти. Запланируйте не менее 4 ГБ ОЗУ. Чем больше памяти, тем лучше. Вам потребуется достаточно памяти для хоста и всех виртуальных машин, которые вы хотите запустить одновременно.

Поддержка виртуализации включена в BIOS или UEFI:

Аппаратная виртуализация. Это доступно для процессоров с возможностью виртуализации, в частности для процессоров с технологией виртуализации Intel (Intel VT) или AMD Virtualization (AMD-V).

Должна быть доступна и включена аппаратная защита от выполнения данных (DEP). Для систем Intel это бит XD (бит отключения выполнения). Для систем AMD это бит NX (без бита выполнения).

Как проверить требования Hyper-V

Откройте Windows PowerShell или командную строку и введите:

Прокрутите до раздела «Требования Hyper-V», чтобы просмотреть отчет.

Требования к определенным функциям

Вот требования для назначения дискретных устройств и экранированных виртуальных машин. Описание этих функций см. в статье Что нового в Hyper-V на Windows Server.

Раздельное назначение устройств

Требования к хосту аналогичны существующим требованиям для функции SR-IOV в Hyper-V.

Процессор должен иметь расширенную таблицу страниц Intel (EPT) или таблицу вложенных страниц AMD (NPT).

Набор микросхем должен иметь:

Переназначение прерываний — Intel VT-d с возможностью переназначения прерываний (VT-d2) или любая версия AMD I/O Memory Management Unit (I/O MMU).

Переназначение DMA — Intel VT-d с Queued Invalidations или любой AMD I/O MMU.

Службы управления доступом (ACS) на корневых портах PCI Express.

Таблицы встроенного ПО должны отображать MMU ввода-вывода для гипервизора Windows. Обратите внимание, что эта функция может быть отключена в UEFI или BIOS. Инструкции см. в документации по оборудованию или обратитесь к производителю оборудования.

Устройствам требуется графический процессор или энергонезависимая экспресс-память (NVMe). Для GPU только определенные устройства поддерживают назначение дискретных устройств. Для проверки см. документацию по оборудованию или обратитесь к производителю оборудования. Дополнительные сведения об этой функции, в том числе о том, как ее использовать, и рекомендации см. в публикации «Назначение дискретных устройств — описание и справочная информация» в блоге о виртуализации.

Защищенные виртуальные машины

Эти виртуальные машины основаны на безопасности на основе виртуализации и доступны, начиная с Windows Server 2016.

UEFI 2.3.1c — поддерживает безопасную контролируемую загрузку

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

TPM v2.0 – защищает активы безопасности платформы

IOMMU (Intel VT-D) — чтобы гипервизор мог обеспечить защиту от прямого доступа к памяти (DMA)

Читайте также: