Как переключить задачу поддержки Intel CPU? Есть ли аппаратный таймер, который управляет?

Мне интересно, почему процессор может контролировать задачу. Кроме вызова JMP и обработчика прерываний и excetipn, существует ли аппаратный таймер, который управляет переключением процессора на другую задачу и выполняет его?

1 ответ

Решение

Это действительно зависит от платформы, на которой вы работаете.

Например, Linux 2.2 (последнее ядро, над которым я когда-либо работал) на устройствах типа ПК программирует PIT (программируемый таймер прерываний) так, чтобы прерывание доставлялось с частотой 100 Гц.

Это 100 раз в секунду или каждые 10 миллисекунд. Это называется тик.

Таким образом, каждый тик, вызывается подпрограмма обслуживания прерываний в ядре, и этот ISR отвечает за различные вещи, в том числе за упреждение выполняемой в данный момент задачи, если он использовал все свои кванты времени.

Другие вопросы по тегам