Операционные системы 1 Операционные среды, системы и оболочки Лектор : доктор технических наук, профессор Назаров С.В. специальность программная инженерия.

Презентация:



Advertisements
Похожие презентации
Операционные системы Операционные среды, системы и оболочки Учебный курс Операционные среды, системы и оболочки Лекция 2 Лекции читает доктор технических.
Advertisements

Операционные системы Операционные среды, системы и оболочки Учебный курс Операционные среды, системы и оболочки Лекция 3 Лекции читает доктор технических.
Операционные системы Операционные среды, системы и оболочки Учебный курс Операционные среды, системы и оболочки Лекция 1 Лекции читает доктор технических.
Архитектура операционной системы. Ядро и вспомогательные модули операционной системы При функциональной декомпозиции ОС модули разделяются на две группы:
История создания ОС. Семейство ОС MS Windows.. Операционная система базовый комплекс компьютерных программ, обеспечивающий управление аппаратными средствами.
Архитектура операционных систем. Архитектура ОС Состав модулей (компонент) ОС Структура связей между отдельными модулями ОС Принципы взаимодействия модулей.
Архитектура операционных систем Семестр 2, Лекция 1.
Технологии виртуализации Виртуализация - это отделение логического ресурса от физического. Виртуализация повышает эффективность использования физических.
Основы операционных систем. Литература к курсу (основная) В.Е.Карпов, К.А.Коньков Основы операционных систем.
Лекция 10 ОСНОВЫ ПОСТРОЕНИЯ СЕТЕВЫХ ОПЕРАЦИОННЫХ СИСТЕМ Учебные вопросы: 1 Понятие операционной и сетевой операционной систем. 2 Эволюция развития операционных.
1. Теоретические основы операционных систем (планирование заданий и использования процессора, обеспечение программ средствами коммуникации и синхронизации,
Учебный курс Основы операционных систем Лекция 1 кандидат физико-математических наук, доцент Карпов Владимир Ефимович.
Операционные системы. Представление ОС как менеджера ресурсов Управление файлами Управление процессами Управление памятью Управление устройствам ПроцессорыПамятьУстройства.
Лекция 6 Понятие операционных систем Учебные вопросы: 1. Характеристики ОС 2. Свободные и проприетарные ОС.
1. Этапы развития вычислительной техники и программного обеспечения. 2.Структура вычислительной системы. Ресурсы ВС- физические ресурсы, виртуальные ресурсы.
Технические и программные средства реализации информационных процессов Тема 5-2.
1 Работа под управлением ОС Windows. 2 Темы для обсуждения 1. Что такое операционная система Что такое операционная система Понятие ОС Виды ОС 2. Операционная.
Понятие об операционной системе (ОС). Что происходит сразу после включения питания ПК? При включении питания процессор обращается в микросхему ПЗУ (постоянное.
Тема 1. Состав системного программного обеспечения.
Учитель информатики Трашков О.Л.. Обработка информации в компьютере и управление всеми его устройствами осуществляется с помощью программ. Компьютер представляет.
Транксрипт:

Операционные системы 1 Операционные среды, системы и оболочки Лектор : доктор технических наук, профессор Назаров С.В. специальность программная инженерия

2 Операционные среды, системы и оболочки Тематический расчет часов Аудиторные часы Формы текущего контроля Самосто- ятельная работа Всего часов Лекции Семинарские и практические занятия Всего Практические занятия, контрольные работы, домашнее задание 90162

Операционные системы 3 Структура учебных тем Название темы Лекции (час.) Семинары (час.) 1 Тема 1. Введение. Назначение, функции и архитектура операционных систем. Основные определения и понятия 66 2 Тема 2. Процессы и потоки. Планирование и синхронизация 46 3 Тема 3. Управление памятью. Методы, алгоритмы и средства 44 4 Тема 4. Файловые системы, управление вводом-выводом 64 5 Тема 5. Распределенные операционные системы и среды. Концепции распределенной обработки. Сетевые службы 44 6 Тема 6. Безопасность, диагностика и восстановление ОС после отказов 44 7 Тема 7. Сетевые операционные системы 44 8 Тема 8. Эффективность, мониторинг и оптимизация операционных 44 ИТОГО 36

Операционные системы 4 Литература Базовый учебник Назаров С.В. Операционные среды, системы и оболочки. Основы структурной и функциональной организации. – М.: КУДИЦ-ПРЕСС, 2007 Назаров С.В., Гудыно Л.П., Кириченко А.А. Операционные системы. Практикум. – М.: КУДИЦ-ПРЕСС, 2008 Основная 1. Олифер В.Г., Олифер Н.А. Сетевые операционные системы. СПб.: Питер, Столингс В. Операционные системы. М.: Вильямс, Назаров С. В. Администрирование локальных сетей Windows NT/2000/.NET. М.: Финансы и статистика, 2003 Дополнительная 4. Таненбаум Э. Современные операционные системы. Изд-е 4. СПб., Питер, Мюллер Дж., Чоудри П. Microsoft Windows Настройка и оптимизация производительности. М.: ЭКОМ, Рихтер Д. Windows для профессионалов. М.: Русская редакция, 2006

Операционные системы 5 7. Назаров С. В. Операционные системы специализированных вычислительных комплексов: Теория построения и системного проектирования. - М.: Машиностроение, Варфоломеев В.И., Назаров С.В. Алгоритмическое моделирование элементов экономических систем. – М.: Финансы и статистика, 2004.

Операционные системы 6 Тема 1. Введение. Назначение, функции и архитектура операционных систем. Основные определения и понятия 1.1. Определение операционной системы (ОС). Место ОС в программном обеспечении вычислительных систем 1.2. Эволюция операционных систем 1.3. Назначение, состав и функции ОС 1.4. Архитектуры операционных систем 1.5. Классификация операционных систем 1.6. Эффективность и требования, предъявляемые к ОС 1.7. Множественные прикладные среды. Совместимость 1.8. Способы работы с программами разных операционных систем на одном компьютере 1.9. Виртуализация от Microsoft Технология Virtuozzo Открытая платформа виртуализации VirtualBox Инсталляция и конфигурирование операционных систем

Операционные системы Определение операционной системы (ОС). Место ОС в программном обеспечении вычислительных систем 1946 г. – ENIAC (Electronic Numerical Integrator and Computer) – полное отсутствие какого-либо ПО, программирование путем коммутации устройств. Начало 50-х г. – появление алгоритмических языков и системного ПО. Усложнение процесса выполнения программ: 1. Загрузка нужного транслятора. 2. Запуск транслятора и получение программы в машинных кодах. 3. Связывание программы с библиотечными подпрограммами. 4. Запуск программы на выполнение. 5. Вывод результатов работы на печатающее или другое устройство. Для повышения эффективности использования ЭВМ вводятся операторы, затем разрабатываются управляющие программы – мониторы - прообразы операционных систем г. – Первая ОС создана исследовательской лабораторией фирмы General Motors для IBM г. – ОС для IBM-704. Конец 50-х годов: язык управления заданиями и пакетная обработка заданий.

Операционные системы г. – ОС MCP (Главная управляющая программа) для компьютеров B5000 фирмы Burroughs: мультипрограммирование, мультипроцессорная обработка,виртуальная память, возможность отладки программ на языке исходного уровня, сама ОС написана на языке высокого уровня г. – ОС CTSS (Compatible Time Sharing System – совместимая система разделения времени для компьютера IBM 7094 – Массачусетский технологический институт г. – ОС MULTICS (Multiplexed Information and Computing Service) – Массачусетский технологический институт г. – (UNICS) UNIX (Uniplexed Information and Computing Service) для компьютера PDP-7, публикация статьи Ритчи (С) и Томпсона г. – PC (IBM), DOS (Seattle Computer Products) – MS DOS (Б. Гейтс). 1983г. – Apple, Lisa с Apple, Lisa с GUI (Даг Энгельбарт – Стэнфорд) г. – Windows, X Windows и Motif (для UNIX) г. – MINIX (Э. Таненбаум) – стр. С и 800 ассемблер (микроядро – 1600 С и 800 ассемблер) 1991 г. – Linux (Линус Торвальдс).

Операционные системы 9 Физические устройства (контроллеры, шины, монитор и т. д.) Микроархитектура (регистры ЦП, АЛУ) Утилиты Компиляторы Редакторы Интерпретаторы команд Прикладные программы Конечный пользователь Программист Машинный язык Операционная система Разработчик ОС Расположение ОС в иерархической структуре программного и аппаратного обеспечения компьютера

Операционные системы 10 ОПЕРАЦИОННАЯ СИСТЕМА - это набор программ, контролирующих работу прикладных программ и системных приложений и исполняющих роль интерфейса между пользователями, программистами, приложениями и аппаратным обеспечением компьютера. ОПЕРАЦИОННАЯ СРЕДА - п рограммная среда, образуемая операционной системой, определяющая интерфейс прикладного программирования (API) как множество системных функций и сервисов (системных вызовов), предоставляемых прикладным программам. ОПЕРАЦИОННАЯ ОБОЛОЧКА - часть операционной среды, определяющая интерфейс пользователя, его реализацию (текстовый, графический и т.п.), командные и сервисные возможности пользователя по управлению прикладными программами и компьютером

Операционные системы Эволюция операционных систем Многопрог Динамическое распределение основной памяти второе раммные Разделение времени, многотерминальные системы UNIX (PDP-7), Ken Thompson поколение ОС 1965 Управляемое мультипрограммирование Классическое мультипрограммирование, OS/360 Однопрог- ОС CTSS (1963), MULTICS (начало работ) раммные Оверлейные структуры ОС Логическая система управления вводом-выводом (первое 1960 Системы прерываний, контрольные точки поколение) Управление файлами, таймеры Спулинг (SPOOL) Мониторы 1955 Методы доступа, полибуферизация Загрузчики, редакторы связей Отсутствие ОС 1950 Диагностические программы (нулевое Ассемблеры, макрокоманды поколение) Библиотеки подпрограмм 1946 Первый компьютер

Операционные системы 12 распре Windows 2003 делен-.NET Framework, MAC OS X ные 2000 Windows 2000 ОС Windows 4.0 – Windows 95 много- четвертое Корпоративные информационные системы процес- поколение NetWare 4.0 – 93, Windows NT 3.1 – 93 сорные ОС Linux ОС 1990 MINIX – 87 (11800 стр. С стр. Asm.) сетевые много- OS/ ОС машинные 1985 OS-Net (Novell) - 83, MS-Net - 84, Windows 1.0 – 85 ОС Интернет (1983), Персональные компьютеры (1981) MS DOS 1.0 – (1981) 1980 Сети ЭВМ, UNIX, TCP/IP третье Локальные сети поколение 1975 SNA (System Network Architecture), MULTICS ОС Протокол X.25, телеобработка, базы данных 1965 Виртуальная ЭВМ, Виртуальная память 2005 Windows 2003, 64-разрядная 2007 Windows Vista, Windows 7

Операционные системы 13 Операционные системы IBM 1. BPS/360 (Базовая программная поддержка) 2. BOS/360 (Базовая операционная система) 3. TOS/360 (Ленточная операционная система) 4. DOS/360 (Дисковая операционная система) 5. OS/360 – PCP (Первичная управляющая программа) 6. OS/360 – MFT (Мультипрограммирование с фиксированным числом задач) 7. OS/360 – MVT (Мультипрограммирование с переменным числом задач) 8. OS/360 – VMS (Система с переменной памятью) 9. CP-67/CMS (Управляющая программа 67/ диалоговая мониторная система) 10. DOS/VS (Дисковая виртуальная система) 11. OS/VS1 (Виртуальная система 1) 12. OS/VS2 (Виртуальная система 2) 13. VM/370 (Виртуальная машина)

Операционные системы Назначение, состав и функции ОС Назначение 1. Обеспечение удобного интерфейса [приложения, пользователь] - компьютер за счет предоставляемых сервисов: 1.1. Инструменты для разработки программ 1.2. Автоматизация исполнения программ 1.3. Единообразный интерфейс доступа к устройствам ввода-вывода 1.4. Контролируемый доступ к файлам 1.5. Управление доступом к совместно используемой ЭВМ и ее ресурсам 1.6. Обнаружение ошибок и их обработка 1.7. Учет использования ресурсов 2. Организация эффективного использования ресурсов ЭВМ 2.1. Планирование использования ресурса 2.2. Удовлетворение запросов на ресурсы 2.3. Отслеживание состояния и учет использования ресурса 2.4. Разрешение конфликтов между процессами, претендующими на одни и те же ресурсы

Операционные системы Облегчение процессов эксплуатации аппаратных и программных средств вычислительной системы 3.1. Широкий набор служебных программ (утилит), обеспечивающих резервное копирование, архивацию данных, проверку, очистку, дефрагментацию дисковых устройств и др Средства диагностики и восстановления работоспособности вычислительной системы и операционной системы: - диагностические программы для выявления ошибок в конфигурации ОС; - средства восстановления последней работоспособной конфигурации; - средства восстановления поврежденных и пропавших системных файлов и др. 4. Возможность развития 4.1. Обновление и возникновение новых видов аппаратного обеспечения 4.2. Новые сервисы 4.3. Исправления (обнаружение программных ошибок) 4.4. Новые версии и редакции ОС

Операционные системы 16 Состав компонентов и функции операционной системы: 1. Управление процессами 2. Управление памятью 3. Управление файлами 4. Управление внешними устройствами 5. Защита данных 6. Администрирование 7. Интерфейс прикладного программирования 8. Пользовательский интерфейс

Операционные системы Архитектуры операционных систем ОСНОВНЫЕ ПРИНЦИПЫ РАЗРАБОТКИ АРХИТЕКТУРЫ ОПЕРАЦИОННЫХ СИСТЕМ: 1. Концепция многоуровневой иерархической вычислительной системы (виртуальной машины) с ОС многослойной структуры. 2. Разделение модулей ОС по функциям на две группы: ядро – модули, выполняющие основные функции ОС, и модули, выполняющие остальные (вспомогательные) функции. 3. Разделение модулей ОС по размещению в памяти вычислительной системы: резидентные, постоянно находящиеся в оперативной памяти, и транзитные, загружаемые в оперативную память только на время выполнения своих функций. 4. Реализация двух режимов работы вычислительной системы: привилегированного режима (режима ядра – kernel mode) или режима супервизора (supervisor) и пользовательского режима (user mode) или режима задача (task mode). 5. Ограничение функций ядра (а, следовательно и числа его модулей) до минимально необходимых функций.

Операционные системы Модульное строение (однократно используемые – при загрузке ОС) и повторно используемые (привилегированные – не допускают прерываний, реентерабельные – допускают прерывания и повторный запуск, повторновходимые – допускают прерывания после завершения секций). 7. Параметрическая универсальность. Возможность генерации ОС и создания нескольких рабочих конфигураций. 8. Функциональная избыточность. 9. Функциональная избирательность. 10. Открытость, модифицируемость, расширяемость (возможность получения текстов исходных модулей). 11. Мобильность – возможность переноса на различные аппаратные платформы. 12. Совместимость – возможность выполнения приложений, рассчитанных на другие ОС. 13. Безопасность – защита от несанкционированного доступа, защита легальных пользователей друг от друга, аудит, возможность восстановления ОС после сбоев и отказов.

Операционные системы 19 Модульно – интерфейсный подход (структурный подход) 1. Декомпозиция системы на на модули по структурному или функциональному признаку. 2. Модули и их взаимные связи образуют абстракцию системы высокого уровня. 3. Описывается каждый модуль и определяется его интерфейс. 4. Проводится декомпозиция каждого модуля и т. д. Спецификации модулей и их интерфейсов дают структурную основу для проектирования каждого модуля и всей системы в целом. Правильное определение и выделение модулей представляет собой сложную задачу. Тесно связанные между собой части системы должны входить в один и тот же модуль. Разработчики программного обеспечения начинают работу с очень грубого и неполного наброска схемы системы и преждевременно обращают внимание на детали отдельных модулей. Поэтому решения, влияющие на систему глобальным образом, принимаются не из тех предпосылок, из которых нужно и без ясного понимания их последствий. Преждевременная реализация приводит к неустойчивости программного обеспечения, которая часто требует огромных усилий по поддержанию системы.

Операционные системы 20 Многослойная (иерархическая) структура операционной системы и метод проектирования «сверху вниз» и «снизу вверх» 1. Операционная система представляется в виде иерархии слоев. 2. Верхний слой определяет виртуальную машину с желаемыми свойствами. 3. Каждый следующий слой детализирует вышележащий, выполняя для него некоторый набор функций. 4. Межслойные интерфейсы подчиняются строгим правилам. Связи внутри слоя могут быть произвольными. 5. Отдельный модуль слоя L(i) может выполнить работу самостоятельно или последующим вариантам: обратиться только к слою L(i –1); обратиться к некоторой команде определенного слоя L(q), который выполняет требуемую функцию (i – 2

Операционные системы 21 Монолитная архитектура операционной системы От приложений системный интерфейс А п п а р а т у р а МодулиМодули ОС Пример: ранние версии ядра UNIX, Novell NetWare. Каждая процедура имеет хорошо определенный интерфейс в терминах параметров и результатов и может любую другую для выполнения нужной работы.

Операционные системы 22 Аппаратура Средства апп. поддержки ОС Машинно-зависимые модули ядра ОС Базовые механизмы ядра Менеджеры ресурсов Файловая сис., вирт. память и др. Интерфейс системных вызовов API Утилиты, системные программы Приложения пользователей АРХИТЕКТУРА МНОГОУРОВНЕВОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ

Операционные системы 23 Смена режимов при выполнении вызова функции ядра Работа приложения Системный вызов Пользовательский режим Привилегированный режим Работа ядра Время переключения режимов t t Недостатки иерархической организации ОС: 1. Значительные изменения одного из уровней могут иметь трудно предвидимое влияние на смежные уровни. 2. Многочисленные взаимодействия между соседними уровнями усложняют обеспечение безопасности.

Операционные системы 24 Микроядерная архитектура ОС Аппаратура Средства аппаратной поддержки ОС Аппаратура МИКРОЯДРО (режим ядра) Машинно-зависимые модули Базовые механизмы ядра Утилиты. Системные программы Приложения пользователей Средства аппаратной поддержки ОС Аппаратура API Сервер безопасности ы ыы Файловая система Драйвер устройств Менеджер процессов Менеджер виртуальной памяти Интерфейс системы ввода-вывода Утилиты ОС, приложения РЕЖИМ ЯДРА Пользовательский режим

Операционные системы 25 Структура ОС клиент-сервер Приложение А П П А Р А Т У Р А МИКРОЯДРО Сервер памяти Файл- сервер Принт- сервер РЕЖИМ ПОЛЬЗОВАТЕЛЯ РЕЖИМ ЯДРА ЗапросОтвет Запрос Ответ Сервер процессов

Операционные системы 26 Смена режимов при выполнении вызова функции микроядра Приложение Системный вызов МИКРОЯДРО СЕРВЕР ОС Приложение tttt Р Е Ж И М Я Д Р А Р Е Ж И М ПОЛЬЗОВАТЕЛЯ Достоинства: единообразные интерфейсы, расширяемость, гибкость, переносимость, надежность, поддержка распределенных систем, поддержка объектно-ориентированных ОС.

Операционные системы 27 Классификация ядер операционных систем 1. Наноядро (НЯ) – крайне упрощённое и минимальное ядро, выполняет лишь одну задачу – обработку аппаратных прерываний, генерируемых устройствами компьютера. После обработки посылает информацию о результатах обработки вышележащему программному обеспечению. Концепция наноядра близка к кон- цепции HAL. НЯ используются для виртуализации аппаратного обеспечения реа- льных компьютеров или для реализации механизма гипервизора. 2. Микроядро (МЯ) предоставляет только элементарные функции управле- ния процессами и минимальный набор абстракций для работы с оборудованием. Бо́льшая часть работы осуществляется с помощью специальных пользователь- ских процессов, называемых сервисами. В микроядерной операционной системе можно, не прерывая ее работы, загружать и выгружать новые драйверы, файло- вые системы и т. д. Микроядерными являются ядра ОС Minix и GNU Hurd и ядро систем семейства BSD. 3. Экзоядро (ЭЯ) – предоставляет лишь набор сервисов для взаимодействия между приложениями, а также необходимый минимум функций, связанных с защитой: выделение и высвобождение ресурсов, контроль прав доступа, и т. д. ЭЯ не занимается предоставлением абстракций для физических ресурсов – эти функции выносятся в библиотеку пользовательского уровня (так называемую libOS). В отличие от микроядра ОС, базирующиеся на ЭЯ, обеспечивают боль- шую эффективность за счет отсутствия необходимости в переключении между процессами при каждом обращении к оборудованию.

Операционные системы Монолитное ядро (МЯ) предоставляет широкий набор абстракций оборудования. Все части ядра работают в одном адресном пространстве. МЯ требуют перекомпиляции при изменении состава оборудования. Компоненты операционной системы являются не самостоятельными модулями, а составны- ми частями одной программы. МЯ более производительно, чем микроядро, поскольку работает как один большой процесс. МЯ является большинство Unix- систем и Linux. Монолитность ядер усложняет отладку, понимание кода ядра, до- бавление новых функций и возможностей, удаление ненужного, унаследованно- го от предыдущих версий, кода. «Разбухание» кода монолитных ядер также по- вышает требования к объёму оперативной памяти. 5. Модульное ядро (Мод. Я) – современная, усовершенствованная модификация архитектуры МЯ. В отличие от «классических» МЯ, модульные ядра не требуют полной перекомпиляции ядра при изменении состава аппарат- ного обеспечения компьютера. Вместо этого они предоставляют тот или иной механизм подгрузки модулей, поддерживающих то или иное аппаратное обеспе- чение (например, драйверов). Подгрузка модулей может быть как динамической, так и статической (при перезагрузке ОС после переконфигурирования системы). Мод. Я удобнее для разработки, чем традиционные монолитные ядра. Они пре- доставляют программный интерфейс (API) для связывания модулей с ядром, для обеспечения динамической подгрузки и выгрузки модулей. Не все части ядра могут быть сделаны модулями. Некоторые части ядра всегда обязаны присут- ствовать в оперативной памяти и должны быть жёстко «вшиты» в ядро.

Операционные системы Гибридное ядро (ГЯ) – модифицированные микроядра, позволяющие для ускорения работы запускать «несущественные» части в пространстве яд- ра. Имеют «гибридные» достоинства и недостатки. примером смешанного под- хода может служить возможность запуска операционной системы с монолит- ным ядром под управлением микроядра. Так устроены 4.4BSD и MkLinux, осно- ванные на микроядре Mach. Микроядро обеспечивает управление виртуальной памятью и работу низкоуровневых драйверов. Все остальные функции, в том числе взаимодействие с прикладными программами, осуществляется моно- литным ядром. Данный подход сформировался в результате попыток исполь- зовать преимущества микроядерной архитектуры, сохраняя по возможности хорошо отлаженный код монолитного ядра. Наиболее тесно элементы микроядерной архитектуры и элементы монолитного ядра переплетены в ядре Windows NT. Хотя Windows NT часто называют микроядерной операционной системой, это не совсем так. Микроядро NT слишком велико (более 1 Мбайт), чтобы носить приставку «микро». Компоненты ядра Windows NT располагаются в вытесняемой памяти и взаимодействуют друг с другом путем переда- чи сообщений, как и положено в микроядерных операционных систе- мах. В то же время все компоненты ядра работают в одном адресном пространстве и активно используют общие структуры данных, что свойственно операционным системам с монолитным ядром

Операционные системы 30 Средства аппаратной поддержки ОС 1. Средства поддержки привилегированного режима: системные регистры процессора, слово состояния процессора, привилегированные команды, привилегированные режимы. 2. Средства трансляции адресов: буферы быстрой трансляции виртуальных адресов, регистры процессора, средства поддержки сегментно-страничных таблиц. 3. Средства переключения процессов: регистры общего назначения, системные регистры и указатели, флаги операций. 4. Система прерываний: регистры и флаги прерываний, регистры масок, контроллеры прерываний. 5. Системный таймер и системные часы. 6. Средства защиты памяти: граничные регистры, ключи.

Операционные системы Классификация операционных систем 1. Назначение ( универсальные, специализированные – управление производством, обучение ) 2. Способ загрузки ( загружаемые, постоянно находящиеся в памяти) 3. Особенности алгоритмов управления ресурсами 3.1. Многозадачность: однозадачные (MS DOS), невытесняющая мно- гозадачность (Windows 3.x, NewWare), вытесняющая многозадачность (Windows NT, OS/2, Unix) 3.2. Многопользовательский режим: отсутствие (MS DOS, Windows 3.x), имеется (Windows NT, OS/2, Unix) 3.3. Многопроцессорная обработка: отсутствие, асимметричные ОС, симметричные ОС 4. По базовой технологии ( Юникс-подобные или подобные Windows) 5. По типу лицензии (проприетарная или открытая) 6. По состоянию развития (устаревшая DOS, NextStep или современные GNU/Linux и Windows)

Операционные системы Область использования и форма эксплуатации пакетная обработка (OS/360) разделение времени реальное время (VxWorks,QNX) 8. Аппаратная платформа 8.1. ОС для смарт-карт (с интерпретатором виртуальной Java- машины) 8.2. Встроенные ОС (Palm OS, Windows CE –Consumer Electronics) 8.3. ОС для ПК (Windows 9.x, Windows 2000, Linux, Mac OS X) 8.4. ОС мини-ЭВМ (RT-11 и RSX-11M для PDP-11, UNIX для PDP-7) 8.5. ОС мэйнфреймов (OS/390 – пакетная обработка, разделение времени, обработка транзакций) 8.6. Серверные операционные системы для ЛВС, Интранет и Интернет (UNIX, AIX, Windows 2000/2002, Linux) 8.7. Кластерные операционные системы (Windows 2000 Cluster Server, Sun Cluster (Solaris))

Операционные системы Эффективность и требования, предъявляемые к операционным системам 1. Эффективность – степень соответствия своему назначению, техническое совершенство и экономическая целесообразность 2. Надежность и отказоустойчивость 3. Безопасность (защищенность) 4. Предсказуемость 5. Расширяемость 6. Переносимость 7. Совместимость 8. Удобство 9. Масштабируемость

Операционные системы Множественные прикладные среды. Совместимость Совместимость – возможность операционной системы выполнять приложения, разработанные для других операционных систем. Виды совместимости: 1. На двоичном уровне (уровень исполняемой программы). 2. На уровне исходных текстов (уровень исходного модуля). Вид совместимости определяется: 1. Архитектурой центрального процессора. 2. Интерфейсом прикладного программирования (API). 3. Внутренней структурой исполняемого файла. 4. Наличием соответствующих компиляторов и библиотек. Способы достижения совместимости: 1. Эмуляция двоичного кода. 2. Трансляция библиотек. 3. Создание множественных прикладных сред различной архитектуры.

Операционные системы 35 Обычное приложение OS1 Приложение OS2 API OS2 Приложение OS3 API OS3 API OS1 Менеджеры ресурсов Базовые механизмы Машинно-независимые задачи Пользовательский режим Привилегированный режим Прикладная среда OS2Прикладная среда OS3

Операционные системы 36 API OS2 Менеджеры ресурсов Базовые механизмы Машинно-независимые задачи API OS1API OS3 Приложение OS1 Приложение OS2 Приложение OS3 Пользовательский режим Привилегированный режим

Операционные системы 37 МИКРОЯДРО Приложения Серверы ОС Приложение OS1 Приложение OS2 Приложение OS3 Привилегированный режим Прикладная программная среда OS3 Прикладная программная среда OS2 Прикладная программная среда OS1 Сетевой сервер Сервер безопасности Пользовательский режим

Операционные системы 38 Подсистемы среды Windows 2000 Приложения Win32 Приложения POSIX Приложения OS/2 Подсистема Win32 Подсистема POSIX Подсистема OS2 Интегральные подсистемы (службы сервера, рабочей станции и подсистема обеспечения безопасности) СИСТЕМНЫЙ ИНТЕРФЕЙС (NT DLL.DLL) Режим пользователя Режим ядра

Операционные системы Способы работы с программами разных операционных систем на одном компьютере Способ 1: многовариантная загрузка Это самый распространенный способ (до недавнего времени) решения проблемы, который использует подавляющее большинство пользователей. Жесткий диск компьютера разбивается на несколько разделов и на каждый из них устанавливается своя операционная система и программы для нее. Кроме того, настраивается менеджер многовариантной загрузки, позволяющий выбрать операционную систему при загрузке компьютера. При таком подходе невозможно одновременно работать с приложениями разных операционных систем и для смены операционной системы необходимо перезагрузить компьютер. Зато операционные системы и их приложения исполняются без потерь в скорости и надежности. Если операционные системы совместимы по типу файловой системы, то возможно создание общего раздела для обмена файлами между ними. Итоговые оценки по десятибалльной шкале: Одновременная работа: 0 Многоплатформенность: 5 Производительность: 10 Совместимость: 10

Операционные системы 40 Способ 2: эмуляция API операционной системы Обычно приложения работают в изолированном адресном пространстве и взаимодействуют с оборудованием при помощи API, предоставляемым операционной системой. Если две ОС совместимы по своим API (например, Windows 98 и Windows 2000), то приложения, разработанные для одной из них, будут работать и на другой. Если две операционные системы несовместимы по своим API (например, Windows 2000 и Linux), то существует способ перехватить обращения приложений к API и сымитировать поведение одной операционной системы средствами другой операционной системы. При таком подходе можно поставить одну операционную систему и работать одновременно как с ее приложениями, так и с приложениями другой операционной системы. Поскольку весь код приложения исполняется без эмуляции и лишь вызовы API эмулируются, потеря в производительности незначительная. Но из-за того что многие приложения используют недокументированные функции API или обращаются к операционной системе в обход API, даже хорошие эмуляторы API имеют проблемы совместимости. Итоговые оценки по десятибалльной шкале: Одновременная работа: 9 Многоплатформенность: 0 Производительность: 9 Совместимость: 3

Операционные системы 41 Способ 3: полная эмуляция Проекты, выполненные по технологии полной эмуляции работают как интерпретаторы. Они последовательно выбирают код гостевой операционной системы и эмулируют поведение каждой отдельно взятой инструкции. Поскольку при этом полностью эмулируется поведение как процессора, так и всех внешних устройств виртуального Intel x86 компьютера, то существует возможность запускать эмулятор на компьютерах с совершенно другой архитектурой. Скорость работы гостевых приложений может упасть в раз, что означает практическую невозможность нормальной работы с гостевой операционной системой внутри эмулятора. Поэтому полная эмуляция используется редко (низкоуровневых отладчиков для исследования и трассировки операционных систем). Итоговые оценки по десятибалльной шкале: Одновременная работа: 10 Многоплатформенность: 9 Производительность: 2 Совместимость: 9

Операционные системы 42 Технологии виртуализации Виртуали- зация Virtually - фактически как, практически как, в сущности, поистине Virtually - фактически как, практически как, в сущности, поистине. Примеры: Примеры: – ФАКТИЧЕСКИ КАК работать за консолью удаленного компьютера. Telnet сеанс – ФАКТИЧЕСКИ КАК работать за консолью удаленного компьютера. Сетевой диск – ПРАКТИЧЕСКИ КАК обычный логический диск. Виртуальная память – ПОИСТИНЕ как большая оперативная память. Виртуализация - это отделение логического ресурса от физического. Виртуализация повышает эффективность использования физических ресурсов, обеспечивает высокую гибкость их использования и упрощает управление изменениями 19/24

Операционные системы 43 Способ 4: виртуальная машина эмулирует реальное аппаратное обеспечение (квазиэмуляция) Существует большое количество инструкций, которые будут нормально испо- лняться в режиме нескольких операционных систем, и некоторое небольшое коли- чество инструкций, которые должны эмулироваться. Технология квазиэмуляции заключается в том, чтобы обнаружить и сымитировать поведение второго множес- тва инструкций и исполнять инструкции первого множества без эмуляции. Виртуальная машина эмулирует реальное аппаратное обеспечение, что позво- ляет использовать в качестве гостевых обычные, немодифицированные операци- онные системы, а команды, требующие себе особых привилегий, отрабатываются средствами VMM. В этом случае обеспечивается основных функций процессора и остальных главных компонентов компьютера. Идея естественной виртуализа- ции: поверх аппаратного уровня (физический сервер) располагается уровень мони- тора виртуальных машин VMM (гипервизор). Гипервизор полностью эмулирует компьютер, и способен поддерживать выполнение более чем одной операционной системы. На VMM выполняются так называемые гостевые операционные системы (guest OS) виртуальных машин, непосредственно поддерживающие работу приложений. Итоговые оценки по десятибалльной шкале: Одновременная работа: 10 Многоплатформенность: 5 Производительность: 8 Совместимость: 8

Операционные системы 44 Виртуализация ЦП. Проблемы При прямом доступе гостевая ОС будет работать быстро! (99%) Когда требуется выполнить привилегированную операцию, срабатывает ловушка, и VMM обрабатывает эту операцию в режиме ядра. Проблема: полная виртуализация платформы x86 таким способом невозможна, так как некоторые инструкции ЦП для режима ядра, выполняющие чтение, разрешены не только в нулевом кольце Возможные решения: a)Перекомпилировать ОС и приложения, избегая этих 20 инструкций, т.е. исключить 20 «проблемных» инструкций. b)Воспользоваться исполнением с трансляцией двоичного кода ( модифи- кация кода «на лету» во время выполнения на хосте). c)Установить в гостевой системе VM Additions, что позволит модифицировать код в памяти VM. d)Использовать аппаратную поддержку виртуализации (перехват инструкций в особом кольце -1).

