OSDev

для всех
Текущее время: 01 май 2024, 06:34

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Алгоритм работы планировщика
СообщениеДобавлено: 20 окт 2007, 09:16 

Зарегистрирован: 10 авг 2007, 15:37
Сообщения: 60
Передо мной встала задача разобраться с алгоритмами планировки. Пока ни в одной достуной литературе не нашел толкового описания алгоритма планировки с динамическими приоритетами. Так же стоит вопрос об организации очередей процессов (критерии выбора их количества и назначение каждой очереди). У Таненбаума (Операционные системы: разработка и реализация) все довольно обзорно. Конечно можно смотреть исходники существующих ОС, но хотелось бы теоретическое описание. Если кто знает неплохие книги или ссылки, буду очень благодарен. Я не проттив сухого математического описания, типа сетей Петри или т. п.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм работы планировщика
СообщениеДобавлено: 20 окт 2007, 13:27 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Все просто. Количество времени, предоставляемое процессу (потоку), зависит от величины его приоритета, который может меняться по ходу выполнения процесса (потока). Например, система может увеличивать приоритет, когда процесс становится переднеплановым, и уменьшать, когда он переходит на задний план. Количество очередей зависит от реализации. Однако практически всегда для ждущих процессов заводится отдельная очередь в добавок к очереди готовых процессов. Можно заводить очереди отдельно для каждого процессора, для ожидания доступа к отдельно взятому ресурсу, по величине приоритета и т.п. Я, например, очередь готовых процессов разделил на очередь процессов реального времени и обычную очередь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм работы планировщика
СообщениеДобавлено: 20 окт 2007, 14:01 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Удалено.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм работы планировщика
СообщениеДобавлено: 20 окт 2007, 14:02 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Что касается алгоритма планирования, то он заключается в следующем. В обработчике по таймеру или в какой-либо системной функции выполняется переключение между готовыми к выполнению процессами. В состояние ожидания процесс переходит по собственной инициативе, обращаясь к соответствующим функциям ядра (wait, waitevent и т.п.), а выходит из него при наступлении некоторого события или событий, когда обработчик этого события также обращается к определенным функциям ядра (signal, setevent и т.п.), сообщая либо тип события, либо идентификатор процесса, ожидающего событие, либо и то и другое сразу.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB