- •Часть 3
- •1)_Ч3 Что понимают под архитектурой, структурой и составом ос?
- •2)_Ч3 Каков типовой состав ос?
- •3)_Ч3 Представьте классическую архитектуру ос (на основе ядра), поясните состав и функции ядра и вспомогательных модулей ос.
- •4)_Ч3 Какие режимы, обеспечивающие привилегии ос, должна поддерживать аппаратура компьютера.
- •5)_Ч3 Как обеспечивается подчиненность приложений операционной системе?
- •6)_Ч3 Как влияет на возможности защиты поддержка многоуровневой иерархии привилегий?
- •7)_Ч3 Какая задержка переключений процессора характерна для классической архитектуры ос?
- •8)_Ч3 Изобразите многослойную структуру ос и поясните ее основные особенности.
- •9)_Ч3 Перечислите особенности слоев и межслойных интерфейсов многослойной структуры ос.
- •10)_Ч3 Какие достоинства имеет многослойная структура ос?
- •11)_Ч3 Перечислите типовые слои ядра и опишите их функции.
- •12)_Ч3Опишите особенности слоя менеджеров ресурсов ядра ос.
- •13)_Ч3Какие способы взаимодействия слоев используются в классической архитектуре?
- •14)_Ч3к чему ведет увеличение/уменьшение числа слоев ядра ос?
- •15)_Ч3Перечислите и охарактеризуйте типовые средства аппаратной поддержки ос.
- •16)_Ч3Почему одна и та же ос не может без изменений устанавливаться на компьютеры с другим типом процессора или способом организации всей аппаратуры?
- •17)_Ч3Опишите особенности построения машинно-зависимых компонент и переносимости ос.
- •18)_Ч3Что такое «микроядро» и какие модули входят в его состав?
- •19)_Ч3Что такое «серверы ос» в архитектуре на основе микроядра, в каком режиме они работают?
- •20)_Ч3Перечислите и поясните особенности архитектуры ос на основе микроядра.
- •21)_Ч3Поясните механизм обращения к функциям ос, оформленным в виде серверов архитектуры на основе микроядра.
- •22)_Ч3Опишите достоинства и недостатки архитектуры ос на основе микроядра.
- •23)_Ч3Какая задержка переключений процессора характерна для архитектуры ос на основе микроядра?
- •24)_Ч3Опишите варианты гибридного (смешанного) и модульного ядра.
- •25)_Ч3Опишите варианты наноядра, пикоядра и экзоядра.
- •26)_Ч3в чем суть совместимости различных ос и особенности различных ее видов?
- •27)_Ч3 Для чего в прикладных программных средах выполняется трансляция библиотек?
- •28)_Ч3 Опишите вариант реализации множественных прикладных программных сред на основе трансляторов системных вызовов.
- •29)_Ч3 Опишите вариант реализации множественных прикладных программных сред на основе поддержки нескольких равноправных api.
- •30)_Ч3 Опишите вариант реализации множественных прикладных программных сред на основе концепции микроядра.
- •31)_Ч3 Что дает наличие в составе ос множественных прикладных программных сред?
- •32)_Ч3 Опишите назначение и типы гипервизоров.
- •33)_Ч3 Опишите технологии виртуализации.
- •34)_Ч3 Опишите примеры гипервизоров и тенденции их развития.
- •1)_Ч5 Чем виртуальные адреса команд и данных отличаются от физических?
- •2)_Ч5 Что такое виртуальное адресное пространство процесса и на какие части оно делится?
- •3)_Ч5 Какие способы структурирования виртуального адресного пространства процесса используются?
- •4)_Ч5 Поясните смысл понятий «максимально возможное вап» и «назначенное вап процесса».
- •5)_Ч5 Что такое «образ процесса»?
- •6)_Ч5 Охарактеризуйте части, на которые делится вап процесса.
- •7)_Ч5 На какие области виртуальной памяти вытеснение не распространяется?
- •9)_Ч5 На какие классы делятся алгоритмы распределения оп и какие из них составляют каждый класс?
- •10)_Ч5 Какие задачи решаются при виртуализации оп?
- •11)_Ч5 Назовите и поясните основные подходы к виртуализации оп.
- •12)_Ч5 Поясните суть свопинга.
- •13)_Ч5Перечислите достоинства и недостатки свопинга.
- •14)_Ч5 Что такое таблица страниц и для чего она используется?
- •15)_Ч5Какую информацию включает дескриптор страниц?
- •16)_Ч5Как выполняется страничное распределение оп?
- •17)_Ч5 Как представляется виртуальный адрес при страничной организации?
- •18)_Ч5Опишите известные стратегии замещения страниц.
- •19)_Ч5Как при страничном распределении оп осуществляется поддержка разделов?
- •20)_Ч5Какие недостатки страничного распределения оп устраняет сегментное распределение?
- •21)_Ч5 Чем сегментное распределение оп отличается от страничного?
- •22)_Ч5Как выполняется сегментное распределение оп?
- •23)_Ч5Как представляется виртуальный адрес при сегментной организации?
- •24)_Ч5 Что такое таблица сегментов и для чего она используется?
- •25)_Ч5 Каковы недостатки и достоинства сегментного распределения оп?
- •26)_Ч5Поясните суть сегментно-страничной организации оп. Сегментно-страничное распределение памяти
- •27)_Ч5Как происходит преобразование виртуального адреса в физический при сегментно-страничной организации
- •28)_Ч5 Как используется модифицированный страничный механизм при сегментно-страничной организации оп?
- •29)_Ч5Дайте краткое сравнение разных алгоритмов распределения оп.
- •30)_Ч5 Для чего нужны разделяемые сегменты памяти и какие варианты их организации существуют?
- •1)_Ч6 Перечислите и кратко поясните задачи ос по управлению увв и файлами.
- •2)_Ч6Опишите необходимость и организацию параллельной работы увв и процессора, согласования скоростей обмена и кэширования.
- •3)_Ч6Опишите необходимость и организацию разделения увв и данных между процессами, логического интерфейса между увв и остальной частью ос.
- •4)_Ч6Опишите необходимость и организацию поддержки широкого спектра драйверов, динамической загрузки и выгрузки драйверов.
- •5)_Ч6Опишите необходимость и организацию поддержки нескольких фс, синхронных и асинхронных операций ввода-вывода.
- •9)_Ч6Опишите назначение и функции классического драйвера.
- •Ч4_Какие действия выполняет ос при порождении процесса?
- •Ч4_Что такое «описатель (дескриптор) процесса»?
- •Ч4_Что такое «описатель потока»?
- •Ч4_Поясните суть и основные типы планирования потоков.
- •Ч4_Чем динамическое планирование потоков отличается от статического?
- •Ч4_Поясните суть и порядок диспетчеризации потоков.
- •Ч4_Опишите состав контекста потока и роль его иерархической организации.
- •Ч4_Как организуются и переупорядочиваются очереди потоков?
- •Ч4_Чем различаются вытесняющие и невытесняющие алгоритмы планирования?
- •Ч4_Чем различаются вытесняющие и невытесняющие алгоритмы планирования?
- •Ч4_Что такое «приоритет потока» и каким он бывает?
- •Ч4_Чем динамические приоритеты потоков отличаются от статических?
- •Ч4_Опишите схему назначения приоритетов в ос WindowsNt.
- •Ч4_Опишите смешанный алгоритм планирования в ос WindowsNt.
- •Ч4_Опишите смешанный алгоритм планирования в ос unixSystemVRelease 4.
- •Ч4_Опишите смешанный алгоритм планирования в os/2.
- •Ч4_Опишите схему изменения приоритетов потоков и величины квантов при планировании в os/2.
- •Ч4_Перечислите события, требующие перераспределения процессорного времени и поясните действия планировщика ос в каждом случае.
- •Ч4_Опишите моменты перепланировки в среде ос рв.
- •Ч4_Какие дополнительные организационные трудности для ос создают прерывания?
- •Ч4_Как осуществляются диспетчеризация и учет приоритетов прерываний в ос?
- •Ч4_Как работает диспетчер прерываний?
- •Ч4_Как соотносятся приоритеты обработчиков прерываний и приоритеты потоков?
- •Ч4_Как согласуется диспетчеризация прерываний с диспетчеризацией потоков?
- •Ч4_Как организована диспетчеризация системных вызовов?
- •Ч4_Опишите схему организации системных вызовов с диспетчером системных вызовов.
- •Ч4_Опишите особенности и различия организации синхронных и асинхронных системных вызовов.
- •Ч4_Каковы цели взаимодействия процессов и потоков?
- •Ч4_Поясните суть и необходимость синхронизации процессов и потоков.
- •Ч4_Когда возникают гонки при выполнении потоков?
- •Ч4_Что такое «критическая секция», «критические данные», «взаимное исключение» потоков.
- •Ч4_Поясните суть использования блокирующих переменных.
- •Ч4_Поясните суть использования семафоров.
- •Ч4_Опишите пример использования семафоров при работе с буферным пулом записи/чтения.
- •Ч4_Поясните суть взаимных блокировок (тупиков).
- •Ч4_Чем тупики отличаются от очередей?
- •Ч4_Опишите идеи и средства выявления и устранения тупиков.
- •Ч4_Поясните сложность синхронизации потоков разных процессов.
- •Ч4_Какие методы используются в ос для разделения синхронизирующих объектов?
- •Ч4_Какие обычные объекты ос могут использоваться как синхронизирующие и какие события переводят их в сигнальное состояние?
- •Ч4_в чем состоит суть сигнального состояния синхронизирующего объекта ос?
- •Ч4_Приведите примеры сигнальных состояний для следующих синхронизирующих объектов: поток, процесс, файл.
- •Ч4_Что такое мьютекс и объект-событие?
- •Ч4_Поясните роль сигналов как синхронизирующих объектов.
-
Ч4_Поясните суть использования блокирующих переменных.
Блокирующие переменные. Для синхронизации потоков одного процесса прикладной программист может использовать глобальные блокирующие переменные, доступные всем его потокам. Каждому набору критических данных D ставится в соответствие двоичная переменная F, которой поток присваивает значение F(D)=0 при вхождении в критическую секцию или F(D)=1 – при выходе из нее. Пока F(D)=0, другой поток, циклически проверяя это, не может войти в критическую секцию. Блокирующие переменные могут использоваться при доступе к разделяемым ресурсам любого вида. При этом механизм прерываний ОС работает и в критических секциях, но с одним ограничением. Нельзя прерывать поток между выполнением операций проверки и установки значения блокирующей переменной (это обеспечивается аппаратными или системными средствами).
-
Ч4_Поясните суть использования семафоров.
Семафоры. Обобщением (двоичных) блокирующих переменных являются семафоры Д. Дийкстры – переменные, принимающие целые неотрицательные значения. Для работы с семафорами (S) вводятся два примитива, традиционно обозначаемых P и V, и операции
-
V(S): S:=S+1 (здесь ‘:=‘ – знак «присвоить»);
-
P(S): если S>0, то S:=S–1
Никакие прерывания и доступ к S во время выполнения примитивов V(S) и P(S) недопустимы. Частным случаем рассмотренного является двоичный семафор (блокирующая переменная). Операция P(S) способствует переходу вызывающего его потока в состояние ожидания, операция V(S) – активизации приостановленного операцией P(S) потока.
-
Ч4_Опишите пример использования семафоров при работе с буферным пулом записи/чтения.
Буферный пул здесь является критическим ресурсом. Использование блокирующей переменной вместо семафора не позволяет организовать доступ к критическому ресурсу более чем одному потоку. А это актуально, если требуется сделать запись и чтение данных критическими секциями и обеспечить взаимное исключение. Семафор же решает задачу более гибко, допуская к разделяемому пулу ресурсов заданное число потоков. В нашем примере с пулом могут работать до N потоков, часть из которых – «писатели», остальные – «читатели».
-
Ч4_Поясните суть взаимных блокировок (тупиков).
Существует и другая проблема синхронизации – взаимные блокировки или так называемые дедлоки (deadlocks), клинчи (clinches) или тупики, когда два и более потоков из-за занятости, запретов или ограничений доступа к ресурсам (памяти, УВВ) могут взаимно и неразрешимо мешать развитию друг друга [2-5]. Необходимым условием возникновения тупика является потребность потока сразу в нескольких ресурсах.
-
Ч4_Чем тупики отличаются от очередей?
Тупики следует отличать от очередей – нормального временного явления, демонстрирующего высокий коэффициент использования ресурсов при случайном поступлении запросов на них. Тупиковые ситуации же не могут разрешиться без воздействия извне, поэтому в составе ОС должны иметься средства заблаговременного предотвращения тупиков. Тупики должны предотвращаться при написании приложений. Запуск задачи, которая может вызывать тупик, временно откладывается. ОС может также использовать особые правила выделения ресурсов процессам, например, строго последовательно и полностью.