Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lektsii_OS_pervaya_tret.docx
Скачиваний:
4
Добавлен:
15.04.2019
Размер:
3.1 Mб
Скачать

Тема 3. Архитектура ос

Состав ОС:

  • Ядро

  • Модули поддержки оборудования

  • Системные вызовы

  • Пользовательское окружение

Ядро ОС — наиболее интенсивно используемая часть ОС, резидентно размещаемая в оперативной памяти и исполняемая в привилегированном режиме работы процессора

Ядро должно стремиться к абсолютной портируемости (переносимости), то есть максимальной независимости от платформы

Задачи ядра:

  • Обработка прерываний

  • Управление процессами и потоками

  • Обеспечение межпроцессного взаимодействия

  • Управление памятью

  • Управление вводом-выводом

  • Обеспечение защиты

Модуль поддержки оборудования (драйвер) — программа, позволяющая корректно работать с некоторым аппаратным устройством или классом устройств

Драйвер может и должен быть платформозависимым

Многие производители выпускают устройства под разными брендами, но на одинаковом наборе системной логики (например, Realtek 8139B/C/D)

Системные вызовы — средство взаимодействия с ОС, её интерфейс (API)

Системные вызовы служат мостом между пространством ядра и пространством пользователя

Популярные наборы системных вызовов стандартизуются (POSIX API, Win32 API, Cocoa)

Пользовательское окружение — средства, предоставляемые ОС пользователю для работы с ней

В пользовательское окружение входят:

    • командный интерпретатор;

    • библиотеки системных вызовов;

    • утилиты для работы с оборудованием.

Виды архитектуры ОС:

  • Монолитная ОС

  • Многоуровневая ОС

  • Микроядерная ОС

  • Виртуальная машина

  • Экзоядро

Монолитная ОС:

  • Вся ОС — единая программа, состоящая из набора процедур

  • Могут вводиться уровни иерархии процедур

  • Возможна поддержка расширений

  • Минусы:

    • громоздкость;

    • нет устойчивости к ошибкам.

  • Плюсы:

    • Быстродействие.

Многоуровневая ОС(пример ОС THE):

  • Развитие идеи иерархии процедур — организация всей ОС в виде слоёв

  • Каждый слой выполняет строго определённую задачу

  • У процедур вышележащих слоёв нет непосредственного доступа ко всем процедурам нижележащих слоёв

  • Развитие идеи слоёв — идея колец с одной процедурой-интерфейсом на нижележащий уровень и аппаратная поддержка (MULTICS)

  • Преимущества:

    • повышенная безопасность;

    • разные слои могут разрабатываться разными людьми;

  • Недостатки:

    • повышенная сложность разработки;

    • желательность аппаратной поддержки;

    • не решены проблемы монолитных ОС.

Микроядерная ОС

  • В пространстве ядра запускается только ядро ОС

  • Задачи микроядра:

    • обработка прерываний;

    • управление процессами;

    • планирование;

    • межпроцессное взаимодействие.

  • Остальные части ОС — пользовательские процессы с урезанными полномочиями

  • Преимущества:

    • устойчивость к сбоям вне ядра;

  • Недостатки:

    • пониженное быстродействие;

    • высокая сложность разработки.

Структура микроядерной ОС MINIX 3

Виртуальная машина:

  • На реальном оборудовании исполняется только гипервизор (монитор) виртуальных машин

  • Виртуальная машина может управляться как специально разработанной ОС, так и ОС общего назначения

  • Гипервизор эмулирует реальное оборудование и перехватывает прерывания от исполняемых ОС

Виды виртуализации:

  • Аппаратная виртуализация

  • Программная виртуализация

    • Динамическая трансляция

    • Паравиртуализация

    • Изолированные окружения

Гипервизор 1 типа

Гипервизор 2 типа

Современные системы виртуализации

  • Программное обеспечение

    • OpenVZ / Virtuozzo / BSD Jail / Linux LXC

    • VMWare

    • Parallels

    • XEN

    • Qemu

    • KVM

    • Hyper-V

  • Аппаратное обеспечение:

    • Intel VT-x/VMX (Virtual Machine eXecution mode)

Инструкции VT-x:

1)VMXON / VMXOFF

2)VMCLEAR

3)VMWRITE / VMREAD

4)VMPTRLD / VMPTRST

5)VMLAUNCH

6)VMCALL

7)VMRESUME

Работа с VT-x

    • AMD AMD-V/SVM (Secure Virtual Machine)

AMD Pacifica

Инструкции AMD Pacifica

1)VMRUN

2)VMMCALL

3)VMLOAD / VMSAVE

4)SKINIT

Работа с AMD Pacifica:

    • I/O MMU (Input/Output Memory Management Unit)

      • Intel VT-d

      • AMD AMD-Vi

Экзоядро

  • Не клонировать аппаратное обеспечение, а разделять его

  • Экзоядро — программа нижнего уровня, выделяющая ресурсы и следящая за безопасностью выделенных ресурсов

  • Позволяет повысить эффективность виртуализации

  • Single-Root I/O Virtualization (SR-IOV) — разделение физического устройства на множество виртуальных

SR-IOV

Эффект от SR-IOV

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]