Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Планировщик процессов (scheduler) Linux

39K
08 июня 2008 года
matanga
2 / / 08.06.2008
Помогите пожалуйста!
Почему в многоядерной системе процессы мигрируют с ядра на ядро?
И как это реализовано в планировщике? Какой участок кода отвечает за принятие решения о миграции?
5
08 июня 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: matanga
Почему в многоядерной системе процессы мигрируют с ядра на ядро?

А для планировщика разницы нет, ядро это или отдельный процессор. Логически, для него ядро уже представляет собой процессор.
Как вы наверно знаете, планировщик задач (потоков управления) в системе с вытесняющим параллелизмом решает задачу оптимального распределения M задач на N процессоров (исполняющих единиц) с учетом приоритетов первых. Потому и получается, что задача может (и будет!) "гулять" по процессорам; для закрепления задачи за конкретными исполняющими единицами обычно можно задать маску соответствия (affinity mask), по которой планировщик будет помещать задачу, только на строго определеннные процессоры/ядра.

39K
08 июня 2008 года
matanga
2 / / 08.06.2008
а в каком месте кода самого планировщика реализован этот механизм?
2
09 июня 2008 года
squirL
5.6K / / 13.08.2003
а какой именно планировщик из имеющихся в Linux вас интересует? :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог