Перейти к содержимому

Как запланирован планировщик?

1

Планировщик, являющийся системной программой, должен быть запланирован для выполнения, чтобы он мог активировать и планировать другие программы. Я читал о планировании процессов и алгоритмах, но не мог понять, как запланирован сам планировщик.
Это сам график? если да то как? а какой алгоритм? потому что он должен просыпаться чаще, чем любая другая программа, поэтому я думаю, что должен быть другой алгоритм.

Я имею в виду ОЧЕНЬ много подобных вопросов, но все они касаются только одного: как запланирован сам планировщик?

1 136 просмотров
Gufran спросил 12 лет назад
G 131

1 ответ

4

Есть несколько подходов к этой проблеме.

Совместные Планировщики Многозадачности

Кооперативный планировщик вызывается каждый раз, когда программа вызывает его или передает ему управление. Он взаимодействует с операционной системой и другими запущенными программами. Программа, которая никогда не выдаст, например, «зависший» процесс, никогда не покинет работающее состояние на машине с одним ЦП.

Preemptive Многозадачный планировщик

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

Я предлагаю вам прочитать статью в Википедии о многозадачности .

David Foerster ответил 12 лет назад
D 811