Главная страница

Курсоваяработ а


Скачать 426.04 Kb.
НазваниеКурсоваяработ а
Дата26.09.2019
Размер426.04 Kb.
Формат файлаdocx
Имя файлаass.docx
ТипКурсовая
#87758
страница4 из 5
1   2   3   4   5


Диаграмма Kernel:Scheduler:ActivateTask


Диаграмма Kernel:Scheduler:TerminateTask


Диаграмма Kernel:Scheduler:ChangePriorityTask

Задача моей реализации состояла в написании POSIX-планировщика.
Краткий алгоритм его работы можно описать следующим образом:
 Каждая задача имела фиксированное число (tick), которое пересчитывается с каждым системным тиком (по умолчанию 100 Hz), при выходе из режима ядра или при появлении более приоритетной задачи. Алгоритм просто делит число на два и добавляет базовую величину (по умолчанию 15, с учетом величины nice). Когда тик становится равным 0, он пересчитывается. Кроме этого каждый процессор имеет две очереди. В одной находятся готовые к запуску задачи, во вторую помещаются отработавшие и спящие задачи, которые, например, ожидают не доступного в настоящее время ресурса. Когда первая очередь пустеет, очереди меняются местами. Поэтому время работы алгоритма постоянно и не зависит от количества процессов.
Однако, данный алгоритм насчитывает в себе около 7000 строк, поэтому в моей реализации я отразил лишь главные принципы работы POSIX-планировщика такие как приоритеты планирования, очередь готовых и текущих задач и др.
1   2   3   4   5


написать администратору сайта