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

Реализация потоков

  1. Реализация потока в пространстве пользователя. Ядро в общем случаи не знает о существовании потоков. Все потоки работают поверх службы поддержки программ. Преимущества: быстродействие и возможность иметь собственную политику потоков. Недостатки: трудность реализации блокирующих системных вызовов и реализации виртуальной памяти.

    1. Thread -create создание

    2. Thread-exit завершение

    3. Thread-join ожидание завершения некоторых потоков

    4. Thread-yield передача процессора другому потоку

  2. Реализация потоков в ядре ОС. Управляет их переключением. Преимущества: решены проблемы 1 системы. Недостатки: уменьшение быстродействия. Нет собственной политики переключения.

  3. Способ активации планировщика. Ядро не управляет потоками непосредственно, потоки работают поверх системы исполнения программ. Когда ядро определяет необходимость блокировки исполняемого потока (например: при вызове системного вызова), оно выполняет вызов системы поддержки исполнения программ, передовая в качестве аргументов номер потока и описание случившегося. При этом происходит «обратный вызов» (callback), что нарушает иерархию.

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

Глава 3. Планирование Основные понятия

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

Ситуации планирования.

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

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

  3. Блокировка процесса

  4. Обработка запроса на прерывание

    1. Запрос от внешних устройств

    2. Запрос от таймера

Все алгоритмы делятся на 2 вида:

  1. Не вытесняющиеся- выбирают процесс и дают ему работать, пока он не завершится или не заблокируется.

  2. Вытесняющие- выбирают процесс и позволяют ему работать некоторый интервал времени. Если по окончанию этого времени процесс все еще работает, то он приостанавливается другой процесс.

Категории систем:

  1. Системы пакетной обработки. Применяются системы не вытесняющего планирования (в современных- системы вытесняющего с большим квантом времени)

  2. Интерактивные системы. Очень важно иметь малое время отклика. Используются вытесняющие алгоритмы с малым квантом времени.

  3. Системы реального времени. Основная задача обеспечение реагирования с заданной быстротой и привязкой по времени. Вытесняющий алгоритм.

Свойства желательные алгоритмов планирования.

  • Справедливость- гарантия предоставления процессора каждому процессу.

  • Поддержка занятости всех устройств машины.

  • Предсказуемость- одна и та же задача должна выполнятся за равные промежутки времени.

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

Пакетные системы

  • Пропускная способность- количество заданий за единицу времени

  • Среднее оборотное время- среднее время от поступления задания до конца его обработки

  • Загрузка процессора

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

Планирование в системе пакетной обработки

Первым пришел- первым обслужим

Кратчайшая задача- первая

Для исполнение берется задача с наименьшим временем.

Наименьшее оставшееся время алгоритма

Выбирается задача с наименьшим остаточным временем.

Планирование в интерактивных системах

Циклический алгоритм

Перепланирование занимает примерно 1милисикунду.

Для 10 процессов:

10 процессов=100квантов

Время отклика 10(100+1)=1.010 сек

Другой подход

Квант=4мс

Время отклика = 10(4+1)=50

Преимущество: надежность

Недостаток: не рациональное использование ресурсов.

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

Для исполнения на процессоре выбираются процессы с наибольшим приоритетом. Процессы с высоким приоритетом монополизируют процессор.

Изменение самих приоритетов может быть как статическим, так и динамическим.

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

N-количество пользователей

Di- время нахождения пользователя в системы

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

- коэффициент справедливости.

Планирование в системах реального времени

Типы систем:

  1. Жесткие- отклонение от заданных сроков недопустимо.

  2. Гибкие- отклонения нежелательны, но допустимы.

События:

  1. Периодические

  2. Непериодические

N периодических событий.

Pi-период обрабатываемых событий

Ti-время обработки i-го события

коэффициент загрузки.

Если КЗ <=1, то система считается планируемой, иначе система с данными характеристиками не успеет отреагировать.

Алгоритм RMS (Rate-Monotonic Scheduling)

Условие применения алгоритма:

  1. Каждый процесс должен полностью завершится за время своего периода

  2. Процессы независимы

  3. Каждому процессу необходимо одинаковое время на каждом периоде

  4. У непериодических процессов нет жестких сроков

  5. Планирование и переключение процесса происходит мгновенно

Для реализации алгоритма

m- количество процессов

Процессы

Период, мс

Время работы, мс

Приоритет

A

30

10

Высокий

B

40

15

Средний

C

50

5

Низкий