
- •Введение
- •1. Основные понятия в операционных системах
- •1.1. Классификация и функции операционных систем
- •1.2. Ос общего назначения и реального времени
- •1.3. Выполнение команд в вычислительной системе
- •1.4. Прерывания
- •1.5 Архитектуры операционных систем
- •1.6. Управление оперативной памятью вычислительной системы
- •1.7. Общие сведения о процессах и потоках
- •2. Операционная система windows
- •2.1. Версии операционной системы Windows
- •2.2. Архитектура операционной системы windows
- •2.3. Процессы и потоки в Windows
- •2.4. Взаимодействие процессов
- •2.5. Управление потоками в Windows
- •2.6. Файловые системы Windows
- •2.7. Установка и последовательность загрузки Windows
- •Последовательность загрузки Windows xp
- •2.8. Интерпретатор команд и пакетные файлы
- •2.9. Конфигурирование Windows
- •3. Операционная система qnx neutrino
- •3.1. Версии операционной системы qnx Neutrino
- •3.2. Архитектура операционной системы qnx Neutrino
- •3.3. Процессы в qnx6
- •Завершение процесса
- •3.4. Потоки в qnx6
- •Завершение потока
- •3.5. Управление потоками и процессами в qnx6
- •Механизмы ipc
- •Средства синхронизации в qnx
- •3.6. Файловые системы qnx
- •Типы файлов
- •3.7. Инсталляция и последовательность загрузки qnx
- •3.8. Интерпретаторы команд и пакетные файлы в qnx
- •3.9. Конфигурирование qnx
- •4. Виртуальные машины
- •4.1. Общие сведения о виртуальных машинах
- •4.2. Работа с виртуальной машиной VmWare
- •5. Защита от сбоев и несанкционированного доступа
- •5.1. Принципы построения систем безопасности
- •5.2. Безопасность операционной системы windows
- •6. Сетевые возможности операционных систем
- •6.1. Аппратаное обеспечение локальных сетей
- •6.2. Сети Windows
- •6.3. Локальная сеть на основе qnet
- •6.4. Глобальные сети
- •7. Многопроцессорные системы
- •7.1. Архитектуры многопроцессорных операционных систем
- •7.2. Принципы функционирования smp
- •7.3. Принципы функционирования кластеров
- •Список использованной литературы
- •Компилятор
4.2. Работа с виртуальной машиной VmWare
Виртуальная машина, или, иначе, VM,- это программа, которая эмулирует настоящий физический компьютер, притом таким изощренным образом, что на этот компьютер можно установить операционную систему и приложения, которые будут работать, не подозревая о том, что работают они не на "железе", а в программной среде. При этом виртуальная машина может создавать различные аппаратные конфигурации (в некоторых пределах) - например, можно определить, сколько памяти получит та или иная виртуальная машина [23]. Сама программа эмуляции, равно как и работающая на ней операционная система, называется виртуальной машиной, в то время как основная операционная система и физическая машина называются хост-системой.
Задействованные виртуальной машиной ресурсы или "вырезаются" из основного пула ресурсов (как, например, происходит с оперативной памятью), или раздельно используются и хост, и виртуальной системами - как это происходит с процессором и съемными носителями.
Описываемые виртуальные машины предназначены для работы в качестве хост-системы под Windows и в случае VMWare - под Linux, хотя многообразие устанавливаемых систем значительно шире. Как правило, VMWare показывает отличные результаты, но если не удается поставить какую-то систему или возникают сбои, то, как вариант, попробуйте VirtualPC - возможно, она справится с вашими проблемами.
Если ОС корректно работает на архитектуре Intel, то она с максимальной вероятностью установится и станет работать в VMWare. В VMWare хорошо работают все версии DOS, Windows, а также основные дистрибутивы Linux и QNX.
VMWare при создании виртуальной машины сразу же создает виртуальный жесткий диск, после чего можно добавить еще какое-то их количество. Размер этого диска по умолчанию - 4 Гб, но этот размер просто изменить. С точки зрения аппаратной части, этот диск может быть привязан к любому каналу IDE или SCSI. При необходимости изменитя этих настроек, их нужно изменять это до инсталляции ОС, поскольку впоследствии не все системы правильно поймут перестановку диска с одного шлейфа на другой.
С жесткими дисками связано три возможности. Во-первых, файл жесткого диска можно, подобно физическому устройству, "извлечь" из ВМ - то есть сохранить, переписать на другую систему и потом подключить, воссоздав тем самым ВМ в первозданном виде.
Другая возможность - настроить "откат" изменений на диске. Обычно изменения будут храниться на диске так же, как это происходит на обычном компьютере. Режим отката позволяет работать с системой, но после перезагрузки все изменения на диске будут утеряны. Существует также промежуточный вариант, то есть при выключении ВМ будет задан вопрос, сохранить ли изменения.
Наконец, третий вариант - при создании машины сделать не виртуальный диск в файле, а отвести под диск настоящий раздел. Это несколько трудоемкий и не очень эффективный метод. Его назначение ‑ установить ВМ, настроить систему в виртуальном режиме, после чего перенести жесткий диск с настройками на другой компьютер и запускать систему в собственном режиме.
Несколько другая ситуация со сменными носителями. Самое главное отличие - это то, что под VMWare они могут использоваться одновременно и ВМ, и хостом. При этом несколько виртуальных машин тоже разделяют одно устройство, так что никаких проблем не возникает. Кроме того, в VMWare есть возможность вместо физического устройства использовать образ диска - как ISO для CD-ROM, так и образа флоппи-диска для соответствующего юнита.
Под VirtualPC все сделано слабее. Сменные носители монтируются, подобно тому, как это происходит в Unix. После того как диск примонтирован, он захватывается ВМ и из других систем не доступен. Если пользователь извлекает носитель, устройство автоматически освобождается - и ВМ теряет его. Для того, чтобы она его нашла нужно щелкнуть правой кнопкой на маленькой пиктограмме в строке состояния и снова захватить CD ROM.
Настройка видео - ответственный участок в настройке виртуальной машины. По крайней мере, при настройке X-Windows - поскольку тут придется сделать кое-что своими руками. VMWare и VirtualPC решают проблему видео разными путями, а именно: VirtualPC эмулирует видеокарточку S3 Trio 32/64 PCI, и поскольку любая существующая операционная система поддерживает эту карточку с вероятностью 99,99%, то таким образом проблема видео решается удовлетворительно.
Совершенно другим путем пошла VMWare. Вместо эмуляции какой-то существующей карточки она предлагает собственный драйвер, входящий в пакет vmware-tools, устанавливаемый на виртуальной системе.
Настройка сетевых интерфейсов - это самое важное, поскольку вряд ли кто-то ставит FreeBSD или Linux с иной целью, чем задействовать сетевые возможности последних. Представляемые виртуальные машины имеют несколько принципиально различных методов подключения к вашему компьютеру и ко внешней сети. Рассмотрим (как более канонический вариант) схемы подключения vmware и потом перечислим отличия в VirtualPC.
Существует три основных режима подключения виртуальной машины к сети: Bridged mode, NAT и Host Only, схематически показанные на рисунке.
1) Bridged mode дает виртуальной машине непосредственный доступ к внешнему интерфейсу хост-машины, на котором виртуальная машина самостоятельно устанавливает или получает через DHCP собственные сетевые параметры - такие как IP-адрес, маршрутизатор по умолчанию и тому подобные. Этот вариант подключения нужно использовать для тех случаев, когда на VM устанавливаются серверы, которые должны иметь определенные сетевые адреса.
2) NAT использует трансляцию адресов исходящего трафика. В этом случае адрес виртуальной машины, полученный по встроенному, в NAT DHCP, в момент пересылки на внешний протокол подменяется на адрес хост-машины. При этом запрос помещается в таблицу запросов. Полученные ответы от удаленных систем сверяются с этой таблицей - и по ряду параметров находится соответствие, по типу "в ответ на ваше письмо от такого-то какого-то рады вам сообщить…". При пересылке в VM адрес снова подменяется, так чтобы программа, запросившая информацию, получила пакеты на свой порт и адрес. Таким образом, пересылаются запросы и в серверные приложения, к которым пользователь обычно не обращается напрямую, например DNS.
NAT без проблем работает на исходящем трафике, но в случае входящего запроса все запросы приходят на адрес хост-машины, поскольку во внешнем мире все NAT-адреса были представлены одним адресом хост-системы. Для того чтобы виртуальная машина могла получать входящий трафик, на хост-машине необходимо вручную установить правило ретрансляции, смысл которого примерно следующий: "входящие пакеты на порту таком-то переводить в ВМ такую-то на порт такой-то (порт обычно тот же самый)". То есть доступ к серверу можно осуществлять и через NAT, но это требует дополнительной настройки. Для более подробной инструкции по настройке NAT под VMWare ищите "Understanding NAT" в справочном пособии и изучайте файл C:\WINNT\system32\vmnetnat.conf.
3) Третий режим Host Only представляет дела так, будто у хост-машины в дополнение к имеющимся сетевым интерфейсам есть еще одна сетевая карточка (видимая в системе и без запуска VM), к которой подключается наша ВМ, образуя с хост-машиной маленькую подсеть. Таким образом, можно устроить сеть на одном компьютере, что называется, не отходя от дома. При этом совсем не обязательно судьба исходящих пакетов заканчивается на хост-машине - она может выступать как мост между подсетями и переводить пакеты на другой интерфейс, например на модем. Таким образом ВМ может получать доступ к другим подсетям.
Настройка производительности. Несколько приложений, работающих параллельно, будут работать медленнее, чем по отдельности. В случае с виртуальными машинами процесс усугубляется тем, что все приложения на всех машинах разделяют один процессора. Поскольку виртуальные машины не используют особых средств разделения процессорного времени, кроме системных диспетчеров хост- и виртуальной машин, и учитывая, что накладные расходы современных диспетчеров составляют не более 1%, то для расчета производительности можно применять обычную арифметику.
Например, для нормальной работы Windows 2000 нужен Pentium II/III 600. Для работы Linux-сервера в терминальном режиме требуется Pentium 300. Просто складывая эти числа, получается искомый 1 ГГц, на котором обе системы будут поддерживать прежнюю производительность.
В меню Settings > Preferences на закладке Priority VMWare есть установка приоритетов, помогающая тонко настроить приоритет виртуальной машины при распределении циклов процессора. Global обозначает настройку для всех виртуальных машин. Локальная настройка относится только к текущей виртуальной машине. Grabbed input соответствует режиму, когда виртуальная машина получает управление и захватывает ввод пользователя; Ungrabbed, соответственно,- фоновому режиму виртуальной машины (даже если ее окно и находится на переднем плане).
Особое внимание нужно обратить на память, учитывая, что она выделяется статически, в момент запуска виртуальной машины. Поскольку на хост-системе установлена виртуальная память, можно загрузить несколько виртуальных машин - и под все будет распределена память. Но поскольку вся она (на 90%) будет в файле подкачки, производительность значительно упадет. Для рассчета памяти нужно брать только физическую память. Например, современные Linux-системы с Gnome для комфортной работы требуют около 128 Мб памяти. Плюс в хост-режиме под NT5 планируется обрабатывать графику, что тоже требует около 128 Мб. А так же несколько приложений, таких как браузер, почтовый клиент, текстовый редактор. Таким образом, система с 256 Мб будет показывать несколько замедленную реакцию в требовательных к памяти приложениях, а вот установка 256 + 128 Мб обеспечит полный комфорт в работе.
Диспетчером задач позволяет просмотреть фактическую нагрузку на процессор и распределение памяти и показать, сколько требуют те или иные системы при запуске тех или иных приложений. В случае соответсвия компьютера требованиям VM можно получить максимум производительности и удовольствия от этой технологии. Для выхода виртуальной машины VMWare нужно нажать левые <Alt + Ctrl>. Эта же комбинация вернут к хост-системе из полноэкранного виртуального режима.