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

3.5.3. Планирование по принципу кратчайшее задание - первым

Эффективность работы ранее рассмотренных алгоритмов зависит от порядка расположения в очереди процессов, находящихся в состоянии «готовность». Их производительность возрастает при расположении коротких процессов в начале очереди.

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

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

3.5.4.Гарантированное планирование

Гарантированное планирование гарантирует каждому пользователю ~1/N часть процессорного времени, где N – количество пользователей. Ti – время нахождения пользователя в системе, τi – суммарное процессорное время, выделенное всем процессам пользователя в течение сеанса.

Если τi<<Ti/N, то i-й пользователь обделен процессорным временем. Если τi>>Ti/N, пользователю предоставлено значительное количество процессорного времени. По рассчитываемому коэффициенту справедливости τi=N/Ti очередной квант времени предоставляется процессу с наименьшей величиной этого отношения. Недостатком алгоритма является невозможность предугадывания поведения пользователей. Если пользователь, не прерывая сеанса работы решил отдохнуть, то по возвращении его процессы получат много процессорного времени.

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

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

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

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

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

Главной проблемой приоритетного планирования является долгое время ожидания низкоприоритетных процессов, которое находится в зависимости от выбора механизма назначения и изменения приоритетов процессов.