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

...

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

Эмуляция и виртуализация



.

И.И.Турулин

 

 

Виртуализация

 

 

ТАГАНРОГ 2013

 
 


Турулин И.И.

Виртуализация: Учебное пособие. – Таганрог: ЮФУ, 2013. – 44 с.

 

В пособии рассмотрены основные виды виртуализации и соответствующие программы. Предназначено для студентов, изучающих курсы «Информатика» и «Информационные технологии». Может быть полезно пользователям компьютеров.

 

Автор попытался систематизировать информацию о видах виртуализации и достаточно просто (где надо – пошагово) изложить материал о популярных программах виртуализации. Рассмотрены виртуальные машины, операционные системы и приложения. Также даны рекомендации по продлению ресурса флешек и внешних жестких дисков, на которых часто размещаются виртуальные среды.

 

© Турулин И.И., 2013

           
 
 
   
 
   


 


СОДЕРЖАНИЕ

Введение. 5

1. Основные понятия и определения. 6

2. Эмуляция и виртуализация. 7

2.1. Эмуляция. 7

2.2. Виртуализация. 8

2.2.1. Программная виртуализация. 9

2.2.2. Аппаратная виртуализация. 9

2.3. Общие принципы организации виртуальных машин. 11

2.4. Песочница. 12

2.5. Обзор программ виртуализации на платформе IBM PC.. 13

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

3. Краткое описание программы VirtualBox. 16

3.1. Общие сведения. 16

3.2. Виртуальный жесткий диск. 19

3.3. Создание и удаление виртуальной машины.. 20

3.4. Монтирование реального оптического привода. 20

3.5. Монтирование виртуального оптического привода. 21

3.6. Установка и монтирование общих папок. 21

3.7. Монтирование USB-устройств. 23

3.8. Запуск виртуальной машины.. 24

3.9. Установка ОС.. 24

3.10. Установка дополнений гостевой ОС.. 24

3.11. Ссылки. 25

4. Краткие сведения о компоненте Hyper-V операционной системы Windows 8 27

4.1. Общие положения. 27

4.2. Установка и запуск Hyper-V.. 27

4.3. Создание и запуск виртуальных машин и управление ими. 28

4.4. Настройка сети. 29

4.5. Сравнение Hyper-VиVirtualBox. 30

5. Виртуальные операционные системы.. 30

5.1. Общие сведения и обзор программного обеспечения. 30

5.2. Программа Prayaya V3. 32

5.3. Программа MojoPac. 34

6. Виртуализация приложений. 35

6.1. Общие положения. 35

6.2. Технология получения портабельного (виртуального) приложения с помощью программы Cameyo. 37

6.3. Технология получения портабельного (виртуального) приложения с помощью программы VMware ThinApp. 38

7. Виртуальные рабочие столы.. 39

8. Особенности работы с флеш-накопителями и внешними жесткими дисками 39

Контрольные вопросы.. 42

 


Введение

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

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

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

О неточностях, пожеланиях и т. п. просьба сообщать на E-mail iit@itt.net.ru. Автор также заранее благодарен за любую критику (в пределах приличия). При необходимости материал сразу же будет переверстан и вновь выложен в интернет.


 

Основные понятия и определения

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

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

Платформа– компьютерная (аппаратная) архитектура и/или операционная система (ОС).

Среда система программирования, моделирования, проектирования и т.д. Примеры – Microsoft Visual C++, Borland Delphi, Microsoft Visual Basic, Mathcad, LabVIEW и т. д. Компиляторы с одного и того же языка, реализованные разными фирмами, также образуют разные среды.

Драйвер – программа-посредник между ОС и конкретным устройством, стандартизующее протокол (процесс обмена информацией).

Процесс–работающая в данный момент (запущенная) программа (системная, или прикладная, драйвер, утилита).

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

Натурные испытания– испытания в реальных условиях эксплуатации, например, программы в бортовом компьютере.

Симуляция (имитация, моделирование) –воспроизведение приблизительного поведения программы, системы или ее части. Применяется как этап испытаний новой техники в лабораторных условиях перед натурными испытаниями.

Портирование программ – переписывание заново аппаратно-зависимых участков кода (программы) для новой аппаратной среды. Аппаратная зависимость обычно вызвана необходимостью увеличения быстродействия путем обращения к устройствам не через драйвер, а напрямую.

Обратная разработка (обратный инжиниринг, реверс-инжиниринг, reverse engineering) – исследование некоторого устройства или программы, а также документации для понимания принципа работы и/или воссоздания алгоритма либо архитектуры системы. Обычная цель – воспроизвести устройство, программу или иной объект и не быть уличенным в копировании. Часто при этом делается дизассемблирование – преобразование машинного кода загрузочного модуля программы в текст на языке ассемблера. Поэтому почти во всех лицензионных соглашениях фирма-разработчик программного обеспечения требует, чтобы пользователь программы не дизассемблировал ее. Дизассемблирование применяется также с целью изучения недокументированных (не отраженных в описаниях) возможностей, знание которых необходимо для написания своих драйверов для чужих устройств, а также для создания программ, реализующих виртуальные машины.

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

Эмуляция и виртуализация

Эмуляция

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

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

Этот вывод сделан исходя из того, что фактически результатом работы программы является запись и считывание информации в ячейки оперативной, внешней памяти и регистры (порты). Регистры – это специальные ячейки памяти с возможностью записи и считывания информации, предназначенные для управления различными устройствами – от процессора до внешних устройств (жесткие диски (ЖД), флешки, сканеры, принтеры и т.д.). К внешней памяти относятся дискеты, ЖД, флешки, оптические диски. При сканировании документа происходит считывание информации из регистра данных, при печати – запись в такой регистр.

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

Чаще всего эмулятор (например, в виртуальной машине) состоит из:

– эмулятора или симулятора центрального процессора (ЦП);

– модуля подсистемы памяти, эмулирующего оперативное и постоянное запоминающие устройства (ОЗУ и ПЗУ);

– модуля или модулей эмуляции различных устройств ввода/вывода.

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

Виртуализация

Виртуализация – многозначное понятие – создание аппаратных и/или программных, а также иных систем, процессов, отличающихся от реальных. Так, на базе совокупности множества реальных процессоров с помощью программно-аппаратных средств обеспечивается возможность обращения из программы к этой совокупности как к одному процессору (виртуальному) с большой производительностью (кластеру; см. п.1), что упрощает программирование. В этом случае программно-аппаратная среда кластера выполняет функции диспетчера, распределяющего задачи между отдельными процессорами и является посредником между прикладной программой и кластером. С другой стороны, на базе одного реального компьютера можно создать один или несколько виртуальных. В информационных технологиях чаще под словом «виртуализация» понимается изоляция вычислительных процессов и ресурсов друг от друга.

Данный подраздел подготовлен на основе статьи: http://www.tadviser.ru/index.php/Статья:Аппаратная_виртуализация).

 

.



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