
- •1) Что понимают под архитектурой, структурой и составом ос?
- •2) Каков типовой состав ос?
- •3) Представьте классическую архитектуру ос (на основе ядра), поясните состав и функции ядра и вспомогательных модулей ос.
- •4) Какие режимы, обеспечивающие привилегии ос, должна поддерживать аппаратура компьютера?
- •5) Какая задержка переключений процессора характерна для классической архитектуры ос?
- •6) Изобразите многослойную структуру ос и поясните ее основные особенности.
- •7) Какие действия выполняет ос при порождении процесса?
- •8) Что такое «описатель (дескриптор) процесса»?
- •9) Что такое «описатель (дескриптор) потока»?
- •10) Поясните суть и основные типы планирования потоков.
- •11) Чем динамическое планирование потоков отличается от статического?
- •12) Поясните суть и порядок диспетчеризации потоков.
- •13) Как организуются и переупорядочиваются очереди потоков?
- •14) Чем различаются вытесняющие и невытесняющие алгоритмы планирования?
- •15) Поясните особенности алгоритмов планирования, основанных на квантовании.
- •16) Что такое «приоритет потока» и каким он бывает?
- •17) Чем динамические приоритеты потоков отличаются от статических?
- •18) Опишите схему назначения приоритетов в ос Windows nt.
- •19) Опишите смешанный алгоритм планирования в ос Windows nt.
- •20)Перечислите события, требующие перераспределения процессорного времени и поясните действия планировщика ос в каждом случае.
- •21) Опишите моменты перепланировки в среде ос рв.
- •22)Как осуществляются диспетчеризация и учёт приоритетов прерываний в ос?
- •23) Как работает диспетчер прерываний?
- •24)Как согласуется диспетчеризация прерываний с диспетчеризацией потоков?
- •25)Как организован диспетчер системных вызовов?
- •26) Опишите схему организации системных вызовов с диспетчером системных вызовов.
- •27)Опишите особенности и различия организации синхронных и асинхронных системных вызовов.
- •31)Что такое «критическая секция», «критические данные», «взаимное исключение» потоков.
- •32)Поясните суть использования блокирующих переменных.
- •33)Поясните суть использования семафоров.
- •34)Опишите пример использования семафоров при работе с буферным пулом записи/чтения.
- •36)Чем тупики отличаются от очередей?
- •37)Опишите идеи и средства выявления и устранения тупиков.
- •38)Поясните сложность синхронизации потоков разных процессов.
- •39)Какие методы используются в ос для разделения синхронизирующих объектов?
- •40)Какие обычные объекты ос могут использоваться как синхронизирующие и какие события переводят их в сигнальное состояние?
10) Поясните суть и основные типы планирования потоков.
Переход от одного потока к другому осуществляется в результате планирования. Планирование – это работа по определению того, в какой момент необходимо прервать выполнение текущего потока и какому другому потоку предоставить возможность выполняться. Планирование потоков осуществляется на основе информации, хранящейся в дескрипторах. При планировании могут приниматься во внимание:
Приоритет потока
Время ожидания в очереди
Накопленное время выполнения
Интенсивность ввода вывода
ОС планирует выполнение потоков независимо от того, принадлежат они одному или разным процессам.
Планирование потоков заключается в решении 2-х основных задач:
Определение момента времени смены текущего активного потока
Выбор для выполнения очередного потока из очереди готовых потоков
11) Чем динамическое планирование потоков отличается от статического?
В большинстве универсальных ОС планирование осуществляется динамически, т.е. когда решение принимается во время работы ОС на основе оперативного анализа текущей ситуации. Процессы и потоки появляются в случайные моменты времени и также непредсказуемо завершаются. Динамические планировщики могут гибко приспосабливаться к изменяющейся ситуации и не прогнозирует состав мультипрограммной смеси.
Другой тип планирования – статический. Используется в системах с заранее известным составом мультипрограммной смеси. Статический планировщик принимает решение заранее.
12) Поясните суть и порядок диспетчеризации потоков.
Диспетчеризация заключается в реализации найденного планировщиком решения, т.е. в переключении процессора с одного потока на другой.
До прерывания выполнения потока ОС запоминает его контекст, который отражает:
1. состояние аппаратуры ЭВМ во время прерывания потока
2. параметры операционной среды (ссылки на открытые файлы, данные о незавершенных операциях)
Порядок диспетчеризации следующий:
1. происходит сохранение контекста текущего потока, подлежащего смене
2. загрузка контекста нового потока, выбранного в результате планирования
3. запуск нового потока на выполнение
13) Как организуются и переупорядочиваются очереди потоков?
ОС выполняет планирование потоков, учитывая их допустимые состояния. Очереди ожидающих и готовых потоков достаточно просто организуются путем объединения в списки их описателей. Описатели потока должны содержать хотя бы 1 указатель на другой дескриптор, соседствующий с ним в очереди.
Такая организация очередей позволяет легко их переупорядочивать, включать и исключать потоки, переводить потоки из одного состояния в другое.
14) Чем различаются вытесняющие и невытесняющие алгоритмы планирования?
Множество алгоритмов планирования можно разделить на 2 класса:
1. Вытесняющий алгоритм (решение о прекращении выполнения потока выполняет ОС)
Все диспетчерские функции выполняет ОС
2. Невытесняющий (решение принимается самим потоком)
Эти функции разделены между ОС и приложениями, а управление средой теряется на произвольный период времени, определяемый самим приложением.
Вершиной недружественности является зависание приложения в этот период времени. Поэтому программисты для ОС с невытесняющей многозадачностью вынуждены создавать приложения так, чтобы они выполняли свои задачи небольшими частями, чаще возвращая управление ОС.
В системах с вытесняющей многозадачностью ситуации с зависанием исключены, т.к. ЦПМ всегда может снять зависшую задачу с выполнения. Однако поручение части функций планирования приложению может быть и преимуществом, т.к. дает разработчику возможность самому проектировать алгоритм планирования наиболее подходящей для данного набора задач.