В вычислительной технике планирование — это действие по распределению ресурсов для выполнения задач . Ресурсами могут быть процессоры , сетевые каналы или карты расширения . Задачи могут быть потоками , процессами или потоками данных .
Деятельность по планированию осуществляется процессом, называемым планировщиком . Планировщики часто разрабатываются таким образом, чтобы все ресурсы компьютера были заняты (как при балансировке нагрузки ), позволяли нескольким пользователям эффективно совместно использовать системные ресурсы или достигали целевого качества обслуживания .
Планирование имеет фундаментальное значение для самих вычислений и является неотъемлемой частью модели выполнения компьютерной системы; концепция планирования позволяет обеспечить многозадачность компьютера с помощью одного центрального процессора (ЦП).
На практике эти цели часто конфликтуют (например, пропускная способность и задержка), поэтому планировщик реализует подходящий компромисс. Предпочтение измеряется любым из упомянутых выше факторов в зависимости от потребностей и целей пользователя.
В средах реального времени , таких как встроенные системы автоматического управления в промышленности (например, робототехника ), планировщик также должен гарантировать, что процессы могут уложиться в сроки ; это имеет решающее значение для поддержания стабильности системы. Запланированные задачи также можно распределять между удаленными устройствами по сети и управлять ими через административную серверную часть.
Планировщик — это модуль операционной системы, который выбирает следующие задания, которые будут допущены в систему, и следующий процесс для запуска. Операционные системы могут иметь до трех различных типов планировщиков: долгосрочный планировщик (также известный как планировщик допуска или планировщик высокого уровня), среднесрочный или среднесрочный планировщик и краткосрочный планировщик . Названия указывают на относительную частоту выполнения их функций.