Операционные системы 45 В качестве примера современного классического решения Type 1 hypervisor можно назвать VMware ESX Server; по существу это еще одна операционная система, действующая непосредственно на аппаратной платформе x86 в чистом виде. Гостевыми операционными системами, работающими на ESX Server, могут быть Linux, Windows, FreeBSD, NetWare и Solaris. Как самостоятельная операционная система, VMware ESX Server интерпретирует аппаратную платформу в качестве пула логических ресурсов и динамически перераспределяет его между гостевыми операционными системами

Операционные системы 46 Решение Type 2 hypervisor отличается тем, что гипервизор работает поверх операционной среды, так называемого «хоста». Типичными представителями этого направления виртуализации являются VMware Server и Microsoft Virtual Server. К примеру, Microsoft Virtual Server 2005 устанавливается как приложение на операционную систему Windows 2003 Server, выполняющую функцию «хоста». Таким образом создается виртуализационный уровень, обеспечивающий доступ к физическим ресурсам. Virtual Server 2005 доступен в двух версиях: Standard Edition и Enterprise Edition. Хостом для сервера VMware GSX Server могут быть операционные системы Windows 2000, Windows 2003 или Linux.

Операционные системы Виртуализация от Microsoft

Операционные системы 48 Виртуализация приложений

Операционные системы 49

