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

В большинстве универсальных ОС планирование осуществляется динамически (on-line), когда решения принимаются во время работы ОС на основе оперативного анализа текущей ситуации. Процессы и потоки появляются в случайные моменты времени и также непредсказуемо завершаются. Динамические планировщики могут гибко приспосабливаться к изменяющейся ситуации и не прогнозируют состав мультипрограммной смеси. Другой тип планирования – статический – используется в системах с заранее известным составом мультипрограммной смеси, например, в ОС РВ. Статический (предварительный) планировщик принимает решения заранее (off-line). Результатом работы статического планировщика является таблица (расписание), в которой указывается, какому потоку/процессу, когда и на какое время должен быть предоставлен процессор. Накладные расходы ОС на исполнение расписания оказываются значительно меньшими, чем при динамическом планировании, и сводятся лишь к диспетчеризации потоков/процессов.

  1. Ч4_Поясните суть и порядок диспетчеризации потоков.

Диспетчеризация (Dispatching) заключается в реализации найденного планировщиком решения, то есть в переключении процессора с одного потока на другой.

Порядок диспетчеризации:

  • сохранение контекста текущего потока, подлежащего смене;

  • загрузка контекста нового потока, выбранного в результате планирования;

  • запуск нового потока на выполнение.

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

  1. Ч4_Опишите состав контекста потока и роль его иерархической организации.

В контексте потока можно выделить часть, общую для всех потоков данного процесса, и часть, относящуюся только к данному потоку. В сетевой ОС NetWare 4.x различают контексты: глобальный (процесса), группы потоков и отдельного потока. Переменные глобального контекста доступны всем потокам процесса, а переменные локального контекста – только кодам своего потока. Иерархическая организация контекстов ускоряет переключение потоков в группах, когда требуются лишь переключения локальных контекстов, а также потоков разных групп процесса, не требующие переключения глобального контекста. Переключение же глобальных контекстов необходимо лишь при переходе с потока одного процесса на поток другого процесса.

  1. Ч4_Как организуются и переупорядочиваются очереди потоков?

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