Виртуальные процессоры и логические разделы - PullRequest
1 голос
/ 09 ноября 2010

Я в основном хотел знать, что такое виртуальный процессор. На сайте IBM они определяют его как:

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

Я понимаю, что если есть x процессоров, каждый из которых может одновременно выполнять две операции, то система может выполнять 2 операции одновременно. Но где виртуальный процессор вписывается в это. И я попытался найти разницу между логическим разделом и другими разделами, такими как основной, но не был уверен.

1 Ответ

1 голос
/ 09 ноября 2010

Я бы хотел провести аналогию между виртуальной памятью и виртуальными процессорами.

Начните с ожиданий:

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

Поймите, что ожидание может быть удовлетворено непосредственно аппаратным обеспечением или уровнем абстракции

  • Виртуальная память - это набор (специализированных, не встречающихся в простых микросхемах) аппаратных средств и сервисов ОС, которые подделывают пользовательскую программу, думая, что она имеет такое хорошее, плоское, большое, непрерывное пространство памяти, даже когда ОС занята разделить реальную память на маленький кусочек и сохранить некоторые из них на диске, вернуть другую обратно и, в противном случае, создать настоящий хэш. Но ваш код не имеет значения. Все просто работает.
  • Виртуальная процессорная система - это набор (специализированных, не встречающихся в потребительских ЦП) аппаратных средств и сервисов гипервизора, которые позволяют вашей ОС полагать, что она имеет прямой доступ к одному или нескольким процессорам с ожидаемыми режимами защиты, прерываниями и т. Д. несмотря на то, что гипервизор активно переключает контексты всей ОС на один или несколько реальных процессоров, запускает и останавливает доступ к шинам ввода-вывода и т. д. и т. д. Но OS не волнует. Все просто работает.

Аппаратная поддержка для этого только недавно стала доступна в «настольных» процессорах, но у Big Iron она была целую вечность. Это полезно по нескольким причинам

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

Это те вещи (помимо миллионов LOC сильно отлаженного, критически важного кода), которые заставляют людей платить за Big Iron.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...