Введение в архитектуру компьютеров


Планирование в мультипрограммных системах


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

· очередь готовых процессов – активные процессы, ожидающие кванта времени ЦП (Ог);

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


Пусть P – процессор, тогда схема планирования ресурса-процессора выглядит следующим образом (рис. 12.3).

Рис. 12.3. Схема планирования ресурса

Каждый процесс Pi

может находиться в одном из состояний: готовом, заблокированном или выполняемом. Если piΠОг и ему выделен квант tpi

процессорного времени, то он будет выполняться, пока не произойдет одно из событий:

·     истечет его квант времени;

·     процесс будет заблокирован;

·     процесс будет вытеснен более приоритетным процессом;

·     процесс будет завершен.

Если произошло одно из указанных событий, процесс переводится либо в очередь Ог, либо в очередь Об, либо оставляет систему. По окончании блокировки процессы переводятся из очереди Об в Ог. Алгоритм планирования для такой системы включает в себя способ выбора готового процесса из заданной совокупности процессов и способ вычисления величины кванта tpi

для него.

Каждому pi Î Ог поставлен в соответствие приоритет – целое число, учитывающее важность процесса pi, занимаемый им объем памяти, срочность выполнения и объем I/О, а также внешний приоритет, назначаемый пользователем. На определение приоритета влияют также и динамические характеристики: общее время ожидания; ресурсы, находящиеся в распоряжении процесса; процессорное время, полученное в последний раз; общее время нахождения процесса в системе и т. д. Отсюда следует, что приоритет процесса может перевычисляться несколько раз за время его жизни.

Внешний приоритет играет важную роль при переводе pi в активное состояние и распечатке полученных результатов.

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




Начало  Назад  Вперед



Книжный магазин