русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-23; просмотров: 8769; Нарушение авторских прав


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

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

Диспетчеризация – выбор процессора и его времени для процесса, готового к выполнению.

Часто процедура обслуживания очереди процессов и выбора процессора выполняется 1 модулем – планировщик-диспетчер. Системы реального времени представляют особый случай.

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

Планирование организует работу каждого вида. Планирование определяет, какому процессу будет выделен квант времени и размер этого кванта.

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

Динамические характеристики – изменения при выполнении программы. На них влияет поведение процесса при предыдущем выделении кванта времени процессора. Приоритет может быть временно увеличен, если приложение выполнило запрос ввода-вывода либо приложение стало приложением переднего плана.

Изменение динамич. приоритета чаще всего происходит в сторону увеличения на несколько квантов времени.

Системные процессы имеют такой же приоритет, что и пользовательские, за исключением процессов внешних устройств.

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



В случае пустой очереди ОС имеет холостой процесс, запускаемый в данном случае.

В ОС Виндоус используется 32 уровня приоритета. Процессы могут выполнятся параллельно. В некоторых ОС приоритет меняется в диапазона 0 – 255.

Диспетчеризация имеет несколько дисциплин:

1) Бесприоритетные - линейные (в порядке очереди, случайный выбор процесса), циклические (циклический алгоритм, многоприоритетный циклический алгоритм)

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

Самой простой в реализации дисциплиной является дисциплина FIFO. Если процессы при выполнении были заблокированы, то после перехода в состояние готовности ставятся в эту очередь. Возможны 2 вар:

1)заблокированный процесс ставится в конец очереди

2)перемещение перед теми задачами, которые не выполнялись.

лекция 7

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

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

ПЛАНИРОВАНИЕ с использование очереди с обратной связью.

В очередь помещается процесс №1. Такой процесс становится в очередь №2. Если при выдачи канта времени он не завершится, то перейдет в очередь №3. Планировщик выделяет процессорное время процессам, находящимся в очереди с наименьшим номером. В таком случае, наивысший приоритет имеют процессы в очереди №1(новые процессы).Если очередь новых процессов иссякает, то тогда квант времени выделяется процессам из 2-ой очереди. Для организации и работы нескольких очередей необходимы дополнительные затраты ресурсов. Обычно для сокращения потерь следующая очередь может выбираться не тогда, когда предыдущая очередь опустеет, а по истечению фиксированного кол-ва квантов времени.



<== предыдущая лекция | следующая лекция ==>
Основы информационного поиска | АДАПТИВНО-РЕФЛЕКТОРНОЕ ПЛАНИРОВАНИЕ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.