Введение

Компьютерное приложение для управления выполнением задач в фоновом режиме без участия пользователя – это класс программного обеспечения.

Планировщик задач – это компьютерное приложение для управления выполнением задач в фоновом режиме без участия пользователя. Это обычно называют пакетным планированием, поскольку выполнение неинтерактивных задач часто называют пакетной обработкой, хотя традиционные задания и пакеты различаются и противопоставляются; подробности см. на соответствующей странице. Другие синонимы включают пакетную систему, распределённую систему управления ресурсами (DRMS), распределённый менеджер ресурсов (DRM) и, в настоящее время, автоматизацию рабочей нагрузки (WLA). Структура данных заданий, предназначенных для выполнения, называется очередью заданий. Современные планировщики задач обычно предоставляют графический пользовательский интерфейс и единую точку управления для определения и мониторинга выполнения задач в фоновом режиме в распределённой сети компьютеров. Всё чаще планировщики задач должны координировать интеграцию бизнес-процессов в реальном времени с традиционной фоновой ИТ-обработкой на различных операционных системах и в различных бизнес-приложениях. Планирование задач не следует путать с планированием процессов, которое представляет собой назначение операционной системой текущих процессов центральным процессорам.

Основные понятия

Существует множество концепций, которые лежат в основе практически любой реализации планировщика заданий и широко признаны с незначительными вариациями: задания, зависимости, потоки заданий и пользователи. Помимо базовых инструментов планирования для одной ОС-инстанции, существуют две основные архитектуры программного обеспечения для планирования заданий. Архитектура "главный/агент" – исторически сложившаяся архитектура для программного обеспечения планирования заданий. Программное обеспечение для планирования заданий устанавливается на один компьютер (главный), в то время как на рабочих машинах устанавливается только небольшой компонент (агент), который ожидает команд от главного, выполняет их и затем возвращает код завершения обратно главному. Кооперативная архитектура – децентрализованная модель, в которой каждая машина способна помогать в планировании и может переносить локально запланированные задания на другие взаимодействующие машины. Это обеспечивает динамическое распределение нагрузки для максимального использования аппаратных ресурсов и высокую доступность для обеспечения непрерывности обслуживания.