Какие алгоритмы планирования используют ядро Linux?Какие алгоритмы планирования используют ядро Linux?
Где я могу получить дополнительную информацию о ядре Linux? (Начальный курс OS ... студент)
Какие алгоритмы планирования используют ядро Linux?Какие алгоритмы планирования используют ядро Linux?
Где я могу получить дополнительную информацию о ядре Linux? (Начальный курс OS ... студент)
Я считаю, что «полностью справедливый планировщик» используется с последними ядрами. Я думаю, вы можете получить хороший объем информации, если вы просто ищете его в Google.
ссылка: http://en.wikipedia.org/wiki/Completely_Fair_Scheduler
Ядро Linux имеет несколько различных алгоритмов планирования доступны как для планирования процесса и для планирования ввода/вывода. Загрузите его с www.kernel.org и вызвать
make menuconfig
вы получите полный список всех доступных опций с встроенной помощи. Один парень, который однажды придумал свой планировщик O (1), - Con Kolivas. Окончательно нужно взглянуть на то, что он сделал. Я когда-то был отличным прорывом.
Это если вы можете указать категорию в menuconfig, что планировщики могут быть найдены. – recluze
Я думаю, что в ядре Linux есть несколько разных планировщиков, которые вы можете выбрать во время компиляции. Чтобы узнать больше о ядре Linux, вы можете загрузить исходный код ядра (или просмотреть его в Интернете) и посмотреть в каталоге документации. Например, может оказаться полезным подкаталог scheduler. Очевидно, вы можете просто взглянуть на код.
Планировщик ввода-вывода имеет разные алгоритмы. Планировщик процессов этого не делает. –
Как уже упоминалось, существует несколько алгоритмов планирования в соответствии с предполагаемым использованием.
Отметьте this article, если вы хотите узнать больше о планировании в Linux.
Новое дополнение к Linux Kernel является EDF (раннее Deadline First) для поддержки гарантировано RealTime http://lkml.org/lkml/2009/9/22/186 http://www.evidence.eu.com/content/view/313/390/
Ядро Linux позволяет три различных алгоритмов планирования в основном
Метод третьего планирования, который он отличается более низкой версии версий Linux, такие как 2,4
Как это сделать SJF без знания длительности заданий перед рукой? – pinkpanther
@pinkpanther Он наблюдает за своим прошлым поведением и перемещает их вверх и вниз в приоритетных очередях соответственно. –
Если вы просто хотите проверить, что планировщик система Linux использует и которые доступны вы можете выполнить следующую команду:
cat /sys/block/sda/queue/scheduler
Тот, который находится между [], является тем, который он использует в данный момент. Другие доступны. Чтобы изменить его:
sudo bash -c 'echo deadline > /sys/block/sda/queue/scheduler'
Будьте осторожны, чтобы установить его по умолчанию, хотя, если вы не знаете, что вы делаете, и хотите.
По умолчанию (в новых дистрибутивах Ubuntu, по крайней мере) является CFQ (Completely Fair Scheduling):
http://en.wikipedia.org/wiki/CFQ
Интервью с создателем (Йенс Аксбо):
Вы имеете в виду «алгоритм планирования, который использует ядро Linux»? –
мм, может быть, мой английский не очень хорош. Я имею в виду FCFS, round robin или то, что использует ядро linux для обработки процессов. – Nick
Это немного старо, но попробуйте прочитать [эту страницу] (http://web.archive.org/web/20141016155917/http://oreilly.com/catalog/linuxkernel/chapter/ch10.html). (Это было ранее опубликовано как отдельный ответ, который получил 4 upvotes. К сожалению, кажется, что политика этого сайта в отношении таких полезных ответов, даже тех, которые помогли людям в течение _7 лет_, заключается в том, что они должны быть удалены ...) – user200783