The design of the UNIX Operating System 7 страница




Основы операционных систем 36

Приоритетное планирование

 

Алгоритмы SJF и гарантированного планирования представляют собой частные случаи приоритетного планирования. При приоритетном планировании каждому процессу присваивается определенное число-вое значение – приоритет, в соответствии с которым ему выделяется процессор. Процессы с одинаковы-ми приоритетами планируются в порядке FCFS. Для алгоритма SJF в качестве такого приоритета высту-пает оценка продолжительности следующего CPU burst. Чем меньше значение этой оценки, тем более высокий приоритет имеет процесс. Для алгоритма гарантированного планирования приоритетом служит вычисленный коэффициент справедливости. Чем он меньше, тем больше у процесса приоритет.

 

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

 

ограничения по времени использования процессора, требования к размеру памяти, число открытых фай-лов и используемых устройств ввода-вывода, отношение средних продолжительностей I/O burst к CPU burst и т. д. Алгоритмы SJF и гарантированного планирования используют внутренние параметры. В ка-честве внешних параметров могут выступать важность процесса для достижения каких-либо целей, стоимость оплаченного процессорного времени и другие политические факторы. Высокий внешний при-оритет может быть присвоен задаче лектора или того, кто заплатил $100 за работу в течение одного часа.

 

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

 

Пусть в очередь процессов, находящихся в состоянии готовность, поступают те же процессы, что и в примере для вытесняющего алгоритма SJF, только им дополнительно еще присвоены приоритеты (см. табл. 3.8.) . В вычислительных системах не существует определенного соглашения, какое значение при-оритета – 1 или 4 считать более приоритетным. Во избежание путаницы, во всех наших примерах мы бу-дем предполагать, что большее значение соответствует меньшему приоритету, т. е. наиболее приоритет-ным в нашем примере является процесс p3, а наименее приоритетным – процесс p0.

Таблица 3.8.

Процесс Время появления в очереди Продолжительность очередного CPU burst Приоритет


 

p 0 0
p 1 2
p 2 6
p 3 0


 

6 4
   
2 3
   
7 2
   
5 1
   

 

Как будут вести себя процессы при использовании невытесняющего приоритетного планирования? Пер-вым для выполнения в момент времени t = 0 выбирается процесс p3, как обладающий наивысшим при-оритетом . После его завершения в момент времени t = 5 в очереди процессов , готовых к исполнению, окажутся два процесса p0 и p1. Больший приоритет из них у процесса p1, он и начнет выполняться (см. табл. 3.9.). Затем в момент времени t = 8 для исполнения будет избран процесс p2, и лишь потом – про-цесс p0.


Дата добавления: 2021-01-21; просмотров: 102; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!