Хотелось бы знать, какие механизмы планирования используются в 15.04, с разделением времени или в режиме реального времени, я уверен, что это FIFO, Round Robin, SJF?
PS: новичок в Linux
Планировщик процессов
Планировщик процессов управляет распределением ресурсов ЦП для выполнения процессов и направлен на максимизацию общего использования ЦП при одновременном повышении интерактивной производительности.
Начиная с ядра 2.6.23 (это было бы с Hardy 8.04 LTS), полностью честный планировщик (CFS), основанный на « крайнем сроке ротационной лестницы». Обзор от kernel.org :
CFS расшифровывается как «Совершенно честный планировщик» и является новым «настольным» планировщиком процессов, реализованным Ingo Molnar и объединенным в Linux 2.6.23. Это замена для кода интерактивности SCHED_OTHER предыдущего ванильного планировщика.
80% дизайна CFS можно обобщить в одном предложении: CFS в основном моделирует «идеальный, точный многозадачный процессор» на реальном оборудовании.
«Идеальный многозадачный ЦП» - это (несуществующий :-)) ЦП, обладающий 100% физической мощностью и способный параллельно выполнять каждую задачу с точно равной скоростью, каждый со скоростью 1 / nr_running. Например: если запущено 2 задачи, каждая из них выполняется с физической нагрузкой 50% - т.е. фактически параллельно.
На реальном оборудовании мы можем запустить только одну задачу одновременно, поэтому нам нужно ввести понятие «виртуальная среда выполнения». Виртуальная среда выполнения задачи указывает, когда ее следующий временной интервал начнет выполняться на идеальном многозадачном процессоре, описанном выше. На практике виртуальное время выполнения задачи - это фактическое время выполнения, нормализованное к общему количеству запущенных задач.
Планировщик ввода / вывода
Планирование ввода / вывода - это метод, который операционная система использует для определения порядка операций ввода-вывода блока блоков, которые будут отправлены в тома хранения.
Статья Phoronix о планировании : Linux 3.16: Планировщик ввода-вывода дедлайна обычно лидирует с SSD.
Вы можете изменить планировщик ввода / вывода, добавив параметр "elevator =" в "GRUB_CMDLINE_LINUX_DEFAULT =" в grub.
Вероятно, проще (при условии sda и крайнего срока) сделать это так:
Чтобы показать список доступных планировщиков:
cat /sys/block/sda/queue/scheduler
И чтобы изменить планировщик (можно сделать на лету):
echo deadline > /sys/block/sda/queue/scheduler
Из ядра / git / torvalds / linux.git
Вы можете проверить, что используется с (принимая sda как primairy):
cat /sys/block/sda/queue/scheduler