Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект ОС.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
664.06 Кб
Скачать

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

Содержание лекции:

- планирование и диспетчеризация процессов и задач; планирование вычислительных процессов и стратегии планирования.

Цель лекции:

- ознакомиться с методами управления задачами.

Понятия процесса и потока выполнения имеют существенные различия. Однако при рассмотрении вопросов распределения процессорного времени, эти понятия практически эквивалентны, т.к. рассматриваются просто как некоторая работа, для выполнения которой необходимо предоставить центральный процессор. Понятие задачи в данном случае более обобщенное. Каждый поток выполнения получает статус задачи и для него создается соответствующий дескриптор.

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

Создание задачи сопряжено с формированием соответствующей информационной структуры, а ее удаление – с расформированием. Создание и удаление задач осуществляется по соответствующим запросам от пользователей или от самих задач. Задача может породить другую задачу («родители» - «потомки»). Родитель может приостановить или удалить дочернюю задачу, тогда как потомок не может управлять родителем.

Процессор является одним из самых необходимых ресурсов для выполнения вычислений. Поэтому способы распределения времени центрального процессора между выполняющимися задачами сильно влияют на скорость выполнения отдельных вычислений и на общую эффективность вычислительной системы.

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

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

На распределение ресурсов влияют конкретные потребности тех задач, которые должны выполняться параллельно. Т.е. можно столкнуться с ситуациями, когда невозможно эффективно распределять ресурсы с тем, чтобы они не простаивали.

Например, пусть всем выполняющимся ресурсам требуется устройство с последовательным доступом. Т.к. такое устройство не может разделяться между параллельно выполняющимися процессами, то процессы будут вынуждены долго ждать своей очереди, т.е. недоступность одного ресурса может привести к тому, что длительное время не будут использоваться многие другие ресурсы. Если же взять такой набор процессов, которые не будут конкурировать между собой за неразделяемые ресурсы при своем параллельном выполнении, то процессы смогут выполниться быстрее (из-за отсутствия дополнительных ожиданий), кроме того, имеющиеся в системе ресурсы будут использоваться более эффективно.

Таким образом, возникает задача подбора такого множества процессов, которые при своем выполнении будут как можно реже конфликтовать за имеющиеся в системе ресурсы – планирование вычислительных процессов.

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

Долгосрочный планировщик решает, какой из процессов, находящихся во входной очереди, в случае освобождения ресурсов памяти должен быть переведен в очередь процессов, готовых к выполнению. Он выбирает процесс из входной очереди с целью создания неоднородной мультипрограммной смеси (т.е. в очереди готовых к выполнению процессов должны находиться в разной пропорции как процессы, ориентированные на ввод-вывод, так и процессы, ориентированные на активное использование центрального процессора).

Краткосрочный планировщик решает, какая из задач, находящихся в очереди готовых к выполнению, должна быть передана на исполнение.

В большинстве распространенных современных ОС долгосрочный планировщик отсутствует.

При рассмотрении стратегий планирования, как правило, идет речь о диспетчеризации. Иногда используется термин стратегия обслуживания.

Стратегия планирования определяет, какие процессы планируются на выполнение, чтобы достичь поставленной цели. Среди стратегий выбора процесса, которому необходимо предоставить процессор, можно выделить следующие:

- по возможности заканчивать вычислений (вычислительные процессы) в том же порядке, в котором они были начаты;

- отдавать предпочтение более коротким вычислительным задачам;

- предоставлять всем пользователям (процессам пользователей) одинаковые услуги, в том числе и одинаковое время ожидания.

Когда говорят о стратегии обслуживания, имеют в виду понятие процесса, т.к. он может состоять из нескольких потоков выполнения (задач).

На сегодняшний день абсолютное большинство компьютеров – это персональные IBM-совместимые компьютеры, работающие на платформах Windows. Это однопользовательские диалоговые мультипрограммные и мультизадачные системы. При создании ОС для ПК разработчики, прежде всего, стараются обеспечить комфортную работу с системой, и основные усилия прилагают к проработке пользовательского интерфейса. Эффективность организации вычислений также должна оцениваться с этих позиций. Если рассматривать системы Windows операционными системами общего назначения, учитывая их повсеместное использование для решения различных задач автоматизации, то следует признать, что принятые в Windows стратегии обслуживания приводят к достаточно высокой эффективности вычислений. Однако для решения задач реального времени они непригодны, т.к. не способны удовлетворить высокие требования ко времени отклика и предоставить высокие гарантии обслуживания.

Система, ориентированная нам однопользовательский режим, прежде всего, должна обеспечить хорошую реакцию системы на запросы от текущего приложения. Мало пользователей, которые могут параллельно работать с большим числом приложений. Поэтому по умолчанию для задачи переднего плана (foreground task) система устанавливает более высокий уровень приоритета. В результате процессорное время в первую очередь предоставляется текущей задаче пользователя, чтобы он не испытывал дискомфорт из-за медленной реакции системы на его запросы. Для обеспечения надлежащей работы коммуникационных процессов и возможности выполнять системные функции приоритет задач пользователя должен быть ниже, чем у тех задач, которые реализуют операции ввода-вывода и иные управляющие функции.

Например, в ОС Windows NT для выбора нужной стратегии можно установить в окне Свойства системы желаемое значение в поле Ускорение приложения переднего плана:

- максимальное (по умолчанию) – приоритет текущего пользовательского приложения;

- свести до нуля – равный приоритет всех запущенных пользователем приложений.

ЛЕКЦИЯ № 8