Операционные системы 50 Виртуализация от Microsoft

Операционные системы 51 Виртуализация Windows Server Масштабируемость и производительность Поддержка 64-разрядных серверов и гостевых ОС Поддержка SMPдля гостевых систем Надежность и защита Минимальный объем доверенной базы кода Решение Windows Большая гибкость и управляемость Динамическое добавление виртуальных ресурсов (памяти, процессоров, сетевых адаптеров) Динамический перенос ОС и приложений Новый интерфейс пользователя и интеграция с SCVMM ВМ 1 «родительская» «родительская» ВМ2«дочерняя»ВМ2«дочерняя» ВМ 3 «дочерняя» ОборудованиеОборудование Windows Server 2003 Virtual Server 2005 R2 ВМ 2 ВМ 3 21/24

Операционные системы 52 Архитектура. Virtual Machine Monitor (VMM) ЦП вынужден переключаться между процессами базовой ОС и гостевой ОС VMM переключает контекст между этими процессами Компьютер работает в контексте хоста либо VMM На одном ЦП может работать только одна ОС Сжатие кода нулевого кольца (ring 0) гостевой ОС Базовая ОС ЯдроVMM Оборудование Гостевые приложения Гостевая ОС Виртуальное оборудование Гостевые приложения Гостевая ОС Виртуальное оборудование Гостевые приложения Гостевая ОС Виртуальное оборудование

