Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Работа программной виртуальной машины



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

 

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

 

Таким образом, программы в ВМ вообще не имеют прямого доступа к ресурсам реальной машины (только через посредника в виде программы, реализующей ВМ, например, VirtualBox). С другой стороны, и хост-ОС не имеет доступа к области памяти, выделенной для ВМ. Хост-ОС только видит, что память выделена для чего-то, но доступ к этой памяти закрыт.

 

В результате в реальном компьютере могут одновременно и совершенно независимо функционировать несколько совершенно разных ОС на базе одной или разных программ виртуальных машин (VirtualBox, VMWare и т.д.) своими приложениями, в том числе хост-ОС.

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

 

 

Рис. 2.1

Здесь ОП – оперативная память;

ВОП – виртуальная оперативная память, т.е. оперативная память ВМ;

ЖД – жесткий диск;

ВЖД – виртуальный жесткий диск;

ВРУ – виртуальные регистры устройств.

 

Вывод 1: процессы (выполняющиеся программы) в любой из ВМ или хост-ОС изолированы друг от друга. Вирус или некорректно написанная программа, работающие в ВМ, не могут проникнуть в другие системы и нанести им ущерб.

 

Вывод 2: ВМ использует только часть ресурсов реальной машины, поэтому работает существенно (в несколько раз) медленнее.

 

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

 

Вывод 4: виртуальный жесткий диск, созданный программой виртуализации, должен работать на любой аппаратной платформе, т.е. на любом компьютере (по крайней мере под управлением такой же программы виртуализации).

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.