Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы к экзамену СМО(ответы. Еличева).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
8.96 Mб
Скачать

Как все это работает вместе

Маркер доступа идентифицирует процесс (и его потоки) для ОС, тогда как деск­риптор защиты перечисляет, какие процессы (или группы процессов) имеют дос­туп к объекту. Когда поток открывает описатель объекта, диспетчер объектов и система защиты сопоставляют эту информацию, чтобы определить, следует ли предоставить вызывающему потоку запрашиваемый им описатель.

На рис. 3-12 показано, что происходит, когда пользователь LEES открыва­ет описатель, запрашивая доступ синхронизации к объекту-событию.

Проверяя ACL, система защиты просматривает список, начиная с первого АСЕ. Когда она находит идентификатор защиты вызывающего или его группы, она останавливает поиск и проверяет, разрешает ли данный АСЕ доступ запра­шиваемого типа. Если АСЕ, разрешающий доступ, найден, то поиск прекращает­ся, и вызывающему возвращается описатель. Если система достигает конца спис­ка, не найдя идентификатора защиты вызывающего или его группы, то доступ запрещается.

На рис. 3-12 ACL объекта-события разрешает LEES доступ синхронизации в своем первом элементе. Так как LEES запрашивал именно этот тип доступа, система защиты немедленно прекращает поиск, и диспетчер объектов возвра­щает LEES описатель, имеющий доступ синхронизации к данному событию. Обратите внимание, что третий АСЕ запрещает LEES доступ синхронизации на основании членства LEES в группе ТЕАМ2. Однако из-за порядка расположения АСЕ в ACL в данном случае третий АСЕ игнорируется. (Это несколько надуманный пример, так как система в общем случае помещает АСЕ, запрещающие до­ступ, в начало списка.)

Рис. 3-12. Проверка прав доступа к объекту.

Делать такую проверку при всяком использовании описателя процессом было бы неэффективно. ACL может содержать много записей, процесс может за время своей работы осуществлять доступ ко многим объектам, и одновременно могут быть активными несколько процессов. Поэтому проверка осуществляется только при открытии описателя, но не при всяком его использовании. (Обрати­те внимание, что поскольку код в режиме ядра использует для доступа к объек­там указатели, а не описатели, то проверка прав доступа не производится, когда объект используется самой ОС. Другими словами, исполнительная система NT "доверяет" самой себе в смысле защиты.)

Когда LEES воспользуется описателем в следующий раз, диспетчер объек­тов просто сравнит предоставленный доступ (синхронизацию), хранящиеся в описателе, с типом доступа, который подразумевается вызываемым сервисом. Если вызывается сервис ожидания, то вызов будет успешным. Если же будет вы­дан запрос на установку события, то сервис потерпит неудачу. Для того, чтобы запросить установку события, LEES следовало запросить при открытии первого описателя доступ как синхронизации, так и изменения состояния; или же теперь нужно открыть новый описатель, запрашивая доступ изменения состояния.

Заметьте, что после того, как процесс успешно открыл описатель, предо­ставленные ему права доступа не могут быть отозваны системой защиты, даже если изменился ACL объекта. Ему по-прежнему приписывается старый описа­тель, так как разработчики решили, что эффективные проверки защиты важнее, чем возможность отзыва прав доступа. Последнее потребовало бы полной про­верки прав доступа при всяком использовании описателя, а не только при его первоначальном задании, как это делается сейчас. Повышение производительно­сти, достигаемое за счет запоминания предоставленных прав доступа непосред­ственно в описателе, довольно велико, особенно для объектов с длинным ACL.

Процессы

и потоки:

  1. Процессы: общие сведения, адресное пространство.

  2. Набор ресурсов, объект-процесс.

  3. Поток. Многозадачность и мультипроцессорная обработка.

  4. Многопоточность.

  5. Объект-поток.

Синхронизация процессов

и потоков:

  1. Синхронизация процессов и потоков.

  2. Оповещения и асинхронные вызовы процедур.

  3. Структура процессов. Требования подсистем среды.

  4. Базовая структура процессов. Управление клиентскими процессами. Предотвращение неправильного использования.

Защищенные подсистемы:

  1. Windows NT и защищенные подсистемы. Общие сведения.

  2. Модель клиент-сервер. Поддержка нескольких сред.

  3. Защита памяти.

  4. Производительность.

  5. Взаимодействие с подсистемами. Регистрация пользователя.

  6. Выполнение приложений.

Сетевое Математическое Обеспечение (СМО)

вопросы к экзамену

Подсистема Win32:

  1. Подсистема Win32. 32-х разрядный API.

  2. Структура.

  3. Конструктивные изменения.

  4. API: MS-DOS и 16-ти разрядной Windows. Виртуальные DOS-машины.

  5. ОС Windows на Win32.

Передача сообщений LPC:

  1. Передача сообщений при помощи механизма LPC. Объект-порт.

  2. Способы передачи: копирование в порт, через совместно используемую память.

  3. Обратные вызовы. Быстрый LPC.

Виртуальная память:

  1. Диспетчер. Виртуальная память.

  2. Средства пользовательского режима:

управление памятью, совместное использование.

  1. Совместное использование: секции, проекции и проецируемые файлы.

  2. Объект-секция. Способы защиты памяти.

  3. Собственная память процесса. Совместное использование памяти.

Реализация виртуальной памяти:

  1. Адресное пространство. Подкачка страниц.

  2. Механизмы подкачки страниц.

  3. Стратегия подкачки и рабочие наборы.

  4. Базы данных страничных фреймов.

  5. Дескрипторы виртуальных адресов.

Мультипроцессорная обработка и переносимость.

Ядро:

  1. Ядро: общие сведения. Планирование потоков.

  2. Объекты: процесс ядра и поток ядра.

  3. Приоритеты планирования. Переключение контекста.

  4. Обработка прерываний и исключений. Обработчик ловушки.

Распределение прерываний. Типы и приоритеты прерываний.

Обработка прерываний

и исключений:

  1. Таблица распределения прерываний. Программные прерывания.

Прерывания асинхронного вызова процедур (APC).

  1. Распределение: исключений, вызовов системных сервисов.

  2. Синхронизация: многопроцессорная, на уровне ядра.

  3. Синхронизация на уровне исполнительной системы.

Восстановление после сбоя питания.

Сеть:

  1. Сеть в Windows NT. История. Опорная модель OSI.

  2. Сетевые API. Разрешение имен.

  3. Встроенные сетевые компоненты: редиректор, сервер.

  4. Открытая архитектура. Доступ пользовательского режима:

маршрутизатор для API Wnet, многосетевой UNC для файлового I\O Win32.

  1. Транспортные протоколы. Среда NDIS для сетевых драйверов.

  2. Среда распределенных вычислений. RPC. Именованные каналы.

  3. Корпоративные сети и распределенная защита.