Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС 2 модуль все части ПЕЧАТАТЬ.docx
Скачиваний:
90
Добавлен:
18.12.2018
Размер:
329 Кб
Скачать
☆
  1. Ч4_Опишите схему изменения приоритетов потоков и величины квантов при планировании в os/2.

Приоритеты потоков могут изменяться планировщиком OS/2 в следующих случаях:

  • если поток находится в состоянии готовности дольше, чем это задано системной переменной MAXWAIT, то OS/2 увеличит уровень его приоритета. При этом результирующее значение приоритета не должно переводить данный поток в критический класс;

  • если поток начинает операцию ввода-вывода, то после ее завершения он получит наивысшее значение приоритета своего класса;

  • при активизации потока его приоритет автоматически повышается.

OS/2 динамически устанавливает и величину кванта потока в зависимости от степени загрузки системы и интенсивности подкачки. Средства настройки параметров OS/2 позволяют пользователю явно задать границы изменения кванта командой TIMESLICE=a, b (где a-b – задаваемый диапазон в пределах 32-65536 мс, по умолчанию 32-246 мс). Если поток был прерван до истечения кванта, то следующий квант его выполнения будет увеличен на 32 мс (один период таймера) и так много раз до тех пор, пока не будет достигнуто установленное значение b. Это позволяет уменьшить накладные расходы на переключение потоков, если в ВС несколько потоков одновременно ведут длительные вычисления.

Благодаря такому алгоритму планирования в OS/2 ни один поток не будет «забыт» системой и получит достаточно процессорного времени.

  1. Ч4_Перечислите события, требующие перераспределения процессорного времени и поясните действия планировщика ос в каждом случае.

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

  1. прерывание от таймера – конец кванта. Планировщик ОС переводит задачу (поток) в состояние готовности и выполняет перепланировку;

  2. активная задача выполнила системный вызов – запрос на ввод-вывод или на доступ к ресурсу (например, файлу), который в настоящий момент времени занят. Планировщик переводит задачу в состояние ожидания и выполняет перепланировку;

  3. активная задача 1 выполнила системный вызов, связанный с освобождением ресурса. Планировщик проверяет, не ожидает ли этот ресурс задача 2. Если да, то она получает ресурс и переводится в состояние готовности (если она не ожидает еще и другие ресурсы). При этом, возможно, что задача 2 имела приоритет выше, чем задача 1. После перепланировки более приоритетная задача 2 активизируется, вытесняя текущую задачу 1;

  4. внешнее аппаратное прерывание, сигнализирующее о завершении УВВ операции ввода-вывода. Планировщик переводит соответствующую задачу в очередь готовых и выполняет перепланировку;

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

  1. Ч4_Опишите моменты перепланировки в среде ос рв.

При возникновении каждого из этих событий планировщик ОС просматривает очереди задач и решает, какая задача будет выполняться следующей. Кроме отмеченных, существует и ряд других событий, часто связанных с системными вызовами, требующих перепланировки. Например, запросы приложений и пользователей на создание новой задачи или повышение приоритета уже существующей создают новую ситуацию, требующую пересмотра очередей и переключения процессора. В системах РВ для отработки статического расписания планировщик активизируется по прерываниям от таймера, возникающим через короткие постоянные интервалы времени (около 32 мс). После каждого прерывания планировщик просматривает расписание и проверяет, не пора ли переключить задачи. Кроме прерывания от таймера в системах РВ перепланировка задач может происходить по прерываниям от внешних устройств – различного вида датчиков и исполнительных механизмов [2].