Вопросы к зачету Файл

advertisement
1
1.
1 Изобразите
диаграмму
состояний
процесса,
поясните все возможные переходы из одного
состояния в другое.
2 Объясните значения следующих терминов: task
(задача), process (процесс), thread (поток, нить).
Как они между собой соотносятся?
3 Для чего каждая задача получает соответствующий
дескриптор? Какие поля, как правило, содержатся
в дескрипторе процесса (задачи)? Что такое
«контекст задачи»?
4 Объясните понятие ресурса. Какие виды и типы
ресурсов вы знаете?
5 Перечислите
дисциплины
обслуживания
прерываний; объясните, как можно реализовать
каждую из этих дисциплин.
6 С какой целью в ОС вводится специальный
системный
модуль,
иногда
называемый
супервизором прерываний?
7 В чем заключается различие между повторновходимыми
(re-entrance)
и
повторнопрерываемыми
(re-enterable)
программными
модулями? Как они реализуются?
2. Управление задачами и памятью в ОС
8 Оперативная память. Что зависит от механизма
распределения памяти.
9
2
10. Основные функции ОС.
11. Диспетчеризация. Долгосрочный и краткосрочный
планировщики.
12Дисциплины диспетчеризации. Основные классы
дисциплин. Часто используемые дисциплины
(FCFS, SJN, SRT, RR).
13. Вытесняющие и не вытесняющие алгоритмы
диспетчеризации.
14.
Качество
обслуживания/
диспетчеризации
15. Диспетчеризация задач
динамических приоритетов.
с
и
гарантии
использованием
16. Память и отображения, виртуальное адресное
пространство.
17. Виды разбиения памяти. Для чего служит
свопинг?
18. Как можно избавиться от фрагментации.
19. Идея разрывных методов распределения памяти.
20. Сегментный способ организации виртуальной
памяти
21. Что такое дескриптор сегмента? Недостатки
сегментного способа.
22. Страничный способ организации виртуальной
памяти.
3
23. Сегментно-страничный
виртуальной памяти.
способ
24.
Распределение
оперативной
современных ОС для ПК.
организации
памяти
в
3.
25. Как в реальном режиме работы микропроцессоров
i80x86
осуществляется
преобразование
виртуального адреса в физический?
26. Как в микропроцессорах i80x86 реализована
поддержка сегментного способа организации
виртуальной памяти?
4.
27. Что означает термин «spooling» и что означает
термин «swapping»?
28.
Чем
обеспечивается
независимость
пользовательских
программ
от
устройств
ввода/вывода, подключенных к компьютеру?
29. Основные системные таблицы ввода/вывода.
30. Что такое
ввод/вывод?
синхронный
и
асинхронный
31.
Расскажите
о
кэшировании
операций
ввода/вывода при работе с накопителями на
магнитных дисках.
5.
32. Перечислите и поясните основные принципы
4
построения операционных систем.
33. Расскажите об основных моментах, характерных
для микроядерных ОС. Какие основные функции
должно выполнять микроядро ОС?
34.
Перечислите
предъявляемые
к
реального времени.
основные
требования,
операционным
системам
35. Какие задачи возлагаются на интерфейс
прикладного программирования (API)?
36. Какими могут быть варианты реализации API? В
чем заключаются достоинства и недостатки
каждого варианта?
37. Что такое библиотека времени выполнения (RTL)?
38. Что такое POSIX? Какими преимуществами
обладают программы, созданные с использованием
только стандартных функций, предусмотренных
POSIX?
6.
39. Какие последовательные вычислительные
процессы мы называем параллельными и почему?
Какие
параллельные
процессы называются
независимыми, а какие — взаимодействующими?
40. Изложите алгоритм Деккера, позволяющий
разрешить проблему взаимного исключения путем
использования одной только блокировки памяти.
5
41Объясните команду «проверка и установка».
42Расскажите
о
семафорах
Дейкстры.
обеспечивается
взаимное
исключение
выполнении Р- и V- примитивов?
Чем
при
43Изложите,
как
могут
быть
реализованы
семафорные примитивы для мультипроцессорной
системы.
44Что такое мьютекс (mutex)?
45Изложите алгоритм решения задачи «поставщик —
потребитель» при использовании семафоров
Дейкстры.
46Изложите алгоритм решения задачи «читатели —
писатели» при использовании семафоров Дейкстры.
47Что такое «монитор Хоара»? Приведите пример
такого монитора.
48Что представляют собой «почтовые ящики»?
49Что
представляют
(программные каналы)?
собой
«конвейеры»
50. Что представляют собой «очереди сообщений»?
Чем отличаются очереди сообщений от почтовых
ящиков?
7.
51Что такое тупиковое состояние? Перечислите
условия, при которых возникает тупик.
52Что является причиной возникновения тупиков на
6
SR-pecypcax? Пример тупика на ресурсах типа SR
53.Приведите пример графа повторно используемых
ресурсов. Что позволяет сделать эта модель Холта?
54Что представляет собой «предотвращение тупика»?
Как его можно реализовать?
55Что представляет собой «обход тупика»? Приведите
алгоритм банкира Дейкстры.
56Что такое «опасное состояние»? Приведите пример
опасного состояния на модели состояний системы.
57Изложите алгоритм обнаружения тупика
наличию замкнутой цепочки запросов.
по
8.
58Изложите основные архитектурные особенности ОС
UNIX.
59Перечислите и поясните основные понятия системы
UNIX.
60Что делает системный вызов fork()? Каким образом
осуществляется в UNIX запуск новой задачи?
61Изложите основные моменты, связанные с защитой
файлов в UNIX.
Сетевая ОС реального времени QNX:
62Дайте
определения
следующим
понятиям:
предсказуемость,
масштабируемость
и
эффективность, расширяемость и надежность.
7
63Что такое быстрый сетевой протокол FLEET1?
64Расскажите о Компактной графической подсистеме
Photon.
65Какие функции реализует ядро QNX?
66В чем вы видите принципиальные отличия между
ядром Windows NT 4.0, которое считают
построенным по микроядерным принципам, от
ядра QNX?
67Расскажите об основных механизмах, которые
имеются в QNX для организации распределенных
вычислений.
68Какие функции реализует ядро QNX?
69В чем вы видите принципиальные отличия между
ядром Windows NT 4.0, которое считают
построенным по микроядерным принципам, от
ядра QNX?
70Расскажите об основных механизмах, которые
имеются в QNX для организации распределенных
вычислений.
71Архитектура системы QNX:
14.
72
73
Какие задачи в компиляторе решает
семантический анализ? Можно ли построить
компилятор без семантического анализатора?
Почему в
большинстве
компиляторов
8
помимо генерации результирующего объектного кода
выполняется еще и оптимизация его? Можно ли
построить компилятор, исключив фазу оптимизации
кода?
74
От чего зависит эффективность объектного
кода, построенного компилятором? Влияют ли на
эффективность результирующего кода синтаксис и се
мантика исходного языка программирования?
75
Какой
из
двух
основных
методов
оптимизации: машинно-зависимый или машиннонезависимый может порождать более эффективный
результирующий код? Как сочетаются эти два метода
оптимизации в компиляторе?
76
Почему линейные участки легче поддаются
оптимизации, чем все другие части внутреннего
представления программы и объектного кода?
Download