Операционные системы 53 Решения 1. Преобразование двоичного кода Трансляция инструкций гостевой операционной системы в инструкции базовой ОС. Всегда возможна, но работает очень медленно. 2. VM Additions Модифицирует dll-код в памяти VM (невозможно в 64-разрядных версиях Vista и Longhorn). VM Additions поддерживают синхронизацию времени, «пульс», завершение работы, оптимизированный SCSI-диск, лучшие драйверы мыши и видео. 3. Аппаратная виртуализация ЦП с поддержкой технологий Intel VT или AMD Virtualization. ЦП решает проблемы, отслеживая параметры каждой VM (фактически, это «кольцо 1»).

Операционные системы 54 Гостевая система (VM) Win2003 или WinXP Ядро VMM.sys Кольцо 0 Оборудование Кольцо 1 Кольцо 3 Windows в VM VM Additions Гостевые приложения Кольцо 3 Служба Virtual Server IIS Веб-сайт Виртуальное оборудование Базовая система Кольцо 1

Операционные системы 55 Версии VM Additions СборкаВыпускПримечание 10.21В составе Virtual PC 5.2(дано название – Virtual PC Additions) 13.40В составе Virtual PC (отдельная загрузка)Поддерживает Win XP SP В составе VS В составе Virtual PC 2004 SP В составе VS2005 SP1 beta (отдельная загрузка)Поддерживает Win2003 SP В составе VS2005 R2Поддерживает Win2003 R2 и Vista (-build 5270) В составе VS2005 R2 SP1 beta (отдельная загрузка)Поддерживает Vista B2 (-build 5384) и Longhorn (отдельная загрузка)Поддерживает Vista RC В составе VS2005 R2 SP1 beta2Поддерживает Vista RTM В составе Virtual PC 2007 beta В составе Virtual PC 2007Загрузка – по адресу

