ОС_вопр_экз2008

advertisement
Вопросы к экзамену по курсу "Операционные системы",
группы П61–65
1) Операционная система: определение, назначение, основные функции.
2) Поколения операционных систем. Их характеристика, основные особенности.
3) Понятие ресурса. Классификация ресурсов (делимые, неделимые…). Основные виды
ресурсов (перечислить и охарактеризовать).
4) Последовательное выполнение программ. Активность, контекст активности.
Выполнение вызова и возврата из процедуры, функционирование сопрограмм.
5) Последовательная программа: стек выполнения, контекст процессора.
6) Способы классификации операционных систем (по назначению, по организации
работы, по архитектурным особенностям, по режиму обработки).
7) Однопрограммные и мультипрограммные вычислительные комплексы. Критерии
эффективности вычислительных систем (ВС). Классификация ВС в соответствии с
выбранным критерием.
8) Основные характеристики и особенности систем пакетной обработки, систем
разделения времени и систем реального времени. Критерии эффективности.
9) Прерывания. Механизм обработки прерываний. Типы прерываний: аппаратное,
программное, исключительная ситуация.
10) Маскирование
прерываний.
Дисциплины
обслуживания
прерываний
в
мультипрограммной системе.
11) Архитектура операционной системы. Требования к операционным системам.
12) Ядро и вспомогательные модули: характеристика, основные функции.
13) Многослойная структура ОС. Функции и характеристики слоев.
14) Принципы построения ядра. Монолитное ядро. Привилегии режима ядра.
Достоинства и недостатки классического подхода.
15) Принципы построения ядра. Микроядерная архитектура, ее особенности,
достоинства и недостатки. Привилегии режима ядра.
16) Системный вызов, особенности его реализации в микроядерной архитектуре.
Сравнение с классической архитектурой.
17) Понятия "процесс" и "поток". Создание и удаление процессов и потоков.
Параллельные процессы.
18) Основные состояния потока, схема смены состояний.
19) Подсистема управления процессами и потоками, ее функции и их реализация.
20) Планирование и диспетчеризация потоков: определение, основные задачи. Первая
задача. Статическое и динамическое планирование. Планирование в системах реального
времени (общая характеристика).
21) Смена активного потока – алгоритмы планирования (общая характеристика).
Вытесняющие и невытесняющие алгоритмы, их достоинства и недостатки.
22) Смена активного потока – алгоритмы планирования (общая характеристика). Виды
вытесняющих алгоритмов планирования, их краткое описание.
23) Особенности планирования в системах реального времени – критерии планирования,
планирование по предельному времени. Примеры.
1
24) Планирование и диспетчеризация потоков: определение, основные задачи. Вторая
задача планирования, классификация алгоритмов выбора потока на выполнение.
25) Планирование согласно приоритетам. Статические и динамические приоритеты.
Системы с относительными и абсолютными приоритетами. Примеры.
26) Взаимодействие процессов и потоков в мультипрограммной системе, их
синхронизация. Проблемы: гонки, тупики.
27) Взаимодействие процессов и потоков в мультипрограммной системе, понятие
критической секции. Пример эффекта гонок.
28) Способы реализации взаимного исключения – возможные варианты. Вариант с
жесткой синхронизацией, его недостатки.
29) Алгоритм Деккера реализации взаимного исключения, его достоинства и недостатки;
программная реализация.
30) Проблема взаимного исключения; концепция семафоров: определение семафорной
переменной, P- и V-примитивы.
31) Семафорные механизмы и способы их реализации. Пример взаимоисключения с
помощью семафора. Возможность возникновения тупиков, примеры.
32) Семафорные механизмы: определение, программная реализация. Виды семафоров.
33) Проблема производителя и потребителя. Синхронизация с помощью семафоров.
Случай с несколькими буферами.
34) Обмен сообщениями. Варианты синхронизации.
35) Почтовые ящики, конвейеры и очереди сообщений. Основные принципы
организации, различия; достоинства и недостатки.
36) Система управления памятью: ее назначение и функции.
37) Понятия физической и виртуальной памяти, соотношения их размеров. Схемы
организации памяти.
38) Схема простого непрерывного распределения памяти, ее достоинства и недостатки.
Оверлейные структуры.
39) Управление памятью в мультипрограммном режиме. Статическое и динамическое
разбиение памяти. Явление фрагментации.
40) Виртуальная память и механизмы преобразования адресов. Виды организации
памяти: сегментная, страничная память. Способы выделения памяти под новую задачу,
их достоинства и недостатки.
41) Сегментное преобразование памяти – достоинства и недостатки. Дескриптор
сегмента.
42) Страничное преобразование памяти – его особенности, достоинства и недостатки.
43) Сегментно-страничное преобразование памяти. Особенности, достоинства и
недостатки.
44) Стратегии управления вталкиванием, размещением и выталкиванием информации:
краткая характеристика; подробное описание стратегий одного из видов.
45) Алгоритмы выталкивания страниц, их достоинства и недостатки. Способы защиты
страниц.
46) Классические задачи теории ОС – общее описание, детализация одной из задач.
2
Третий вопрос билета: практическое задание
1) Привести пример программной реализации жесткой синхронизации процессов.
Объяснить недостатки такой схемы.
2) Привести пример программной реализации алгоритма Деккера.
3) Привести пример программной реализации семафорных примитивов.
4) Проиллюстрировать схему "производитель – потребитель" с использованием
активного ожидания.
5) Привести пример программной реализации синхронизации потоков с
использованием режима активного ожидания и флагов.
6) Привести пример эффекта "гонок" при доступе к разделяемым данным.
7) Пусть имеются три процесса X, Y, Z и три ресурса: P1 –устройство ввода, P2 –
устройство печати, P3 – диск. Процесс X требует ресурсы P1 и P2, процесс Y – P2 и
P3, процесс Z – P1 и P3. Скорости процессов различны. Процессы переходят из
активного состояния в пассивное произвольным образом. Решить задачу
синхронизации процессов с помощью семафоров.
8) Пусть имеются три процесса X, Y, Z и три ресурса: P1, P2, P3. Процесс X требует
ресурсы P1 и P2, процесс Y – P2 и P3, процесс Z – P1 и P3. … Решить задачу
синхронизации процессов с помощью семафоров. Возможно ли возникновение
тупика? Почему? Объяснить, привести пример.
9) Железная дорога, соединяющая города A и B, имеет участок с одним путем. Пусть
движение поездов из A в B и из B в A – процессы. Используя семафоры,
запрограммировать движение поездов таким образом, чтобы в любой момент
времени по единственному пути поезда двигались только в одном направлении, т.е.
исключить аварии. Предполагать, что число поездов в "критической секции" в одном
направлении не ограничено.
10) Железная дорога, соединяющая города A и B, имеет участок с одним путем. Пусть
движение поездов из A в B и из B в A – процессы. Используя семафоры,
запрограммировать движение поездов таким образом, чтобы в любой момент
времени по единственному пути поезда двигались только в одном направлении.
Рассмотреть проблему бесконечного ожидания, варианты ее решения.
11) Запрограммировать схему "клиенты – официант", используя семафорную
переменную. Процесс-официант выполняет запрос на обслуживание процессаклиента. Процессов-клиентов может быть много, но в любой момент времени может
обслуживаться только один из них. При отсутствии клиентов официант находится в
режиме ожидания. Рассмотреть варианты с ограничением количества обслуживаемых
клиентов (количество посадочных мест ограничено).
12) Запрограммировать схему "клиенты – официант", используя семафоры. Процессофициант выполняет запрос на обслуживание процесса-клиента. Процессов-клиентов
может быть много, но в любой момент времени может обслуживаться только один из
них. Распространить схему на случай нескольких официантов, причем запрос на
услугу может выполняться любым из них.
13) Запрограммировать схему "клиенты – официант", используя семафоры.
Распространить схему на случай нескольких официантов, причем запрос на услугу
может выполняться любым из них. Предусмотреть возможность появления клиента,
3
который должен обслуживаться немедленно (т.е. предусмотреть два уровня
приоритетов).
14) Запрограммировать схему "читатели – писатели", используя семафорные
переменные. Рассмотреть вариант, когда "писатели" имеют приоритет перед
"читателями", т.е. новые "читатели" могут присоединяться к уже читающим только в
том случае, когда очередь ожидающих "писателей" пуста. В противном случае
читатели должны тоже организовывать очередь.
15) Запрограммировать схему "читатели – писатели", используя семафорные
переменные. … Рассмотреть вариант, когда "писатели" имеют приоритет перед
"читателями". Количество одновременно читающих ограничить некоторой
величиной (размер читального зала – количество посадочных мест).
16) Запрограммировать схему "читатели – писатели", используя семафорные
переменные. Рассмотреть вариант, когда "читатели" имеют приоритет перед
"писателями", т.е. "писателю" разрешается вход в критическую секцию только в том
случае, когда нет "читателей", претендующих на вход. В противном случае они
должны организовывать очередь.
17) Использовать семафоры для синхронизации процессов, один из которых в
процессе своей работы посылает другому сообщение, а тот, в свою очередь, для
продолжения своей работы должен дождаться сообщения от первого процесса.
18) Задача о "спящем парикмахере". Парикмахерская состоит из комнаты ожидания и
салона. Через входную дверь и дверь между залом ожидания и салоном можно
проходить только по одному. Дверь в виде скользящей перегородки располагается
всегда таким образом, что один из проходов оказывается закрытым. После того, как
парикмахер закончит обслуживание одного клиента, он приглашает войти
следующего; если зал ожидания пуст, он садится в кресло в зале ожидания и дремлет.
Если клиент находит парикмахера заснувшим, он будит его; в противном случае он
ждет своей очереди в зале ожидания. Написать решение этой задачи при помощи
семафоров.
19) Задача о "спящем парикмахере". … Написать решение этой задачи при помощи
семафоров. Предполагать, что в зале ожидания может помещаться только некоторое
ограниченное количество клиентов (в соответствии с количеством кресел).
20) Задача о "спящем парикмахере". … Написать решение этой задачи при помощи
семафоров. Рассмотреть случай, когда в салоне работает несколько парикмахеров.
21) Задача о "спящем парикмахере". … Написать решение этой задачи при помощи
семафоров. Предполагать, что могут быть клиенты, которые обслуживаются вне
очереди, т.е. предусмотреть два уровня приоритетов.
22) Пусть кассир на железной дороге осуществляет прием заказов и продажу билетов
при помощи электронной системы резервирования билетов. Выбрать схему, согласно
которой протекает этот процесс, и запрограммировать его. Необходимо учитывать
тот факт, что внесение изменений в базу данных выполняется только после
считывания из нее информации, причем в зависимости от результатов чтения
возможен отказ от покупки билета или согласие на нее.
23) Задача о заказах и продаже билетов при помощи электронной системы
резервирования билетов. … В зависимости от результатов чтения возможен отказ от
покупки билета или согласие на нее. Предусмотреть ограничение на количество
одновременно обслуживаемых запросов, поступающих из разных касс.
4
Download