
- •1 Операционная система. Определение. Назначение. Функции ос.
- •2 История ос. Развитие операционных систем.
- •3 Классификация операционных систем.
- •4 Специальные регистры центрального процессора (счетчик команд, указатель стека, rsw)
- •5 Конвейерная и скалярная конструкция процессора
- •6 Устройство памяти. Виды памяти.
- •7 Базовый и предельный регистры. Диспетчер памяти.
- •8 Драйвера устройств ввода-вывода. Способы установки драйверов.
- •9 Три способа организации ввода-вывода.
- •10 Шины и их назначение.
- •11 Процесс. Характеристики процесса. Понятия, связанные с процессом (таблица процессов, оболочка и т.Д.)
- •12 Взаимоблокировки. Определение. Примеры.
- •13 Файловые системы. Определение. Понятия, связанные с файловыми системами.
- •14 Код защиты файлов в unix.
- •15 Оболочка. Определение. Командный интерпретатор unix.
- •16 Системные вызовы. Назначение, схема работы системного вызова.
- •17 Основные системные вызовы posix.
- •18 Системные вызовы для управления процессами. Работа, примеры.
- •19 Системные вызовы для управления файлами. Работа. Примеры.
- •20 Системные вызовы для управления каталогами. Работа. Примеры.
- •42 Алгоритмы планирования: Наименьшее оставшееся время выполнения, трехуровневое планирование.
- •43 Циклическое планирование и приоритетное планирование.
- •44 Алгоритмы планирования: «Самый короткий процесс – следующий», Гарантированное планирование, Лотерейное планирование.
- •45 Справедливое планирование и планирование в системах реального времени.
- •46 Выгружаемые и невыгружаемые ресурсы. Условия взаимоблокировки.
- •47 Моделирование взаимоблокировок.
- •48 Четыре стратегии избегания взаимоблокировок. Страусовый алгоритм.
- •49 Обнаружение взаимоблокировки при наличии одного ресурса каждого типа.
- •51 Выходы из взаимоблокировки. Траектории ресурсов.
- •52 Безопасные и небезопасные состояния. Алгоритм банкира. Предотвращение взаимоблокировок.
45 Справедливое планирование и планирование в системах реального времени.
Справедливое планирование
Если
пользователь 1 создаст 9 процессов, а
пользователь 2 — 1 процесс, то с
использованием циклического планирования
или в случае равных приоритетов
пользователю 1 достанется 90 % процессора,
а пользователю 2 всего 10. Чтобы избежать
подобных ситуаций, некоторые системы
обращают внимание на хозяина процесса
перед планированием. В такой модели
каждому пользователю достается некоторая
доля процессора, и планировщик выбирает
процесс в соответствии с этим фактом.
Если в нашем примере каждому из
пользователей было обещано по 50 %
процессора, то им достанется по 50 %
процессора, независимо от количества
процессов. Т.е. процессорное время
распределяется среди пользователей, а
не процессов. Это справедливо если у
одного пользователя несколько процессов,
а у другого один.
Планирование в системах реального времени
Системы реального времени делятся на: - жесткие (жесткие сроки для каждой задачи) - управление движением. - гибкие (нарушение временного графика не желательны, но допустимы) - управление видео и аудио. Внешние события, на которые система должна реагировать, делятся: - периодические - потоковое видео и аудио. - непериодические (непредсказуемые) - сигнал о пожаре. Что бы систему реального времени можно было планировать, нужно чтобы выполнялось условие: m - число периодических событий i - номер события P(i) - период поступления события T(i) - время, которое уходит на обработку события Т.е. перегруженная система реального времени является не планируемой.
46 Выгружаемые и невыгружаемые ресурсы. Условия взаимоблокировки.
Взаимоблокировка процессов может происходить, когда несколько процессов борются за один ресурс. Ресурсы бывают выгружаемые и невыгружаемые, аппаратные и программные. Выгружаемый ресурс - этот ресурс безболезненно можно забрать у процесса (например: память). Невыгружаемый ресурс - этот ресурс нельзя забрать у процесса без потери данных (например: принтер). Проблема взаимоблокировок процессов возникает при борьбе за невыгружаемый ресурсы. Условия необходимые для взаимоблокировки: 1. Условие взаимного исключения - в какой-то момент времени, ресурс занят только одним процессом или свободен. 2. Условие удержания и ожидания - процесс, удерживающий ресурс может запрашивать новые ресурсы. 3. Условие отсутствия принудительной выгрузки ресурса. 4. Условие циклического ожидания - должна существовать круговая последовательность из процессов, каждый, из которого ждет доступа к ресурсу, удерживаемому следующим членом последовательности.
47 Моделирование взаимоблокировок.
В компьютерных системах существует большое количество ресурсов, каждый из которых в конкретный момент времени может использоваться только одним процессом. В качестве таких примеров можно привести принтеры, накопители на магнитной ленте и элементы внутренних таблиц системы. Появление двух процессов, одновременно передающих данные на принтер, приведет к печати бессмысленною набора символом Наличие двух процессов, использующих один и тот же элемент таблицы файловой системы, обязательно станет причиной разрушения файловой системы. Поэтому все операционные системы обладают способностью предоставлять процессу эксклюзивный доступ (по крайней мере, временный) к определенным ресурсам. Часто для выполнения прикладных задач процесс нуждается в исключительном доступе не к одному, а к нескольким ресурсам. Предположим, например, что каждый из двух процессов хочет записать отсканированный документ на компакт-диск. Процесс Л запрашивает разрешение на использование сканера и получает его. Процесс В запрограммирован по-другому, поэтому сначала запрашивает устройство для записи компакт-дисков и также получает его. Затем процесс Л обращается к устройству для записи компакт-дисков, но запрос отклоняется до тех пор. Пока это устройство занято процессом В. Вместо того чтобы освободить устройство для записи компакт-дисков, В запрашивает сканер. В этот момент процессы заблокированы и будут вечно оставаться в этом состоянии. Такая ситуация называется тупиком, тупиковой ситуацией или взаимоблокировкой.
<-
На такой модели очень хорошо проверить
возникает ли взаимоблокировка. Если
есть цикл, значит, есть и взаимоблокировка.