Операционные системы 56 Linux VM Additions Добавляется поддержка: –Синхронизации времени –«Пульса» –Завершения работы –SCSI-дисков –Драйвер мыши и видео –Поддержки прямого исполнения кода нет! Дистрибутивы (9x): –Red Hat 7.3/9.0, Enterprise 2.1/3/4 –SuSE Linux 9.2/9.3/10.0, Enterprise Server 9 В выпуске VS 2005 R2 SP1 поддерживаются гостевые ОС : Red Hat Enterprise Linux 2.1 (update 7), Red Hat Enterprise Linux 3.0 (update 8), Red Hat Enterprise Linux 4.0 (update 4), Red Hat Enterprise Linux 5.0, SuSE Linux Enterprise Server 9.0, SuSE Linux Enterprise Server 10.0, Red Hat Linux 9.0, SuSE Linux 9.3, SuSE Linux 10.0, SuSE Linux 10.1, SuSE Linux 10.2.

Операционные системы 57 Win2003 или WinXP Ядро VMM.sys Кольцо 0 Оборудование Базовая ОСГостевая система ( VM ) Кольцо 1 Кольцо 3 Windows в VM VM Additions Гостевые приложения Кольцо 3 Служба Virtual Server IIS Веб-сайт Виртуальное оборудование ЦП Кольцо "-1" Архитектура виртуализации с аппаратной поддержкой

