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

Архитектура операционных систем Монолитное ядро (старая)

Монолитные многоуровневые системы

(дейкстра 1968). Основная идея: система делится на несколько уровней и уровни более высокие пользуются сервисами, предоставляемыми более низкими.

  1. Переключение процессов; Планирование: обеспечивает многозадачность

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

  3. Связь между процессом и консолью оператора

  4. Управление внешними устройствами; системами ввода-вывода

  5. Пользовательские процессы

  6. Процессы системного оператора

Микроядро (клиентно-серверная модель)

В самом ядре имеет оставить минимально необходимые службы

  1. Планирование переключения процессов

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

  3. Можно включить обработчики прерываний

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

Режим пользователя

Микроядро

Режим пользователя

Сервис файловой системы

Сетевой сервис

Процессы пррывания

Драйвера

Достоинства: надежность, безопасность. Недостатки: увеличение вызовов по сравнении с обычной системой.

Виртуальные машины

ВС- это функциональный эквивалент некоторой машины с заданными характеристиками, модель имитируемой программно-аппаратными средствами реальной ЭВМ.

IBM/370 VM/370- перый представитель

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

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

Цели гипервизора:

  1. Безопасность

  2. Возможности создания сети на 1 машине

  3. Знакомство с ОС

Глава 2. Процессы и потоки

Модель процесса. Создание и завершение процесса. Состояние процесса.

Основания создания системы:

  1. Загрузка (инициализация) системы

  2. Исполнение системного вызова для создания процесса.

  3. Запрос пользователя на создание процесса

  4. Запуск пакетного задания

Создание WinAPI: CreateProcess (10 аргументов)

Unix: fork()- создает копию текущего процесса перенаправление exec()-

Завершение процесса:

  1. Нормальное завершение (с помощью системного вызова)

  2. Завершение с ошибкой

  3. Завершение по неустранимой ошибке

  4. Уничтожение другим процессом

Состояния процесса:

Реализация процессов

Процесс описывается его дескриптором. Все дескрипторы сводятся в таблицу процессов.

Категории

  1. Состояние процессора

    1. Значение счетчика команд

    2. Значение слова состояния процессора

    3. Значение остальных регистров

  2. Управление процесса (данные, необходимые системе для управления системой)

    1. Индикатор процесса

    2. Индикатор родительского процессора.

    3. Группа процесса

    4. Состояние процесса

    5. Приоритет

    6. Другие параметры планирования

    7. Сигналы

    8. Время начала

    9. Суммарное процессорное время

    10. Время следующего аварийного сигнала

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

    1. Указатель на сегмент кода

    2. Указатель на сегмент данных

    3. Указатель на сегмент стека

  4. Управление файлами

    1. Идентификатор пользователя от имени которого выполняется процесс (VIG)

    2. Идентификатор группы (GID)

    3. Эффективное (действующие) пользователи

    4. Рабочий каталог

    5. Корневой каталог

    6. Дескрипторы файлов

Механизм прерываний

  • Сигнал запроса прерывания процесса (таймер…)

  • Процессор сохранение счетчика команд и слово в текущем стеке. Считывает вектор прерывания, соответствующий данному запросу. Переходит к процедуре обработки прерывания, адрес которой указан в векторе.

    • Производится аппаратно.

  • Переключение стека на системный, копирует значение счетчика команда и слово состояние процессора из пользовательского стека в системный. Сохраняет остальные регистры процессора в системном стеке. Осуществляет вызов процедуры обработчика на языке высокого ровня.

    • Реализуются на Assembler

  • Процесс обработки на языке высокого уровня

  • Планировщик (на ЯВУ) выбирает процесс для запуска

  • Процедура на Assembler выполняет восстановление; запускает процесс

Потки

Поток- последовательность выполняемых команд

Процесс=процедуры+ поток

Создание потока более быстро, чем создание процесса.

Lightweight process-легковесный процесс

Thread- простой поток