
- •Оглавление
- •Билет 1
- •1. Определение операционной системы (ос). Место ос в программном обеспечении вычислительных систем. Эволюция ос. Особенности современного этапа развития ос.
- •2. Основные свойства файловой системы ntfs. Структура тома ntfs. Отрезки как единица дискового пространства и их адресация.
- •Билет 2
- •1. Требования, предъявляемые к корпоративным сетевым операционным системам. Серверные ос ведущих производителей.
- •3.Задача
- •Билет 3
- •1.Концепция процессов и потоков. Задания, процессы, потоки (нити), волокна и их характеристика. Взаимосвязь между заданиями, процессами, потоками и волокнами.
- •2. Свопинг и виртуальная память. Методы реализации виртуальной памяти. Сравнительная оценка методов и их применимость в современных компьютерах.
- •Билет 4
- •1.Назначение, состав и функции ос. Характеристика компонентов ос. Мультипрограммный характер современных ос.
- •2.Драйверы устройств. Виды и функции драйверов. Динамическая загрузка и выгрузка драйверов.
- •3.Задача
- •Билет 5
- •Явление фрагментации памяти. Фрагментация памяти, обусловленная методом распределения памяти. Внутренняя и внешняя фрагментация. Методы борьбы с фрагментацией памяти.
- •Согласование скоростей обмена и кэширование данных. Виды буферизации. Количественная оценка различных методов буферизации.
- •Требуется показать, что в системе может возникнуть взаимоблокировка
- •Билет 6
- •Физическая организация файловой системы. Структура дисков. Низкоуровневое и высокоуровневое форматирование.
- •Структура файловой системы на диске
- •Технология аутентификации. Сетевая аутентификация на основе многоразового пароля.
- •Билет 7
- •1.Системный подход к обеспечению безопасности компьютерных систем. Безопасность как бизнес-процесс. Политика безопасности. Базовые принципы безопасности.
- •2.Структура ядра системы unix. Состав и характеристика компонентов ядра.
- •3.Задача
- •Билет 8
- •1)Cp file1 file2 (копировать файл file1, копия – file2 )
- •Билет 9
- •Архитектуры операционных систем. Принципы разработки архитектур ос. Достоинства и недостатки различных архитектур.
- •Страничная организация памяти. Выбор размера страниц. Управление страничным обменом. Алгоритмы замены страниц.
- •Билет 10
- •Многослойная модель подсистемы ввода-вывода. Менеджер ввода-вывода. Многоуровневые драйверы.
- •Билет 11
- •1. Классификация операционных систем. Основные классификационные признаки. Примеры операционных систем.
- •2. Сегментная организация виртуальной памяти. Схема преобразования виртуальных адресов. Достоинства и недостатки сегментной организации. Сравнение со страничной организацией памяти.
- •Билет 12
- •Билет 13
- •1. Мультипрограммирование. Формы многопрограммной работы. Мультипрограммирование в системах пакетной обработки.
- •Решение
- •Билет 14
- •1. Реализация потоков в ядре, в пространстве пользователя, смешанная реализация. Преимущества и недостатки разных способов реализации потоков.
- •2. Выявление вторжений. Методы обнаружения вторжений. Аудит и его возможности. Аудит в Windows 2000.
- •Решение
- •Билет 15
- •Планирование мультипрограммных вычислительных процессов. Виды планирования. Обобщенная схема планирования с учетом очередей заданий и процессов.
- •Односторонние функции шифрования и их использования в системах обеспечения безопасности.
- •Решение
- •Билет 16
- •1. Модели процессов и потоков. Состояния процессов и потоков. Дескриптор и контекст процесса и потока. Переключение контекстов процессов и потоков.
- •2. Физическая организация файловой системы fat. Возможности файловых систем fat12, fat16 и fat32. Использование fat-систем в ос Windows, количественные характеристики.
- •Решение
- •Билет 17
- •Билет 18
- •Билет 19
- •Билет 20
- •Билет 21
- •Билет 22
- •1. Страничная организация памяти. Недостатки страничной организации и пути их преодоления. Буфер быстрой трансляции адресов. Схема преобразования виртуального адреса.
- •2. Модели процессов и потоков. Управление процессами и потоками. Основные функции управления и их содержание.
- •Билет 23
- •Билет 24
- •Основные функции подсистемы ввода-вывода. Методы организация параллельной работы процессора и устройств ввода-вывода. Прямой доступ к памяти.
- •Физическая организация и адресация файлов. Критерии физической организации. Различные способы физической организации файлов и их сравнительная оценка
- •Билет 25
- •Билет 26
- •Билет 27
- •Билет 28
- •Билет 29
- •Билет 30
- •1.Авторизация доступа и её цели. Схема авторизации.
- •2. Процессы в системе Unix. Создание дочерних процессов. Примеры.
- •Билет 31
- •Вопрос 1.
- •Вопрос 2.
- •Билет № 32
- •Вопрос 1
- •Вопрос 2.
- •Билет № 33
- •Билет № 34
- •Билет № 35
- •Билет № 36
- •Билет № 37
- •Билет № 38
- •Билет 39
- •Билет 40
- •Билет № 41
- •Билет № 42
- •Билет № 43
- •Билет 44
- •Билет №45
- •Билет №46
- •Билет №47
- •Билет 48
- •Билет 49
- •Физическая организация памяти компьютера
- •Билет № 50
- •Вопрос 1.
- •Вопрос 2.
- •Билет № 51
- •Билет № 52
- •Билет 53
- •3 Задача:
- •Билет № 54
- •Билет № 56
- •5. Возможности файловой системы ntfs 5.0 по безопасности.
- •Билет №57.
- •Билет № 58
- •Билет 59
- •Билет 60
- •Билет 61
- •Защита и восстановление ос Windows 2000. Архивация. Установочные дискеты. Безопасный режим загрузки.
- •Домены и рабочие группы в корпоративных информационных системах
- •Билет 62
- •Билет № 63
- •Взаимоблокировки процессов (тупики). Условия возникновения, методы и алгоритмы обнаружения тупиков
- •2. Свопинг и виртуальная память. Методы реализации виртуальной памяти. Сравнительная оценка методов и их применимость в современных компьютерах.
- •Задача 63
- •Билет 64
- •Процессы в системе unix. Создание дочерних процессов. Примеры.
- •Реализация потоков в ядре, в пространстве пользователя, смешанная реализация. Преимущества и недостатки разных способов реализации потоков.
Билет 21
Взаимоблокировки процессов (тупики). Условия возникновения, методы и алгоритмы обнаружения тупиков.
Страничная организация памяти. Многоуровневая организация виртуального адресного пространства. Пример схемы двухуровневой страничной организации.
В условиях не осторожного использования средств синхронизации, могут возникнуть непредвиденные затруднения.
Предположим, что несколько процессов конкурируют за обладание конечным числом ресурсов. Если запрашиваемый процессом ресурс недоступен, процесс переходит в состояние ожидания. В случае если требуемый ресурс удерживается другим ожидающим процессом, то первый процесс не сможет сменить свое состояние. Такая ситуация называется тупиком.
Группа процессов находится в тупиковой ситуации, если каждый процесс из группы ожидает события, которое может вызвать только другой процесс из этой же группы.
Системная тупиковая ситуация или зависание системы является следствием того, что один или более процессов находятся в состоянии тупика.
Тупики также могут иметь место в ситуациях, не требующих выделенных ресурсов. Например, в системах управления базами данных процессы могут локализовывать записи, чтобы избежать гонок (см. главу "Синхронизация процессов"). В этом случае может получиться так, что один из процессов заблокировал записи, требуемые другому процессу и наоборот. Т.о. тупики могут иметь место, как на аппаратных, так и на программных ресурсах.
Условия возникновения тупиковых ситуаций
Взаимное исключение. Каждый ресурс в данный момент или отдан ровно одному процессу, или недоступен.
Условие удержания и ожидания. Процессы, в данный момент удерживающие полученные ранее ресурсы, могут запрашивать новые ресурсы.
Отсутствие принудительной выгрузки ресурсов. У процесса нельзя забрать принудительно ранее полученные ресурсы.
Условие циклического ожидания. Существует круговая последовательность из двух и более процессов, каждый из которых ждет доступа к ресурсу, удерживаемому следующим членом последовательности.
Стратегии борьбы с взаимоблокировками:
Пренебрежение проблемой в целом.
Обнаружение и устранение (восстановление).
Избегать тупиковых ситуаций с помощью аккуратного распределения ресурсов.
Предотвращать с помощью структурного опровержения одного из четырех условий, необходимых для взаимоблокировки
Методы и алгоритмы обнаружения тупиков.
Обнаружение тупика это установление факта, что возникла тупиковая ситуация и определение процессов и ресурсов, вовлеченных в эту ситуацию. Как правило, алгоритмы обнаружения применяются, когда выполнены первые три необходимых условия возникновения тупиковой ситуации. Затем проверяется наличие режима кругового ожидания. При этом активно используются уже графы распределения ресурсов.
Допустим, в системе один ресурс каждого типа. Тогда необходимо построить граф распределения ресурсов между процессами. Если в графе обнаружится цикл – наличествует тупиковая ситуация.
Для обнаружения тупиков в ситуациях, когда имеется несколько ресурсов каждого типа, применяется матричный алгоритм.
Алгоритм основан на сравнении векторов ресурсов. В исходном состоянии все процессы не маркированы (не отмечены). По мере реализации алгоритма на процессы будет ставиться отметка, обозначающая, что они могут закончить свою работу, т. е. не находятся в тупике. После завершения алгоритма любой немаркированный процесс находится в тупиковой ситуации.
Восстановление после тупиков
Систему, оказавшуюся в тупике, можно вывести из него, нарушив одно из условий его существования. При этом возможно несколько процессов частично или полностью потеряют результаты проделанной работы.
Сложность восстановления обусловлена рядом факторов.
в большинстве систем нет достаточно эффективных средств для приостановки процесса, оператора;
восстановление после серьезного тупика может потребовать много работы.
Методы:
Принудительная выгрузка ресурсов. Изъятие ресурса у процесса, передача его другому процессу, а затем возврат ресурса таким образом, что исходный процесс этого “ не замечаетвывода его из системы и возобновления впоследствии;
если даже такие средства есть, то их использование требует затрат и внимания
” (сложно и чаще всего невозможно).
Восстановление через “откат”. Процессы периодически создают контрольные точки, позволяющие запустить процесс с предыстории. При возникновении тупика процесс, занимающий необходимый ресурс “откатывается” к контрольной точке, после которой он получил ресурс. Если возобновленный процесс вновь попытается получить данный ресурс, он переводится в режим ожидания освобождения этого ресурса.
Недопущение тупиков путем безопасного распределения ресурсов. Подобные алгоритмы базируются на концепции безопасных состояний. Например, Дейкстрой был разработан алгоритм планирования, позволяющий избегать взаимоблокировок (алгоритм банкира).
Страничная организация памяти. Многоуровневая организация виртуального адресного пространства. Пример схемы двухуровневой страничной организации.
Виртуальное адресное пространство каждого процесса делится на части одинакового, фиксированного для данной системы размера, называемые виртуальными страницами (virtual pages). В общем случае размер виртуального адресного пространства процесса не кратен размеру страницы, поэтому последняя страница каждого процесса дополняется фиктивной областью.
Вся оперативная память машины также делится на части такого же размера, называемые физическими страницами (или блоками, или кадрами). Размер страницы выбирается равным степени двойки: 512, 1024, 4096 байт и т. д. Это позволяет упростить механизм преобразования адресов.
При создании процесса ОС загружает в оперативную память несколько его виртуальных страниц (начальные страницы кодового сегмента и сегмента данных). Копия всего виртуального адресного пространства процесса находится на диске. Смежные виртуальные страницы не обязательно располагаются в смежных физических страницах. Для каждого процесса операционная система создает таблицу страниц — информационную структуру, содержащую записи обо всех виртуальных страницах процесса.
Именно для уменьшения времени преобразования адресов во всех процессорах предусмотрен аппаратный механизм получения физического адреса по виртуальному. С той же целью размер страницы выбирается равным степени двойки, благодаря чему двоичная запись адреса легко разделяется на номер страницы и смещение, и в результате в процедуре преобразования адресов более длительная операция сложения заменяется операцией присоединения (конкатенации). Используются и другие способы ускорения преобразования, такие, например, как кэширование таблицы страниц — хранение наиболее активно используемых записей в быстродействующих запоминающих устройствах, в частности в регистрах процессора.
Другим важным фактором, влияющим на производительность системы, является частота страничных прерываний, на которую, в свою очередь, влияют размер страницы и принятые в данной системе правила выбора страниц для выгрузки и загрузки. При неправильно выбранной стратегии замещения страниц могут возникать ситуации, когда система тратит большую часть времени впустую, на подкачку страниц из оперативной памяти на диск и обратно.
Другим важным резервом повышения производительности системы является правильный выбор размера страницы. С одной стороны, чтобы уменьшить частоту страничных прерываний, следовало бы увеличивать размер страницы. С другой стороны, если страница велика, то велика и фиктивная область в последней виртуальной странице каждого процесса. Если учесть, что в среднем в каждом процессе фиктивная область составляет половину страницы, то в сумме при большом объеме страницы потери могут составить существенную величину. Типичный размер страницы составляет несколько килобайт, например, наиболее распространенные процессоры х86 и Pentium компании Intel, а также операционные системы, устанавливаемые на этих процессорах, поддерживают страницы размером 4096 байт (4 Кбайт).
Размер страницы влияет также на количество записей в таблицах страниц. Чем меньше страница, тем более объемными являются таблицы страниц процессов и тем больше места они занимают в памяти. Учитывая, что в современных процессорах максимальный объем виртуального адресного пространства процесса, как правило, не меньше 4 Гбайт (232), то при размере страницы 4 Кбайт (212) и длине записи 4 байта для хранения таблицы страниц может потребоваться 4 Мбайт памяти! Выходом в такой ситуации является хранение в памяти только той части таблицы страниц, которая активно используется в данный период времени — так как сама таблица страниц хранится в таких же страницах физической памяти, что и описываемые ею страницы, то принципиально возможно временно вытеснять часть таблицы страниц из оперативной памяти.
Двухуровневая таблица страниц
Таблица страниц хранится в памяти. Если она имеет большой размер(для адресного пространства в 4 Гб и размера страницы в 4Кб - таблица 4 Мб), то необходимо как-то выгрузит часть ее из памяти. Для этого она разбивается на части (разделы). Причем кол-во страниц подбирается таким образом, чтобы объем раздела был равен объему страницы (чтобы раздел можно было выгрузить на жесткий диск, как обычную страницу). И создается таблица разделов, выглядещая как таблица страниц. При вычислении физического адреса по логическому сначала вычисляется адрес таблицы разделов (по старшим битам в адресе), потом уже по остальным битам в этой таблице разделов ищется адрес необходимой страницы (для этого необходимо, чтобы число страниц в разделе было кратно 2). То есть мы будем иметь логический адрес вида: РРРРФФФФФФФФФССССС,
Где РРР – номер раздела, ФФФФ –страницы в разделе, СССС – смещение в странице. (все это нули или единицы, то есть 1110111100111101111 и всего их 32 штуки!)
Буфер быстрой трансляции адресов – хранит адреса недавно использованных страниц. Если пройзодет обращение к недавно использованной странице – буфер быстро выдаст адрес в физической памяти. Если будет обращение к странице адрес которой отстутствует в буфере – идет обычное вычисление физического адреса по виртуальному через таблицу страниц.
Недостатки страничной организации памяти: Сложен совместный доступ пользователей к процедурам, наличие внешней фрагментации.
Задача
Процесс содержит восемь виртуальных страниц на диске, и ему выделено четыре фиксированных кадра в основной памяти. Далее выполняются обращения к следующим страницам:
1, 0, 2, 2, 1, 7, 6, 7, 0, 1, 2, 3, 0, 4, 5, 1, 5, 2, 4, 5, 6, 7, 6, 7, 2, 4, 2, 7, 3, 3, 2, 3.
Укажите последовательность размещения страниц в кадрах при использовании алгоритма замещения “первым вошел – первым вышел”. Вычислите результативность обращения к основной памяти (считаем, что изначально все кадры пусты).
|
1 |
0 |
2 |
2 |
1 |
7 |
6 |
7 |
0 |
1 |
2 |
3 |
0 |
4 |
5 |
1 |
5 |
2 |
4 |
5 |
6 |
7 |
6 |
7 |
2 |
4 |
2 |
7 |
3 |
3 |
2 |
3 |
1 |
1 |
0 |
2 |
2 |
2 |
7 |
6 |
6 |
6 |
1 |
1 |
3 |
0 |
4 |
5 |
1 |
1 |
2 |
2 |
2 |
6 |
7 |
7 |
7 |
7 |
4 |
4 |
4 |
3 |
3 |
2 |
2 |
2 |
|
1 |
0 |
0 |
0 |
2 |
7 |
7 |
7 |
6 |
6 |
1 |
3 |
0 |
4 |
5 |
5 |
1 |
1 |
1 |
2 |
6 |
6 |
6 |
6 |
7 |
7 |
7 |
4 |
4 |
3 |
3 |
3 |
|
|
1 |
1 |
1 |
0 |
2 |
2 |
2 |
7 |
7 |
6 |
1 |
3 |
0 |
4 |
4 |
5 |
5 |
5 |
1 |
2 |
2 |
2 |
2 |
6 |
6 |
6 |
7 |
7 |
4 |
4 |
4 |
|
|
|
|
|
1 |
0 |
0 |
0 |
2 |
2 |
7 |
6 |
1 |
3 |
0 |
0 |
4 |
4 |
4 |
5 |
1 |
1 |
1 |
1 |
2 |
2 |
2 |
6 |
6 |
7 |
7 |
Частота удачи 15/32=0,47