Операционные системы 58 Виртуализация с аппаратной поддержкой (Intel VT или AMD Virtualization) Поддерживается в: Virtual PC 2007 Virtual Server 2005 R2 SP1 Windows Virtualization (обязательно) Необходимо включить в BIOS и в параметрах Virtual PC 2007 Скорость работы гостевых ОС Windows не повышается Последние версии VM Additions уже поддерживают прямой доступ к ЦП Установка Windows выполняется в 2-3 раза быстрее Гостевые ОС типа Linux и Netware работают быстрее

Операционные системы 59 Спецификации Virtual Server 2005 R2 Базовая система: VS2005 Standard Edition: до 4 ЦП (1- или 2-ядерные), VS2005 Enterprise Edition: до 32 ЦП (1- или 2-ядерные), ОЗУ: до 64 Гб Гостевая система: ЦП: до 1, ОЗУ: до 3,6 Гб, Сетевые адаптеры: до 4, (неограниченная пропускная способность). USB: нет, поддерживаются USB-клавиатура и USB-мышь, можно также подключить USB-устройство для чтения смарт-карт. Дополнительные возможности Server 2005 R2 SP1: Поддержка Intel VT и AMD Virtualization, Поддержка 64-х разрядных базовых систем: Win2003 и WinXP. Поддержка теневого копирования томов (Volume Shadow Copy, VSS), Интеграция с Active Directory средствами Service Connection Points, Поддержка Vista как гостевой ОС, Утилита для монтирования VHD, Емкость по умолчанию VHD Гб (ранее – 16 Гб), Исправление Virtual SCSI для гостевых ОС Linux 2.6.x, Кластеризация VM, Передача VM при ее сбое в пределах того же хоста, Общий SCSI- (iSCSI-) диск для гостевых систем.

