Добавил:
Developerrnrn Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС Нижний.pdf
Скачиваний:
34
Добавлен:
25.03.2023
Размер:
2.75 Mб
Скачать

Лабораторный практикум по курсу "Операционные системы"

нельзя задать предельный срок выполнения задания и предоставить гарантий его выполнения. Эти классы просто имеют более высокий приоритет, чем потоки стандартного класса разделения времени.

У каждого потока есть приоритет планирования (по умолчанию +20), но его значение может быть изменено системным вызовом nice(value), value={-20,..,19}. Значение приоритета всегда находится в диапазоне от 1 до 40.

Помимо приоритета, с каждым процессом связан квант времени, то есть количество тиков таймера, в течение которых процесс может выполняться. По умолчанию каждый тик равен 10 мс. Этот интервал называют "джиффи" (jiffy - мгновение, миг, момент).

Планировщик использует приоритет и квант следующим образом. Сначала он вычисляет называемую в системе Linux "добродетелью" (goodness) величину каждого готового процесса по следующему алгоритму:

if ( class == real_time ) goodness = 1000 + priority;

if ( class == timesharing && quantum > 0 ) goodness = quantum + priority; if ( class == timesharing && quantum == 0 ) goodness = 0;

Для обоих классов реального времени выполняется первое условие.

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

1.Квант потока уменьшился до 0.

2.Поток блокируется на операции ввода-вывода, семафоре и т.п.

3.В состояние готовности перешел ранее заблокированный поток с более высоким значением «добродетели».

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

quantium = (quantium/2) + priority

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

Заключение

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

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

Имеется ряд критериев, по которым оценивается эффективность алгоритмов планирования.

Учебно-исследовательская лаборатория «Информационные технологии» 39

Соседние файлы в предмете Современные операционные системы