- •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)Какие обычные объекты ос могут использоваться как синхронизирующие и какие события переводят их в сигнальное состояние?
5) Какая задержка переключений процессора характерна для классической архитектуры ос?
Платой за повышение устойчивости ОС при переходе в привилегированный режим является некоторое замедление выполнения системных вызовов. Системный вызов привилегированного ядра инициирует переключения процессора из пользовательского режима в привилегированный, а при возврате к приложению – назад в пользовательский. Из-за такой двукратной задержки переключения процессора вызов процедуры со сменой режима выполняется медленнее, чем без смены.
6) Изобразите многослойную структуру ос и поясните ее основные особенности.
Вычислительную систему, работающую под управлением ОС на основе монолитного ядра можно представить в виде трехуровневой иерархии слоев:
1. Аппаратура
2. Ядро
3.Вспомогательные модули ОС
Многослойный подход является универсальным и эффективным способом декомпозиции сложных систем любого типа. В соответствии с этим подходом:
Система состоит из иерархии слоев
Каждый слой обслуживает вышележащий слой, выполняя для него некоторый набор функций межслойного интерфейса.
На основе функций нижележащего слоя следующий слой строит свои функции – более сложные и более мощные, которые являются основой для создания еще более мощных функций слоя.
Строгие правила касаются только взаимодействия между слоями системы, а между модулями внутри слоя связи могут быть произвольными.
Отдельный модуль может выполнять свою работу либо самостоятельно, либо обратиться за помощью к нижележащему через межслойный интерфейс.
7) Какие действия выполняет ос при порождении процесса?
Порождение процесса включает загрузку кодов и данных исполняемой программы с диска в ОП. Для этого ОС должна обнаружить месторасположение такой программы на диске, перераспределить ОП и выделить ее используемой программе нового процесса. После необходимо считать программу в ОП. В системах с виртуальной памятью в начальный момент может загружаться только часть кодов и данных процессов, а остальное подгружать по мере необходимости. В многопоточной системе при порождении процесса ОС создает для каждого процесса 1 или несколько потоков выполнения.
8) Что такое «описатель (дескриптор) процесса»?
Зарождение процесса начинается с создания дескриптора(описателя) – одной или нескольких информационных структур, содержащих все сведения о процессе, необходимые ОС для управления им. В дескриптор входит идентификатор процесса, данные по расположению в ОП, степень привилегированности процесса и др.
9) Что такое «описатель (дескриптор) потока»?
В многопоточной системе при порождении процесса ОС создает для каждого процесса 1 или несколько потоков выполнения.
Дескриптор потока включает в себя:
Идентификатор потока
Идентификатор процесса – владельца потока,
Параметры, используемые в процессе определения приоритета потока при конкуренции за какой-либо ресурс
Статистические данные потока
Аппаратный контекст выполнения потока (программный счетчик, стек и указатель на его вершину, значения регистров)
Код завершения потока