Управление задачами.

Понятия процесса и потока не всегда разделяются. По отношению к ресурсу «процессорное время» оба понятия эквивалентны. Фактически они выступают как некоторая работа. Поэтому далее будем использовать термин «задача». Один из основных модулей супервизора ОС – Диспетчер задач переводит процессы в одно из состояний в зависимости оттого, доступен тот или иной ресурс или нет.

Во многих современных микропроцессорах, предназначенных для построения на их основе мощных мультипрограммных систем, имеются дескрипторы задач. Например, микропроцессор Intel имеется специальная аппаратная поддержка организации мультипрограммного режима. Речь идет о сегменте состояния задач (TSS), предназначенный для сохранения контекста потока или процесса.

ОС выполняет следующие функции, связанные с управлением задачами:

1. создание/удаление задачи.

2. планирование процесса и диспетчеризация задач.

3. синхронизация задач, обеспечение их средствами коммуникации.

Создание/удаление задачи.

Создание задачи сопряжено с формированием информационной структуры, а удаление – с расформированием. Осуществляется создание и удаление либо по запросам пользователей, либо по требованию другой задачи. Процессор является одним из самых необходимых ресурсов для вычислений, поэтому способы распределения времени ЦП между выполняющимися задачами сильно влияют и на скорость, и на общую эффективность всей системы. Основным подходом в организации того или иного метода управления процессами, обеспечивающего эффективную загрузку ресурсов, является организация очередей процессов и ресурсов. При распределении процессорного времени также используется механизм очередей. Решение вопросов, связанных с тем, какой задаче следует предоставить процессорное время, возлагается на Диспетчер задач. Вопросы подбора вычислительных процессов, которые не только можно, но и целесообразно решать параллельно, возлагаются на Планировщик процессов.

Планирование задачи и диспетчеризация процесса.

На распределение ресурсов влияют конкретные потребности тех задач, которые должны выполняться параллельно. Можно столкнуться с ситуациями, когда невозможно эффективно распределить ресурсы с тем, чтобы они не простаивали. Таким образом, возникает задача подбора такого множества процессов, которые при своем выполнении будут, как можно реже, конфликтовать за имеющиеся ресурсы. Такая задача называется планированием вычислительных ресурсов. В настоящее время на первый план вышли задачи динамического или краткосрочного планирования, то есть текущего наиболее эффективного распределения ресурсов. Задачи динамического планирования стали называть диспетчеризацией. Основное различие заключается в частоте запуска. Долгосрочный планировщик решает, какой из процессов, находящихся во входной очереди, в случае освобождения ресурсов должен быть переведен в очередь процессов, готовых к выполнению. Краткосрочный планировщик решает, какая из задач, готовых к выполнению, должна быть передана на исполнение.