
- •Введение
- •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. Виртуальные машины
4.1. Общие сведения о виртуальных машинах
Виртуальная машина (англ. virtual machine) — программная или аппаратная среда, исполняющая некоторый код (например, байт-код, шитый код, p-код или машинный код реального процессора), или спецификация такой системы (например: «виртуальная машина языка программирования Си»).
Зачастую виртуальная машина эмулирует работу реального компьютера. На виртуальную машину, также как и на реальный компьютер, можно устанавливать операционную систему, у виртуальной машины также есть BIOS, оперативная память, жёсткий диск (выделенное место на жёстком диске реального компьютера), могут эмулироваться периферийные устройства. На одном компьютере может функционировать несколько виртуальных машин [22] .
Виртуальные машины могут использоваться:
для защиты информации и ограничения возможностей процессов.
для исследования производительности ПО или новой компьютерной архитектуры.
для эмуляции различных архитектур (например, эмулятор игровой приставки).
вредоносным кодом для управления инфицированной системой: вирус PMBS (1993 г.). Он создавал виртуальную систему, которой ограничивался пользователь и все защитные программы (антивирусы и прочие).
для моделирования информационных систем с клиент-серверной архитектурой на одной ЭВМ (эмуляция компьютерной сети с помощью нескольких ВМ).
для упрощения управления кластерами — виртуальные машины могут просто мигрировать с одной физической машины на другую во время работы.
В широком философском понимании идея виртуализации это отделение логического представления процессов от способа их физической реализации применима к любому ИТ-продукту (и в первую очередь к ОС).
В узком смысле (уже в рамках ИТ) данное понятие связано с созданием механизма виртуальных машин (ВМ) корпорацией IBM для своих mainframe в начале 70-х гг. прошлого века. Это было обусловлено необходимостью одновременного запуска на одном компьютере нескольких разных ОС. Можно предположить, что решение такой задачи было не очень сложным, поскольку mainframe изначально проектировались как мощные системы коллективного доступа с высоким уровнем виртуализации и изоляции вычислительных ресурсов. Не говоря уже о том, что вся эта аппаратно-программная платформа (в том числе и разные версии ОС) принадлежала одному разработчику.
Появление компьютеров архитектуры x86 — сначала ПК, а потом и серверов — сделало идею ВМ просто неактуальной: в них был заложен принципиально иной (чем в mainframe) подход: один компьютер — одна ОС. Однако к концу 90-х, по мере роста мощности х86-систем, значимость задачи запуска нескольких ОС на одном компьютере вновь стала возрастать. Поначалу это касалось преимущественно вопросов разработки и тестирования ПО, а потом на первый план вышли проблемы консолидации серверов в “боевом” режиме работы информационных систем.
Но в случае x86 поддержка виртуальных сред была весьма непростой задачей. Тут можно выделить несколько аспектов. Во-первых, эта архитектура не была изначально предназначена для подобного применения. Во-вторых, речь шла не об одном vendor, которому нужно было решать свои внутренние технические проблемы, а о большом ИТ сообществе с непростыми конкурентными отношениями, а также о массовом рынке (разделенном на аппаратные и программные сегменты), а значит — о необходимости поддержки огромного числа унаследованных приложений от десятков тысяч разработчиков. ИТ - системы неоднородны (несколько групп поставщиков оборудования, ОС, приложений, ПО виртуализации, и в каждой группе есть своя неоднородность).
Механизм ВМ понадобился для запуска на одном компьютере нескольких разных ОС. На самом деле многозадачность ОС для x86-архитектуры является весьма и весьма условной, фактически это однозадачные системы. Запускать в их среде несколько приложений можно, но с точки зрения надежности и балансировки нагрузки это не нужно. Традиционные ОС не обеспечивают нужного (для бизнес-применения) уровня изоляции приложений, а современные методы виртуализации направлены на повышение этого уровня.
Средства виртуализации сегодня являются не самодостаточным видом порграммного обеспечения (альтернативой современных операционных систем), а некоторым дополнением и расширением традиционных ОС.
Общая тенденция развития ОС будет направлена именно на повышение уровня поддержки многозадачности систем и в том числе более высокой изоляции приложений и к использованию новой модели распределенных вычислений в “облачном” стиле (Cloud Computing). Такой процесс будет эволюционным и весьма долгим. Таким образом, еще долго средства виртуализации будут интегрированы в ОС.
При всех преимуществах виртуализации, функционал нынешних ОС большинство пользователей вполне устраивает. В то же время включение средств виртуализации на уровне ядра ОС может привести к неоправданному “утяжелению” систем в целом, в частности — негативно отразиться на их производительности. И вот что еще важнее. Прикладные программы создавались и создаются для работы в среде традиционных ОС. Не говоря уже о проблеме поддержки унаследованных приложений, переход на чисто виртуализационную модель потребует радикального изменения всей схемы разработки пограммного обеспечения.
Вся эта проблема очень хорошо видна на примере развития технологий нынешнего лидера в области виртуализации — компании VMware. Целью создания ОС нового поколения — ОС для виртуальных дата-центров (virtual datacenter OS, VDC OS) является не замена традиционных ОС, а вносение корректив в общую структуру комплекса програмного обеспечения.
VDC OS может функционировать только при использовании традиционных ОС, в то время как сами эти ОС могут применяться и без каких-либо дополнительных средств виртуализации.
На сегодняшний день в общей структуре виртуализационных средств выделяются три основных слоя:
виртуализация вычислительных сред (ресурсов центрального процессора, включая ОЗУ, и операционной системы);
виртуализация хранилищ данных;
виртуализация сетей.
Именно такая структура просматривается и в VDC OS; при этом видно, что ключевым и наиболее проработанным на сегодня компонентом системы является слой ВМ. Он фактически уже представлен комплексом Virtual Infrastructure с ядром в виде EXS Server, в то время как остальные две части системы — vNetworks и vStorage — еще только предстоит создать.
VMware начала свою деятельность в 1999 г. с создания решения для ПК — Workstation. Затем появился вариант этой же технологии для серверов — GSX Server (сейчас просто VMware Server), и лишь потом вышел качественно иной вариант специально для серверов — ESX Server. В такой же последовательности двигалась и Microsoft: Virtual PC, на основе которой был разработан Virtual Server, и уже ему на смену пришел качественно новый Hyper-V.
Использование виртуальных сред должно дать принципиально новые возможности гибкого управления ИТ-инфраструктурой: ВМ можно легко, без остановки их работы, переносить с одного компьютера на другой, выделять дополнительные вычислительные ресурсы в случае повышения нагрузки и т.д. Развертывание ИТ-сервисов (в том числе по требованию бизнеса) теперь будет занимать вместо нескольких дней сколько часов или даже минут, профилактические мероприятия и ввод в действие новых сервисов будет выполняются без остановки работы пользователей.