ВУЗ:
Составители:
83
3.3 Планирование и диспетчеризация потоков
На протяжении существования процесса выполнение его потоков
может быть многократно прервано и продолжено. (В системе, не
поддерживающей потоки, все сказанное ниже о планировании и
диспетчеризации относится к процессу в целом.)
Переход от выполнения одного потока к другому осуществляется в
результате планирования и диспетчеризации. Работа по определению того, в
какой момент необходимо прервать выполнение текущего активного потока
и какому потоку предоставить возможность выполняться, называется
планированием. Планирование потоков осуществляется на основе
информации, хранящейся в описателях процессов и потоков. При
планировании могут приниматься во внимание приоритет потоков, время их
ожидания в очереди, накопленное время выполнения, интенсивность
обращений к вводу-выводу и другие факторы. ОС планирует выполнение
потоков независимо от того, принадлежат ли они одному или разным
процессам. Так, например, после выполнения потока некоторого процесса
ОС может выбрать для выполнения другой поток того же процесса или
назначить к выполнению поток другого процесса.
Планирование потоков включает в себя решение двух задач:
− определение момента смены текущего активного потока;
− выбор для выполнения потока из очереди готовых потоков.
Существует множество различных алгоритмов планирования потоков,
решающих приведенные задачи. Алгоритмы планирования могут
преследовать различные цели и обеспечивать разное качество мультипро-
граммирования. Например, в одном случае выбирается такой алгоритм
планирования, при котором гарантируется, что ни один поток/процесс не
будет занимать процессор дольше определенного времени, в другом случае
целью является максимально быстрое выполнение «коротких» задач, а в
83 3.3 Планирование и диспетчеризация потоков На протяжении существования процесса выполнение его потоков может быть многократно прервано и продолжено. (В системе, не поддерживающей потоки, все сказанное ниже о планировании и диспетчеризации относится к процессу в целом.) Переход от выполнения одного потока к другому осуществляется в результате планирования и диспетчеризации. Работа по определению того, в какой момент необходимо прервать выполнение текущего активного потока и какому потоку предоставить возможность выполняться, называется планированием. Планирование потоков осуществляется на основе информации, хранящейся в описателях процессов и потоков. При планировании могут приниматься во внимание приоритет потоков, время их ожидания в очереди, накопленное время выполнения, интенсивность обращений к вводу-выводу и другие факторы. ОС планирует выполнение потоков независимо от того, принадлежат ли они одному или разным процессам. Так, например, после выполнения потока некоторого процесса ОС может выбрать для выполнения другой поток того же процесса или назначить к выполнению поток другого процесса. Планирование потоков включает в себя решение двух задач: − определение момента смены текущего активного потока; − выбор для выполнения потока из очереди готовых потоков. Существует множество различных алгоритмов планирования потоков, решающих приведенные задачи. Алгоритмы планирования могут преследовать различные цели и обеспечивать разное качество мультипро- граммирования. Например, в одном случае выбирается такой алгоритм планирования, при котором гарантируется, что ни один поток/процесс не будет занимать процессор дольше определенного времени, в другом случае целью является максимально быстрое выполнение «коротких» задач, а в
Страницы
- « первая
- ‹ предыдущая
- …
- 81
- 82
- 83
- 84
- 85
- …
- следующая ›
- последняя »