Операционные системы 60 Virtual PC / Virtual Server 2005 R2 Win2003 или WinXP Ядро VMM.sys Кольцо 0 Оборудование Базовая система Гостевая система (VM ) Кольцо 1 Кольцо 3 Windows в VM VM Additions Гостевые приложения Кольцо 3 Служба Virtual Server IIS Веб-сайт Виртуальное оборудование Поставщик Windows Virtual Server Другие компоненты

Операционные системы 61 Windows Virtualization Поддержка виртуализации для Windows Server Windows Hypervisor (Гипервизор), кодовое имя - "Viridian: Поддержка виртуализации для Windows Server Windows Hypervisor (Гипервизор), кодовое имя - "Viridian: «Тонкий» (~160 Кб) программный уровень, «внутренняя базовая ОС», Родительский раздел – управляет дочерними разделами, Дочерний раздел включает любое число ОС, управляемых родительским разделом. Стек виртуализации: Стек виртуализации: Работает в корневом (= родительском) разделе, Обеспечивает виртуализацию устройств, WMI-интерфейс для управления Провайдеры служб виртуализации (Virtualization Service Providers, VSPs) Провайдеры служб виртуализации (Virtualization Service Providers, VSPs) Архитектура совместного использования оборудования, В гостевой ОС устанавливаются драйверы "viridian«. Windows Virtualization Windows Virtualization Server требует x64-совместимого оборудования, ЦП с поддержкой Intel VT или AMD-V Поддерживает: Поддерживает: 32- и 64-разрядные гостевые ОС; до 8 ЦП на VM; горячее добавление» ЦП, ОЗУ, сетевых адаптеров, дисков; > 32 Гб ОЗУ на VM; возможность переноса VM без отключения; т радиционную модель драйверов; использование существующих драйверов Windows; прежний же набор эмулируемого оборудования; Server Core в качестве родительской ОС

Операционные системы 62 Windows Virtualization Схемы VMM Оборудование Базовая ОС VMM Гостевая ОС 1 Гостевая ОС 2 Оборудование VMM (Hypervisor) Гостевая ОС 1 Гостевая ОС 2 Оборудование VMM Гостевая ОС 1 Гостевая ОС 2 Базовая ОС VMM типа 2 Примеры: - JVM -.NET CLR ПРимеры: - Virtual PC - Virtual Server Примеры: - Виртуализация - Windows ("Viridian") VMM типа 1 Hypervisor Гибридный VMM

Операционные системы 63 Windows Virtualization Windows (Core) Ядро Windows Hypervisor Кольцо 0 Оборудование Родительский раздел Дочерний раздел Кольцо 3 Гостевые приложения Кольцо "-1" Windows VMBus Enlightment Ядро VSPVSC Стек виртуализации Служба VM WMI Рабочий процесс VM Драйверы Поставщик Windows Win Virtualizaton Другие компоненты Virtual Service Provider (VSP) Virtual Storage Miniport (VSC) Windows Management Infrastructure (WMI)

Операционные системы 64 Windows Server Core Установлены только набор исполняемых файлов и библиотеки DLL Не установлен графический интерфейс пользователя Доступно для части серверных ролей Можно управлять с помощью удаленных средств Надежная основа 12/24

Операционные системы 65 Версии продуктов ПродуктВыпускБазовые системыГостевые системы ** Virtual PC 2004Октябрь 2003 Win2000 Pro SP4 Win XP Pro (Tablet, SP1) MS-DOS 6.22 * / OS/2 Win 95, 98, 98SE, ME * Win NT4 SP6a (workstation) * Win2000 Pro SP4 Win XP (Tablet, SP1) Virtual Server 2005Июль 2004 Win XP Pro Win2003 SBS Win2003 (SE, EE, Data) Win NT4 SP6a (server) * Win2000 Server Win2003 (SE, EE, Web) Virtual PC 2004 SP1Октябрь 2004 То же, что и для Virtual PC Win2003 SE То же, что и для Virtual PC Win XP SP2 Virtual Server 2005 R2Ноябрь 2005 То же, что и для Virtual Server Win XP Pro SP2 (non prod) + Win2003 (SP1, R2) + Win XP / Win2003 x64 То же, что и для Virtual Server Win XP Pro SP2 + Win2003 (SP1, R2) + Linux (9x) - Apr 2006 Virtual PC 2004 ExpressМарт 2006 То же, что и для Virtual PC 2004 SP1 + Поддерживает не более одной VM + в Vista Enterprise / только для участников программы Software Assurance Virtual PC февраля Поддержка ЦП с технологиями Intel VT и AMD Virtualization + Поддержка Vista (гостевые и хост-системы) Virtual Server 2005 R2 SP1 Март Поддержка виртуализации процессоров Intel VT и AMD Virtualization +Поддержка Volume Shadow Copy Service (для резервного копирования) Windows Virtualization Longhorn + < 180 дней Реализация Windows Hypervisor Новая модель виртуализации, требует аппаратной поддержки VT/Virtualization Кодовое имя "Viridian" * Жизненный цикл этих продуктов близок к завершению **На находится список из > 1200 (!) ОС, совместимых с Virtual PC и Virtual Server В статье KB см. список ОС, поддерживаемых Virtual Server 2005 R2

