Linux включает в себя несколько привилегированных процессов, называемых потоками ядра. Есть ли планировщик, который запускает/приостанавливает их? Если да, является ли этот планировщик таким же, как системный планировщик (я имею в виду тот, который должен запланировать все процессы системы)?Планировщик для Linux-потоков ядра
ответ
Планировщик Linux планирует задачи планирования. Они могут быть
- потоков ядра (например
kswapd
) или - однопоточных процессы (например,
bash
), или - отдельных нитей многопоточного процесса (например, некоторые браузеры или сервера)
Многие потоки многопоточного процесса - это задачи, совместно использующие общее адресное пространство (и другие вещи, например файловые дескрипторы).
AFAIK, планировщик не отделяет потоки ядра от других задач. Но планировщик учитывает политики планирования (sched_setscheduler(2)) и приоритеты (setpriority(2)) (Для большинства потоков ядра приоритет часто очень высок). См. sched(7)
Да! Позвольте мне пояснить часть системного планировщика здесь.
Каждая задача связана с task_struct, который содержит детали каждой задачи говорят идентификатор процесса, его имя, когда он недавно начал, приоритет и т.д. и т.п. http://lxr.free-electrons.com/source/include/linux/sched.h#L1224
Обычно в зависимости от приоритета задачи либо Fair планировщиком или планировщик реального времени, и они существуют. Просто чтобы это было просто и не вдаваться в детали, это разные алгоритмы планировщика, которые обслуживают разные типы задач.
В настоящее время потоки ядра также имеют связанный с ним task_struct, и поскольку @Basile Starynkevitch указал пару KPI, мы можем использовать KPI для sched_setparam для изменения параметров графика и изменения планировщика, к которому задача принадлежит, зависит от того, что они делать.
- 1. Планировщик ядра Linux CFS
- 2. Планирует ли поток ядра планировщик?
- 3. Планировщик Windows CPU - очень высокое время ядра
- 4. Планировщик процессов, запущенных в режиме ядра
- 5. Определение причины задержки/паузы - планировщик ядра и т. Д.
- 6. Linux Kernel Threads - планировщик
- 7. Как выбрать планировщик процессов linux в menuconfig при компиляции ядра
- 8. Планировщик asp.net для встреч
- 9. Пользовательский планировщик для рельсов
- 10. Планировщик для ASP.NET?
- 11. Планировщик C# для проекта
- 12. планировщик для автономного приложения?
- 13. Планировщик для asp.net?
- 14. планировщик для базы данных
- 15. Пользовательский планировщик для Hadoop
- 16. Wordpress календарь событий/планировщик/планировщик
- 17. Планировщик DotNetNuke 7+ Планировщик FullCalendar
- 18. Планировщик процессов и планировщик потоков
- 19. Планировщик в среде MultiThreding
- 20. Как возвращается планировщик ОС?
- 21. Патч для ядра ядра для ядра версии 3.3.8
- 22. Ищете планировщик событий для Delphi?
- 23. Как установить планировщик для android
- 24. день планировщик каландр для мобильных
- 25. Android: Планировщик заданий для планировщика
- 26. FullCalendar Планировщик eventMouseover для ресурсов
- 27. Реальный планировщик для плагинов Wordpress
- 28. Планировщик для вызова URL-адреса
- 29. Azure Планировщик для различных услуг
- 30. планировщик для запуска скриптов python