Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на ОС.docx
Скачиваний:
7
Добавлен:
25.09.2019
Размер:
204.32 Кб
Скачать
  1. Планирование с использованием многоуровневых очередей с обратной связью

Первичный поток только что созданный поступает в очередь с приоритетом 4 при выборе на исполнение задачи выделяется с квантом 8 единиц. Если задача использовала меньше времени то задача остаётся в очереди. После всё тоже повторяется но с квантом 16 и т.д. пока он не спустится в самый низ. Миграция потоков в обратном направлении может осуществляется по различным принципам.

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

  • Количество очередей для процессов, находящихся в состоянии готовность.

  • Алгоритм планирования, действующий между очередями.

  • Алгоритмы планирования, действующие внутри очередей.

  • Правила помещения родившегося процесса в одну из очередей.

  • Правила перевода процессов из одной очереди в другую.

Изменяя какой-либо из перечисленных пунктов, мы можем существенно менять поведение вычислительной системы.

  1. Алгоритм планирования в Windows 2000-2003

В Windows организованна вытесняющая многозадачность. Планировщик использует для определения порядка выполнения алгоритм основанный на приоритетах, где алгоритм основывается что главный приоритете выполняется раньше. Приоритеты исчисляются от наименьшего 0 до наибольшего 31. Приоритеты определяются на основе 2 составляющих: 1-базовый приоритет. 2-Повышение приоритета от базового. Все приоритеты разделены на несколько классов: Приоритеты реального времени и изменяемые приоритеты и приоритет нуля. Каждый раз когда необходимо выбрать задачу для выполнения диспетчер рассматривает верх приоритетов начиная от 16 до 31. Второй просмотр это просмотр это просмотр пользовательский. Пользовательские не могут стать системными. Чтобы обеспечить хорошую реакцию системе, диспетчер постоянно маниторит появление в системе задач с более высоким приоритетом. Использование изменяемых приоритетов позволяет создавать адаптивное планирование. Приоритетный из класса изменяемых может быть повышен по одному из следующих условий: 1-Завершилась операция ввода- вывода. 2-Поток графического приложения проснулся для обработки пользовательской реакции. 3-Операционная система обнаружила голодающий поток(т.е. поток долго не выполняется). 4-Выполнимось условие ожидания. 5-Завершился процесс ожидания потока владеющего каким-либо ресурсом.

Если поток с увеличенным приоритетом полностью исчерпал свой план то его приоритет понижается.

Вычисление квантов. Размер кванта выделяемый потоку вычисляется по следующим правилам: 1-Размер кванта измеряется в тиках системного времени и равняется 2. 2-Значение тика равно 10 мл секунд для настольных и 15 для серверных. 3-В поле квантум дескриптор потока хранится размер кванта. В поле квантум оно находится в виде 3 умножить на количество тиков. При завершение каждого тика системного времени поле уменьшается на 3 единицы. Если поток выполнил блокирующий системный вызов, системное поле уменьшается на 1. Если значение стало равным нулю или отрицательным то поток вытесняется с центрального процессора. Для потоков устанавливается в конец очереди значение поле квантум устанавливается равным процессу. При планирование в многопроцессорных системах планируются дополнительные параметры. Последний процессор идеальный процессор предпочтителен для выполнения.