Виртуализация: Учебное пособие. – Таганрог: ЮФУ, 2013. – 44 с.
В пособии рассмотрены основные виды виртуализации и соответствующие программы. Предназначено для студентов, изучающих курсы «Информатика» и «Информационные технологии». Может быть полезно пользователям компьютеров.
Автор попытался систематизировать информацию о видах виртуализации и достаточно просто (где надо – пошагово) изложить материал о популярных программах виртуализации. Рассмотрены виртуальные машины, операционные системы и приложения. Также даны рекомендации по продлению ресурса флешек и внешних жестких дисков, на которых часто размещаются виртуальные среды.
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/Статья:Аппаратная_виртуализация).