- •Список вопросов для подготовки к экзамену по сппо (2013-2014 уч. Год)
- •Понятие программного обеспечения (по). Классификация программного обеспечения по выполняемым функциям, структура системного по. Основные свойства системного программного обеспечения.
- •1)Управление процессами (программ во время выполнения);
- •Классификация ос (по структуре и архитектурным принципам построения, по режимам работы). Примеры.
- •Программные методы реализации взаимного исключения: примеры на псевдокоде, анализ и сравнение вариантов. Примеры.
- •Понятие семафора, семафорные примитивы, бинарные и считающие семафоры. Примеры объектов диспетчеризации в ms Windows, которые могут использоваться как «семафоры».
- •Применение бинарных семафоров для реализации взаимного исключения и синхронизации процессов. Примеры.
- •Общие семафоры, решение задачи «писателей и читателей» при работе с циклическим буфером. Сравнить варианты решения.
- •Проблема тупика и задачи, связанные с решением проблемы тупика: формулировки задач и подходы к решению. Примеры.
- •Задача предотвращения тупика, подходы к решению, анализ Примеры.
- •Модель системы с повторно используемыми ресурсами (граф повторно используемых ресурсов). Примеры.
- •Модель системы с потребляемыми ресурсами (граф потребляемых ресурсов). Примеры.
- •Система с повторно используемыми и потребляемыми ресурсами (граф обобщённых ресурсов). Примеры.
- •Решение задачи распознавания тупика для систем с повторно используемыми ресурсами: основная теорема о тупике. Алгоритм редукции. Примеры редукции.
- •Распознавание тупиков в системах с повторно используемыми ресурсами с ограничениями на выполнение операций. Примеры.
- •Распознавание тупиков в системах с потребляемыми ресурсами и в системах с обобщёнными ресурсами: алгоритм редукции. Примеры.
- •Распознавание тупиков в системах с потребляемыми ресурсами и в системах с обобщёнными ресурсами: системы с ограничениями на выполнение операций. Примеры.
- •Вывод системы из тупика. Общий подход к решению задачи и частный случай.
- •Обходы тупиков. Алгоритм банкира. Примеры.
- •Иерархия запоминающих устройств вс, характеристики устройств и связь, механизмы создания иерархии. Примеры.
- •Способы распределения памяти: статическое и динамическое распределение, связные и несвязные распределения. Сравнение.
- •Сегментная организация памяти. Страничная организация памяти. Сегментно-страничная организация памяти. Аппаратная поддержка в процессорах Intel.
- •Общие принципы организации виртуальной памяти. Управление виртуальной памятью: стратегии загрузки, стратегии размещения, стратегии замещения. Пример реализации в Intel.
- •Средства защиты памяти: изоляция адресных пространств. Поддержка в Intel.
- •Средства защиты памяти: защита по уровням привилегий, привилегированные команды и команды, чувствительные к уровням привилегий). Поддержка в Intel.
- •Статическая и динамическая компоновка программ: определение, сравнение и примеры.
- •Упрощённая структура объектного модуля и принцип работы связывающего загрузчика, редактора связей (одно- и двухпроходовые). Упрощённая структура исполнимого файла.
- •Понятие прерывания, классификация прерываний. Примеры (Intel).
- •Общая схема обработки прерываний, программно-аппаратная реализация, аппаратная поддержка механизма прерываний в Intel.
- •Структурная схема обработки исключений в Windows (seh): обработка завершения и локальная раскрутка.
- •Структурная схема обработки исключений в Windows (seh): обработка исключений и глобальная раскрутка.
- •Определение файла, атрибуты файлов и именование файлов, понятие каталога (справочника, директории, папки). Примеры.
- •Понятие и функции файловой системы как подсистемы ос.
- •Логическая и физическая организация файлов. Буферизация ввода/вывода. Примеры.
- •Логическая организация файлов: файлы с последовательной организацией и индексированные файлы. Поиск на внешних устройствах, b-деревья: определение и построение, выполнение операций. Примеры.
- •Управление внешней памятью: карты памяти и списки. Примеры (fat, ntfs).
- •Управление вводом/выводом, понятие драйвера внешнего устройства, драйверы виртуальных устройств.
- •Понятие драйвера файловой системы. Иерархическая организация файловых систем. Примеры.
- •Понятие защищённой вс. Классификация угроз и вторжений. Структура системы защиты.
- •Контроль прав доступа и матрица прав доступа как математическая модель защиты объектов. Примеры: одноранговое разделение ресурсов и защита на уровне пользователей.
- •Криптографическая защита. Понятие ключа. Симметричное и асимметричное шифрование. Понятие криптографического протокола. Понятие цифровой подписи.
- •Примеры задач по обработке исключений
- •Задания по разработке командных файлов и изучение команд пакетной обработки
- •Задачи на использование программных методов решения проблемы взаимного исключения
- •Задачи на работу с семафорами
- •Решение:
- •Решение:
- •Задачи на понимание алгоритмов решения задач, связанных с тупиками
- •Задачи на анализ состояний системы для выявления тупиков
- •Задачи по теме «Хранение и поиск информации на взу»
- •Файлы для подготовки
Распознавание тупиков в системах с повторно используемыми ресурсами с ограничениями на выполнение операций. Примеры.
Алгоритм редукции для распознавания тупика может быть выполнен простым перебором всех вершин, соответствующих процессам, с выполнением редукции по незаблокированным процессам, имеющим запросы и/или владеющим ресурсами.
Более эффективный алгоритм может быть построен, если хранить дополнительную информацию о запросах, например, счетчики блокирующих запросов, и упорядочить запросы на ресурсы по их величинам.
Приведенный алгоритм позволяет распознать тупик в системе с повторно используемыми ресурсами, но он требует моделировать выполнение операций по изменению состояния системы. При этом исходное реальное состояние системы не должно измениться, поэтому выполнение этого алгоритма предполагает использование копии информации о системе (для каждого процесса необходимо дублировать информацию о дугах запросов и распределений, так как они могут быть “удалены” в процессе редукции, для каждой вершины, представляющей ресурс, - пометку). Таким образом, алгоритм редукции увеличивает накладные расходы системы.
Ограничения, накладываемые на число запрашиваемых единиц ресурса, на количество запрашиваемых одновременно ресурсов, дают возможность сформулировать более простые условия для распознавания тупика, на основании которых могут быть построены более эффективные алгоритмы, не требующие моделировать изменения текущего состояния системы.
Один из алгоритмов применим для распознавания тупика в системе, находящейся в выгодном состоянии.
Распознавание тупиков в системах с потребляемыми ресурсами и в системах с обобщёнными ресурсами: алгоритм редукции. Примеры.
Для систем с потребляемыми ресурсами алгоритм редукции выполняется иначе - сокращение графа процессом pi состоит из следующих операций:
удовлетворить все запросы процесса pi и удалить все ребра запросов (pi, Rj), исходящие из вершины, представляющей pi, уменьшив соответствующие пометки вершин (счетчики доступных единиц), представляющих выделенные ресурсы, на величины выполненных запросов;
для всех потребляемых ресурсов Rj таких, что процесс pi является их производителем, удалить все ребра (Rj, pi) производителей, освободив при этом достаточное количество ресурсов для удовлетворения всех имеющихся на них запросов от всех процессов в системе (для того чтобы не усложнять работы вычислением этого числа, введем специальное число такое, что для любого целого k выполняются условия: > k, + k = - k = ), пометку вершин, для которых данный процесс был производителем, заменяем на .
Для системы с потребляемыми ресурсами не выполняется приведенная выше лемма, то есть порядок сокращений при редукции графа потребляемых ресурсов в общем случае влияет на результат редукции (полученные после всех возможных сокращений несокращаемые графы потребляемых ресурсов могут быть различными). Пример результатов выполнения различных цепочек сокращений приведен на рис.2.14.
Так как теорема о тупике, сформулированная для систем с повторно используемыми ресурсами, основывалась на лемме, то для систем с потребляемыми ресурсами она также не будет верной. На рис.2.15 показан граф, который показывает состояние системы, которое не является тупиковым, но и граф не является полностью сокращаемым.
1
1 2
P 1 1 R1 P2 R2 P3
1 1
(а)
P1 R1 P2 R2 P3
(б)
1
P 1 1 R1 P2 R2 P3
0
(в)
Рис.2.14. Пример сокращений графа потребляемых ресурсов:
(а) исходный граф;
(б) результат редукции, начатой процессом p1;
(в) результат редукции, начатой процессом p2
P
1
P2
1 1
1
1
1 R1 R2 1
Рис.2.15. Пример графа ПР для состояния системы, из которого каждый
из двух процессов может попасть в тупик
Для систем с потребляемыми ресурсами можно проверить, не находится ли конкретный процесс в тупике, алгоритм для поверки дает следующая теорема:
Процесс pi не находится в тупике в системе с потребляемыми ресурсами тогда и только тогда, когда существует последовательность сокращений, приводящая к графу, представляющему систему в состоянии, в котором данный процесс не заблокирован.
Чтобы распознать тупик, необходимо искать различные последовательности сокращений для каждого процесса, что является трудоемкой задачей.
Обнаружение тупика значительно упрощается, если в системе есть ограничения на запросы и их выполнение.
Для систем с CR-ресурсами в выгодном состоянии наличие узла в графе, представляющем состояние системы, является достаточным условием тупика, как и для систем с ресурсами типа SR.
Для систем с ресурсами двух типов для распознавания тупика можно использовать две самые общие теоремы:
1. Процесс не находится в тупике в системе с обобщенными ресурсами тогда и только тогда, когда существует последовательность сокращений, приводящая к графу обобщенных ресурсов, представляющему состояние системы, в котором данный процесс незаблокирован.
2. Если состояние системы выгодное, то узел в графе обобщенных ресурсов является достаточным условием тупика
Первая теорема дает правило распознавания тупика для каждого отдельного процесса, но ее применение слишком трудоемко. Вторая теорема дает наиболее общий способ распознавания тупика, но ее применение требует соблюдения ограничений на порядок выполнения запросов.
