LINUX.ORG.RU

История изменений

Исправление X512, (текущая версия) :

А разве разбрасывание потоков по ядрам цпу производится не из одного главного потока планировщика?

Нет никакого потока планировщика. Есть функция Schedule(), которая выбирает следующий поток для исполнения и переключает текущее ядро процессора на него. Она вызывается когда поток вызвал блокирующий системный вызов (IO, взятие семафора и т.п.) или когда истёк квант исполнения и пришло прерывание таймера. Смотрите исходники простой учебной UNIX-подобной системы xv6.

Исходная версия X512, :

А разве разбрасывание потоков по ядрам цпу производится не из одного главного потока планировщика?

Нет никакого потока планировщика. Есть функция Schedule(), которая выбирает следующий поток для исполнения и переключает текущее ядро процессора на него. Она вызывается когда поток вызвал блокирующий системный вызов (IO, взятие семафора и т.п.) или когда истёк квант исполнения и пришло прерывание таймера. Смотрите исходники простой учебной UNIX-подобной системы xv6.