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

Слайд 2

Общий подход к обслуживанию потоков в муль­типрограммных операционных системах состоит в

Общий подход к обслуживанию потоков в муль­типрограммных операционных системах состоит в

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

Когда менеджер потоков переключает процессор на исполнение другого потока, он должен

Когда менеджер потоков переключает процессор на исполнение другого потока, он должен

выполнить следующие действия:
сохранить контекст прерываемого потока;
восстановить контекст запускаемого потока на момент его прерывания;
передать управление запускаемому потоку.
Слайд 4

Сначала предположим, что все потоки имеют одинаковый приоритет. Тогда они выстраиваются

Сначала предположим, что все потоки имеют одинаковый приоритет. Тогда они выстраиваются

в одну очередь на обслуживание к процессору. Процессор обслуживает потоки в порядке FIFO (first in — first out), т. е. первым пришел — первым вышел, и прерванные потоки становятся в конец очереди. Такая дисциплина обслуживания называется циклическим обслуживанием. Так как незавершившиеся потоки блокируются до следующего обслуживания, а не уходят не обслуженными, то циклическое обслуживание также называется FCFS (first come — first served), т. е. первым пришел — первым обслужен.
Слайд 5

Слайд 6

Если потоки имеют разные приоритеты, то для управления ими используются более

Если потоки имеют разные приоритеты, то для управления ими используются более

сложные дисциплины обслуживания с несколькими очередями. В этом случае каждая очередь включает потоки, которые имеют одинаковый приоритет.