Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы построения операционных систем.doc
Скачиваний:
50
Добавлен:
07.11.2018
Размер:
5.07 Mб
Скачать

5.2. Приоритеты

Как уже отмечалось, приоритетность процесса является одним из критериев при выделении центрального процессора процессу для его исполнения. Система может присваивать приоритеты автоматически или они могут назначаться извне. Приоритеты могут быть заслуженными («заработанными») или купленными. Они могут быть либо статическими, либо динамическими. Они могут присваиваться по какому-то рациональному принципу или произвольно назначаться в ситуациях, когда системному механизму необходимо каким-то образом различать процессы, однако он не знает, какой из них в действительности более важен.

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

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

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

Концепция приоритетов, как правило, весьма существенна, но требует некоторых расходов. Для определения приоритета можно использовать много других факторов помимо тех, кот­орые перечислены в контексте процесса. Среди них - время создания процесса, время появления работы, вызвавшей образование процесса, заказанное время обслуживания, использованное время обслуживания, время, в течение которого процесс не обслуживался, объем или вид других ресурсов, заказанных или использованных процессом. Эти факторы можно учитывать различными способами, и, следовательно, существует большое число возможных дисциплин диспетчеризации.

5.3. Алгоритмы диспетчеризации с одной очередью

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

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