Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Решение о переключении потоков принимает ОС, а не активный поток.



В вытесняющих алгоритмах используется концепция квантования. Процессорное время разбивается на кванты, которые выдаются каждому потоку. В Windows значение кванта = 20 мс

Смена активного потока происходит, если:

-активный поток завершился и покинул систему

-произошла ошибка при выполнении потока

-поток перешел в состояние ожидания

-исчерпан квант процессорного времени, отведенного активному потоку

Приоритетное обслуживание:

Приоритет – число, характеризующее степень привилегированности потока при использовании ресурсов системы, в частности –процессорного времени.

Приоритет потока связан с приоритетом процесса. Приоритет процесса назначается ОС при его создании и содержится в описателе процесса.

При назначении приоритета учитывается:

-тип процесса (системный или прикладной)

-статус пользователя, запустившего процесс на выполнение

-приоритет процесса, запустившего процесс на выполнение

Возможно изменение значения приоритета процесса или потока:

-по инициативе самого потока с помощью системного вызова

- по инициативе пользователя

-по инициативе ОС в зависимости от текущей ситуации или поведения потока

Приоритеты в Windows :

Базовый приоритет потока:критичный ко времени//самый высокий //выше нормы//норм//ниже нормы//Самый низкий//неработающий//

Динамическое изменение приоритетов:

Для пользовательских потоков (приоритет 1 – 15) возможно динамическое изменение приоритета. Однако, значение приоритета не может стать больше 15. Случаи изменения значения приоритета потока:

-завершается операция ввода-вывода и поток, ожидающий этого момента переводится в состояние готовности, то его приоритет повышается. Величина прибавки приоритета зависит от устройства (1 – HDD, 2 – COM, 6 – клавиатура, 8 – звуковая карта и т.п.)

-если поток ожидал семафора, мьютекса или другого события, то когда он отпускается его приоритет повышается. (+2 для активного окна, +1 для остальных)

-если поток графического интерфейса пользователя просыпается, потому что стал доступен оконный ввод, его приоритет повышается.

-если поток исчерпал свой квант времени полностью, его приоритет понижается на единицу (пока не достигнет базового приоритета)

-если поток находится в состоянии готовности дольше определенного промежутка времени и не выполняется, то ему на два кванта дается приоритет 15, а затем он резко уменьшается до базового значения.

 

14. Моменты перепланировки. Пример перепланировки в Windows.

Моменты перепланировки:

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

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

Пример перепланировки


Поделиться:



Последнее изменение этой страницы: 2019-05-08; Просмотров: 508; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.013 с.)
Главная | Случайная страница | Обратная связь