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

Тема 4. Процессы и потоки

Модель процесса

  • Задача рассматривается как набор кода и данных

  • Процесс обладает блоком управления (Process Control Block, PCB), индивидуальным адресным пространством и счётчиком команд

Счетчик команд

Содержание PCB

  • Параметры процесса

    • Уникальный идентификатор процесса (Process ID, PID)

    • Состояние

    • Статистические показатели

    • Приоритет

    • Окружение

    • ...

  • Выделенные области памяти

  • Выделенные ресурсы

Операции над процессами

  • Порождение

  • Запуск

  • Уничтожение

  • Приостановка

  • Пробуждение

  • Блокирование

  • Возобновление

Иерархия процессов

Граф состояний процесса с двумя состояниями

Граф состояний процесса с пятью состояниями

Модель потока

  • Задача рассматривается как поток команд

  • Потоки порождаются процессом

  • Ресурсы процесса разделяются между потоками

  • Поток обладает состоянием, счётчиком команд, регистрами и стеком

  • Могут быть реализованы в пространстве ядра и в пространстве пользователя

Потоки в пространстве пользователя

  • +Ресурсы процессора не тратятся на переключение контекста

  • +Свой алгоритм планирования для каждого потока

  • +Не тратятся ресурсы системных таблиц

  • -Проблема с блокирующими запросами

  • -Проблема со страничным исключением

  • -Сложность реализации

Потоки в пространстве ядра

  • +Повторное использование потоков

  • +Простота написания приложений

  • -Увеличение накладных расходов

Однопоточные и многопоточные процессы

Проблемы потоков

  • Что делать при порождении дочернего процесса?

  • Как обеспечить защиту разделяемых между потоками данных?

Что мешает многопоточности

  • Глобальные переменные

  • Плохая реентрабельность (повторный вход) библиотечных функций

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

  • Индивидуальные стеки

Задачи ядра

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

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

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

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

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

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

Тема 5. Обработка прерываний

Прерывание — механизм, позволяющий устройствам прервать нормальную работу процессора

Требуются для повышения эффективности работы компьютерной системы

Классы прерываний:

    • Программное прерывание

    • Прерывание по таймеру

    • Прерывание ввода-вывода

    • Аппаратное прерывание

Работа без прерываний

Работа с прерываниями и быстрым вводом-выводом

Работа с прерываниями и медленным вводом-выводом

Контроллер прерываний

Каскадное включение контроллеров прерываний

Действия процессора при поступлении прерывания

Тема 6. Управление процессами и потоками

Задачи управления:

  • Порождение и остановка процессов и потоков

  • Планирование

Планирование — процесс распределения процессов между различными очередями исполнения

Цель — распределение процессорного времени таким образом, чтобы соответствовать требованиям, предъявляемым к операционной системе

Требования к ОС (критерии оптимизации планировщика)

  • Для всех:

    • Справедливость

    • «Диктатура»

    • Баланс

    • Постоянство и предсказуемость характеристик

  • Для пакетных:

    • Пропускная способность

    • Время оборота

    • Загрузка ЦП

  • Для интерактивных:

    • Время отклика

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

  • Для систем реального времени:

    • Предельный срок

Планировщик — часть ОС, занимающаяся планированием

Алгоритм планирования — алгоритм, согласно которому работает планировщик

Моменты необходимости планирования

  • Создание процесса

  • Завершение работы процесса

  • Блокирование процесса

  • Прерывание ввода-вывода

  • Прерывание по таймеру

Виды многозадачности

  • Реальная

  • Мнимая

    • Вытесняющая (preemptive)

    • Невытесняющая (non-preemptive)

Алгоритмы планирования

  • FCFS

  • SJF

  • SRT

  • RR

  • HRRN

  • Приоритетное планирование

  • Гарантированное планирование

  • Лотерейное планирование

  • Справедливое планирование

First Come First Served / FIFO

  • Задания выполняются в порядке их поступления в систему

  • +Простота

  • +Минимальные накладные расходы

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