Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОСы - ответы (КБ-71).doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
7.88 Mб
Скачать

Модели разграничения доступа.

Мандатное управление доступом  — разграничение доступа субъектов к объектам, основанное на назначении метки конфиденциальности для информации, содержащейся в объектах, и выдаче официальных разрешений (допуска) субъектам на обращение к информации такого уровня конфиденциальности. 

Дискреционная модель разграничения доступа  — управление доступом субъектов к объектам на основе списков управления доступом или матрицы доступа.

Ролевая модель доступа — модель доступа в которой доступа субъектов системы на объекты группируются с учетом специфики их применения, образуя роли.

Аудит.

Процедура аудита применительно к операционным системам за­ключается в регистрации в специальном журнале, называемом журналом аудита или журналом безопасности, событий, которые могут представ­лять опасность для операционной системы.

Подсистема аудита операционной системы должна удовлетворять следующим требованиям:

  1. Только сама операционная система может добавлять записи в журнал аудита.

  2. Ни один субъект доступа, в том числе и сама операционная сис­тема, не имеет возможности редактировать или удалять отдельные записи в журнале аудита.

  3. Только пользователи, обладающие соответствующей привилегией, могут просматривать журнал аудита.

  4. При необходимости очистки журнала аудита делается его архивная копия и только после этого он очищается.

  5. При переполнении журнала аудита операционная система ава­рийно завершает работу.

  6. Для обеспечения надежной защиты операционной системы в журнале аудита должны обя­зательно регистрироваться следующие события: попытки входа/выхода пользователей из системы; попытки изменения списка пользователей; попытки изменения политики безопасности, в том числе и политики аудита.

25. Субъекты в операционных системах (основные определения, содержимое дескрипторов процессов и потоков, переключение процессов и потоков).

Процесс в ОС является динамическим объектом, описывающим выполнение программы. Процессом - экземпляр выполняемой программы. Процессу выделяются системные ресурсы: адресное пространство, семафоры, коммуникационные порты, файлы и т.д. Процесс характеризуется текущим состоянием (выполнение, ожидание, готовность и т.д.). В современных операционных системах реализована виртуальная память процессов. Каждый процесс исполняется в собственном адресном пространстве и не может непосредственно обращаться к памяти других процессоров. Такая изоляция процессов друг от друга обеспечивается механизмами операционной системы и поддерживается на аппаратном уровне в современных процессорах. Каждому процессу соответствует контекст, в котором он выполняется. Этот контекст включает пользовательский контекст, содержимое аппаратных регистров — регистровый контекст (регистр счетчика команд, регистр состояния процессора, регистр указателя стека и регистры общего назначения), а также структуры данных ядра (контекст системного уровня), связанные с этим процессом.

Каждый процесс в любой момент времени находится в одном из нескольких определенных состояний: инициализация, исполнение, приостановка, ожидание ввода-вывода, завершение и т. п.

Рисунок 1. Состояние процесса в Unix

Для операционной системы UNIX характерно особое состояние процесса  зомби. Процесс получает это состояние, если он завершился раньше, чем этого ожидал его родительский процесс. В UNIX перевод процессов в состояние зомби служит для корректного завершения группы процессов, освобождения ресурсов и т. п.

Поток – субъект ОС функционирующий в рамках процесса, получающий процессорное время для выполнения. Поток включает содержимое набора переменных регистров, отражающих состояние процессора, стек (обычно их несколько), закрытую область памяти, а также уникальный идентификатор потока. Обычно каждый процесс начинается с одного потока, а остальные (при необходимости) создаются в ходе выполнения. Потоки составляют основу планирования и могут: выполняться на одном из процессоров, ожидать события или находиться в каком-то ином состоянии.

Рисунок 2. Упрощенная диаграмма состояний потоков в ОС Windows.

Каждый процесс в Windows представлен блоком процесса, создаваемым исполнительной системой (EPROCESS). Кроме многочисленных атрибутов, относящихся к процессу, в блоке EPROCRESS содержаться указатели на некоторые структуры данных. Так, у каждого процесса есть один или более потоков, представляемых блоками потоков исполнительной системы (ETHREAD). Блок EPROCESS и связанные с ним структуры данных - за исключением блока переменных окружения процесса (PEB) - существуют в системном пространстве. PEB находится в адресном пространстве процесса, так как содержит данные, модифицируемые кодом пользовательского режима.

Содержимое дескрипторов процессов и потоков

Рисунок 3. Содержимое дескриптора процесса в ОС Windows.

Рисунок 4. Содержимое дескриптора потока в ОС Windows.

Переключение процессов и потоков

Наиболее распространенным алгоритмом планирования в системах разделения времени является кольцевой режим (Round Robin). Основной смысл алгоритма состоит в том, что время процессора делится на кванты фиксированного размера, а процессы, готовые к выполнению, выстраиваются в кольцевую очередь.

Рисунок 5. Кольцевая очередь.

У этой очереди имеются два указателя — начала и конца. Когда процесс, выполняющийся на процессоре, исчерпывает свой квант процессорного времени, он снимается с процессора, ставится в конец очереди, а ресурсы процессора отдаются процессу, находящемуся в начале очереди. Если выполняющийся на процессоре процесс откладывается (например, по причине обмена с некоторым внешним устройством) до того, как он исчерпает свой квант, то после повторной активизации он становится в конец очереди.

Однако такая схема не единственная, например, часть процессов, потенциально готовых выполняться, может размещаться во внешней памяти. В операционной системе на основании значения приоритета процесса определяется, во-первых, возможность процесса пребывать в основной памяти и на равных конкурировать за процессор. Во-вторых, от значения приоритета процесса зависит размер временного кванта, который предоставляется процессу для работы на процессоре при достижении своей очереди. В-третьих, значение приоритета влияет на место процесса в общей очереди процессов.

Рисунок 6. Схема планирования с кольцевой очередью и приоритетами (Linux).