Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные Системы.docx
Скачиваний:
6
Добавлен:
02.09.2019
Размер:
105.11 Кб
Скачать

Планирование и диспетчеризация потоков

Планирование – определение момента времени когда можно прервать текущий поток и определение потока которому можно предоставить процессорное время.

Основные критерии при планировании являются:

  1. Максимальное время для каждого потока

  2. Зависимость от приоритета

Планирование бывает:

  1. Статическое (определён жёсткий набор критериев) характерно для систем реального времени.

  2. Динамическое планирование (в зависимости от ситуации сложившиеся в ОС могут применятся, некоторые правила переключения потоков)

Существуют несколько состояний потоков:

  1. Выполнение

  2. Ожидание (поток заблокирован по какой либо внутренней причине)

  3. Готовность (пассивное состояние потока, поток заблокирован, по какой либо внешней причине)

Существуют алгоритмы планирования:

  1. Не вытесняющий алгоритм (решение по переключению потоков принадлежит самим потокам)

  2. Вытесняющий алгоритм (ОС регулирует выполнение и переключение всех потоков)

Существуют следующие виды планирование:

  1. На основе квантования – каждому потоку предоставляется квант времени и смена потоков осуществляется в случаях когда:

    1. Если поток завершил свою работу

    2. Если произошла ошибка и выполнение текущего потока невозможна

    3. Если поток перешёл в состояние ожидания

    4. Если исчерпан квант процессорного времени

  2. На основе приоритетов – у каждого потока определён свой приоритет относительно некоторого базового приоритета и в соответствии с этим существует обслуживание с абсолютным и относительным приоритетом.

    1. Абсолют – при выполнении некоторого потока передача управлении происходит к потоку с большим приоритетом.

    2. Относит – поток с большим приоритетом находится в очереди ожидания.

Для систем пакетной обработки данных характерна относительная обработка, а для систем реального времени абсолютное обслуживание (приоритет потоков могут меняться ОС).

  1. На смешанных алгоритмов основанные на принципах квантования и приоритетах. Из очереди выбирается поток с наиб приоритетом ему выделятся какой либо квант времени в случае если появляется поток с большим приоритетом управление передаётся ему, в этом случае появляется две очереди, – которые не отработали свой квант времени и очередь потоков с высоким приоритетом.

Д/з Среди систем реального времени выделяют:

  1. Мягкие системы

  2. Жёсткие системы

Мульти программирование прерываний

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

Основная цель прерывания – реализация асинхронной работы различных устройств ОС.

Т. О. При работе, с каким либо приложением пользователи работают с виртуальным пространством, а в это время физическую реализацию всех процессов осуществляют рабочие процедуры прерывания (расположенные в сторонних модулях).

Прерывания бывают:

  1. Внешние (аппаратные прерывания, отвечающие за асинхронное выполнение любой программы).

  2. Внутренние (исключения) которые осуществляют синхронное выполнение программ (пример деления на ноль).

  3. Программные прерывания, которые эмитируют прерывания на пользовательском уровне (пользователь сам вызывает обработчик прерываний и решает когда ему нужно прервать или продолжить работу).

Все прерывания делятся на классы каждый из которых имеет свой приоритет и эти приоритеты можно обслуживать по тем же самым принципам, что и планирование потоков (относительные и абсолютные).