Операционные системы 66 Основные области применения : Тестирование программного обеспечения и средств разработки ( тестирование создаваемых приложений, тестирование конфигураций и настроек готового программного обеспечения, а также действий администраторов серверов и сети с целью проверки работоспособности той или иной конфигурации серверного ПО перед началом ввода его в реальную эксплуатацию. Хостинг унаследованных приложений. Зачастую наиболее удачные бизнес-приложения эксплуатируются десятилетиями, поэтому вполне может случиться так, что платформа, для которой они написаны, в компании уже практически не применяется из-за отсутствия нормальной технической поддержки со стороны производителей оборудования. Консолидация загрузки серверов. Идея консолидации загрузки серверов заключается в создании виртуальных машин с разными операционными системами и программным обеспечением, реализующими выполнение указанных задач, и в размещении одного и того же набора этих виртуальных машин на нескольких физических серверах. Благодаря этому число самих серверов можно уменьшить, да и выход из строя одного из серверов не будет столь критичен для компании, поскольку его нагрузку может взять на себя виртуальная машина на каком-либо другом сервере. Моделирование распределенных серверных приложений на одном физическом сервере. Данный способ применения серверных виртуальных машин предназначен для разработчиков, специалистов по тестированию и специалистов по внедрению приложений масштаба предприятия. С его помощью можно создавать распределенные приложения, тестировать их, а также моделировать реальные условия внедрения, используя для этой цели один-единственный компьютер, что позволяет сократить расходы на приобретение аппаратного обеспечения для разработки приложений.

Операционные системы 67 Запуск VMM Подготовка гостевой ОС к запуску VMPTRLD VMLAUNCH Работа гостевой ОС VMON Обработка возникшего в гостевой ОС или во внешнем мире события Сохранение текущего состояния виртуальной машины или ее уничтожение VMREAD VMWRITE Настройка свойств виртуальной машины Событие, требующее обработки, либо вызов VMMCALLVMRESUME VMPTRST VMCLEAR Остановка VMM VMOFF Схема работы Intel Virtualization Technology

Операционные системы 68 Проверка и запуск безопасного загрузчика SKINIT Загрузчик Обычная загрузка ОС Запуск VVM Загрузка виртуального компьютера и системная подготовка VMLOAD VMRUN Работа гостевой ОС VMMCALL Событие VMRUN Обработка события в гостевой ОС или во внешнем мире STGI, CLGI, INVLPGA Сохранение текущего состояния виртуальной машины или ее уничтожение

Операционные системы 69 В 2006 году объемы продаж компании увеличились в 10 раз по сравнению с 2004 годом. Подразделение Parallels, входящее в SWSoft, разработало платформу для виртуального исполнения Windows OC на платформе Mac, которая входит в десятку лучших продуктов 2006 года и является наиболее продаваемым на Amazon. В России сегодня работает свыше 750 инженеров компании. SWsoft - это мировой лидер в области программного обеспечения для виртуализации серверов и автоматизации, которое помогает потре- бителям, бизнесменам и провайдерам услуг оптимизировать процесс ис- пользования технологии. Программное обеспечение компании поддержи- вает работу более серверов и рабочих станций по всему миру. Линейка продуктов компании SWsoft включает Virtuozzo - передовое решение для виртуализации операционных систем, Parallels - передовой продукт виртуализации рабочих станций и Plesk - ведущую панель управ- ления серверами. Компания основана в 1999 году, офисы расположены по всей территории Северной Америки, Европы и Азии Технология Virtuozzo

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

Операционные системы 71 SWsoft Virtuozzo - это запатентованное решение по виртуализации ОС. Virtuozzo позволяет создавать изолированные виртуальные среды (VE) или контейнеры на одном физическом сервере и экземп-ляре ОС. По сравнению с другими технологиями виртуализации Virtuozzo обеспечивает наиболее высокий уровень плотности, произ- водительности и управляемости.виртуализации ОС Интеллектуальное разбиение на разделы - разделение сервера на сотни виртуальных сред, функционирующих как самостоятельные серверы. Абсолютная изоляция - гарантируется безопасность, полная изоляция функций, ошибок и производительности виртуальных сред. Динамическое выделение ресурсов - можно изменять ресурсы процес- сора, объем памяти, сетевых ресурсов, дискового пространства и под- системы ввода-вывода без перезагрузки. Миграция в реальном времени - функции обеспечения непрерывности бизнес-процесса, включая миграцию в реальном времени, гарантиру- ют доступность и восстановимость данных. Групповое управление - комплекс инструментов и шаблонов для авто- матизированного администрирования множеством виртуальных сред и серверов.

Операционные системы 72

Операционные системы 73 Виртуализация ОС заключается в создании виртуальных серверов на уровне операционной системы (ядра). Такой метод виртуализации предпо- лагает создание изолированных разделов, или виртуальных окружений, на одном физическом сервере и одной копии ОС, чтобы добиться максималь- но эффективного использования ресурсов оборудования, программ, центров обработки данных и возможностей управленческого персонала. Модель виртуализации ОС подверглась модернизации с целью дос- тижения более высокой производительности, управляемости и эффектив- ности. В основе находится стандартная главная операционная система, в случае с Virtuozzo это может быть Windows и Linux. Далее идет слой вир- туализации (Virtuozzo Layer) с внутренней файловой системой и слой аб- страгирования служб, которые обеспечивают изоляцию и безопасность ресурсов, выделенных для различных виртуальных окружений. Слой вир- туализации служит для того, чтобы виртуальное окружение появилось как автономный сервер. Наконец, в самом виртуальном окружении размещается приложение или рабочая нагрузка. Поддерживаемые архитектуры микропроцессоров: Virtuozzo для Linux: x86, ia64, AMD64, EM64T, Itanium; Virtuozzo для Windows: 32 и 64 бит Минимальные требования к серверу: не менее 1 ГБ памяти и 4 ГБ свободного дискового пространства. Чем больше производительность процессора и объем памяти сервера, тем больше виртуальных частных серверов и приложений он может поддерживать.

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

Операционные системы 75 Платформа VirtualBox представляет собой настольную систему виртуализации для Windows, Linux и Mac OS хостов, поддерживающую операционные системы Windows, Linux, OS/2 Warp, OpenBSD и FreeBSD в качестве гостевых.

Операционные системы 76

Операционные системы 77

Операционные системы 78

Операционные системы 79 При старте виртуальной машины VirtualBox обычно запускается три процесса, которые можно наблюдать в диспетчере задач в Windows- системах или системном мониторе Linux: 1. Графический интерфейс окна управления. 2. Еще один похожий процесс, запущенный с параметром startvm, который означает, что GUI будет работать в качестве оболочки для виртуальной машины. 3. Автоматически создаваемый сервисный процесс VBoxSVC, необходимый для того, чтобы отслеживать количество и статусы запущенных виртуальных машин (поскольку они могут быть запущены различными способами). Виртуальная машина с запущенной в ней гостевой системой инкапсулирует в себе необходимые детали реализации гостевой ОС и ведет себя по отношению к хостовой системе как обычное приложение. Преимущества и недостатки VirtualBox Эксперты считают, что у этой платформы виртуализации определенно есть будущее, поскольку она готова занять пустующую нишу в сфере настольных систем виртуализации как мощная, производительная, удобная и, главное, бесплатная платформа. Безусловным плюсом системы является ее кроссплатформенность и поддержка со стороны сообщества Open Source. Большой список поддерживаемых гостевых и хостовых операционных систем открывает широкие возможности по применению VirtualBox в контексте различных вариантов использования.