- •Часть 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_Поясните роль сигналов как синхронизирующих объектов.
2)_Ч6Опишите необходимость и организацию параллельной работы увв и процессора, согласования скоростей обмена и кэширования.
Каждое УВВ ВС снабжено специализированным блоком управления – контроллером, который взаимодействует с драйвером – системным программным модулем, предназначенным для управления данным устройством. Контроллер периодически принимает от драйвера выводимую на УВВ информацию, а также команды управления, определяющие, что с этой информацией надо сделать (например, вывести в определенную область экрана или записать в определенный сектор диска). Под управлением контроллера УВВ может некоторое время выполнять свои операции автономно, без участия центрального процессора и, следовательно, возможно, параллельно с ним.При обмене данными (через ОП или в случае ввода-вывода) всегда возникает задача согласования скорости, поскольку скорости генерации данных и их чтения обычно не совпадают. Согласование скоростей обычно достигается за счет буферизации данных в ОП и синхронизации доступа процессов к буферу. Буферизация данных позволяет не только согласовать скорости работы процессора и УВВ, но и уменьшить число реальных операций ввода-вывода за счет кэширования данных. Дисковый кэш входит в состав подсистем ввода-вывода практически всех ОС, значительно сокращая время доступа к хранимым данным.
3)_Ч6Опишите необходимость и организацию разделения увв и данных между процессами, логического интерфейса между увв и остальной частью ос.
УВВ могут предоставляться процессам в монопольное или совместное (разделяемое) использование. При этом ОС должна обеспечивать контроль доступа теми же способами, что и при доступе процессов к другим ресурсам ВС – путем проверки прав пользователя или группы, от имени которых действует процесс, на выполнение данной операции над УВВ. Например, определенной группе пользователей разрешено захватывать последовательный порт в монопольное владение, а другим пользователям это запрещено.
ОС может контролировать доступ не только к УВВ в целом, но и к отдельным порциям данных, хранимых или отображаемых этим устройством, например, к отдельным каталогам и файлам диска, окнам на экране дисплея и т.д. При этом для каждой порции данных или части устройства могут быть заданы свои права доступа, не связанные прямо с правами доступа к устройству в целом. Одни УВВ могут работать как в монопольном режиме, так и в разделяемом, другие – только в одном из них. ОС должна предоставлять УВВ в обоих режимах, отслеживая процедуры захвата и освобождение монопольно используемых устройств, а в случае совместного использования оптимизируя последовательность операций ввода-вывода для различных процессов в целях повышения общей производительности, если это возможно. Например, при обмене данными нескольких процессов с диском можно так упорядочить последовательность операций, что непроизводительные затраты времени на перемещение головок существенно уменьшатся (правда, с возможным замедлением операции ввода-вывода для отдельных процессов).
При разделении УВВ между процессами может возникнуть необходимость в разграничении порции данных двух процессов друг от друга. Так бывает при совместном использовании устройств последовательного доступа, данные в которых не адресуются, в отличие от устройств прямого доступа. Например, это принтер (УВВ последовательного доступа), который не выделяется в монопольное владение процессам, но должен печатать каждый документ в виде последовательного набора страниц. Для подобных устройств организуется очередь заданий на вывод, причем каждое задание представляет собой порцию данных, которую нельзя разрывать (документ). Для хранения очереди заданий используется спул-файл, который одновременно согласует скорости работы принтера и ОП и позволяет организовать разбиение данных на логические порции. Поскольку спул-файл находится на разделяемом устройстве прямого доступа (диске), процессы могут одновременно выполнять вывод на принтер, помещая данные в свой раздел спул-файла.
Обеспечение удобного логического интерфейса между УВВ и остальной частью ОС. Разнообразие УВВ делает особенно актуальной функцию ОС по созданию экранирующего логического интерфейса между периферийными устройствами и приложениями. Почти все ОС поддерживают в качестве его основы файловую модель, когда любое УВВ выглядит для прикладного программиста как последовательный набор байтов, с которым можно работать с помощью унифицированных системных вызовов (например, read и write), задавая имя файла-устройства и смещение от начала последовательности байтов. Для поддержки такого удобного интерфейса подсистема ввода-вывода должна проделать немалую работу, учитывая разницу в организации операций обмена данными, например, с жестким диском и с графическим терминалом.
Файловая модель обычно используется как простая базовая основа, на которой подсистема ввода-вывода строит более содержательную модель УВВ конкретного типа. Подсистема ввода-вывода, как правило, предоставляет специфический интерфейс для вывода графической информации на дисплей или принтер, для программирования операций сетевого обмена и т.п. При этом разработчик специфического интерфейса всегда может опираться на имеющийся базовый интерфейс.