- •Лекции «Операционные системы» 4 семестр, 2 курс Содержание
- •Лекция №1 История развития ос
- •Операционная система. Общая характеристика.
- •Лекция №2 Требования к ос
- •Ресурсы, виды ресурсов. Управление памятью. Виртуальная память.
- •Методы распределения памяти
- •Лекция №3
- •Cash-ирование данных
- •Понятие процесса. Управление процессами. Синхронизация процессов. Тупики и способы борьбы с ними.
- •Лекция №4 Алгоритмы планирования процессов
- •Средства синхронизации при взаимодействии процессов
- •Файловые системы
- •Лекция №5 Общая модель файловой системы
- •Файловая система fat (таблица распределения файлов)
- •Структура
- •Формат кода каталога
- •Файловая система hpfs
- •Лекция №6
- •Файловая система ntfs(кратко)
- •Операционная система ms-dos
- •Лекция №7 Прерывание. Обработка прерываний
- •Лекция №8
- •Программирование последовательного порта
- •Лекция №9
- •Планирование процесса
- •Многоуровневые очереди
- •Лекция №10
- •Лекция №11 Архитектура Windows nt
- •Лекция №12 Процессы и нити
- •Лекция №13 Алгоритмы планирования процессов и нитей
- •Процесс
- •Распределение процессорного времени между потоками
- •Лекция №14
- •Лекция №15
- •Журнал аудита
- •Политика аудита
- •Лекция №16
- •Настройка и конфигурация windows nt
- •Лекция №17
- •Структура сетевой ос
- •Лекция №18
- •Лекция №19
- •Лекция №20 Динамически подключаемая библиотека (dynamic_link_library dll)
- •Лекция №21 Внедрение dll
Многоуровневые очереди
Можно процессы разделить на группы по своим приоритетам.
Механизм с обратной связью:
0 – высокоприоритетный, 1 – низкоприоритетный.
Всего 4 группы:
Сначала новый процесс идет в 0, получает квант времени. Если квант меньше отведенного, то завершается. Если нет, то поступает в первую очередь, где время в два раза больше. Если времени хватает, благополучно завершается. Нет – поступает во вторую группу.
Данные для реализации:
-
количество очередей
-
алгоритм планирования, действующий между очередями
-
алгоритм планирования, действующий внутри очереди
-
правила появления нового процесса в очередь
-
правила перевода процесса из одной очереди в другую
Лекция №10
Активность:
Набор активностей детерминирован, если каждый раз при ……….. выполнения для одного и того же набора данных будут получаться одинаковые входные данные.
Условие Бейстрайна:
Для каждой атомарной операции берется набор входных (рейд) и выходных (райд) данных.
W
Q
-
Если W(p) и W(R) пересекаются пусто раз
-
Пересечение W(p) и W(Q) пусто
-
Пересечение R(p) и W(Q) также пусто
Следовательно, выполнение операций W(p) и W(Q) детерминировано.
Для организации взаимодействия процессов, имеющих критическую секцию, существует условие:
-
Задача должна быть решена чисто программным способом, не используя специфических команд
-
Не должно существовать никаких предположений относительно скоростей выполнения процессов
-
Если какой-то i – процесс выполняется в критической секции, то не должны существовать процессы, выполняющие в свободной критической секции
-
Процессы, находящиеся не в своей критической секции, не должны мешать другим процессам входить в критическую секцию
-
Не должно возникать бесконечного ожидания для входа в критическую секцию
Должна существовать аппаратная команда: проверить и установить.
Про тупики:
Виды к тупикам:
-
……
-
Использовать
-
Освобождение
4 условия возникновения тупиков:
-
Взаимоисключение: каждый ресурс выделен одному процессу (монопольное использование ресурсов)
-
Ожидание: процесс удерживает за собой ресурсы, уже выделенные им, может при этом ожидать выделение дополнительных ресурсов
-
Неперераспределяемость: ресурс, выделенный процессу, не может быть принудительно отдан, процесс отдает сам.
-
Круговое ожидание: существует кольцевая цепь процессов, из которой каждый процесс удерживает один или несколько ресурсов, требующихся другому процессу.
Для тупиковой ситуации необходимо все 4 условия.
Борьба с тупиками:
-
игнорирование (алгоритм Страуса)
-
обнаружение тупиков
-
восстановление после тупиков системы
-
предотвращение условий возникновения
Условия:
Процесс А удерживает ресурс R и ожидает ресурс S
Процесс B претендует на ресурс Т
Процесс С претендует на ресурс S
Процесс D удерживает ресурс U и ожидает ресурсы S и T
Процесс E удерживает ресурс T и ожидает ресурс V
Процесс F удерживает ресурс W и ожидает ресурс S
Процесс G удерживает ресурс V и ожидает ресурс U
Является ли ситуация тупиковой?
– процесс
D, E, G в тупиковой ситуации
– ресурс
Есть процессы, вовлеченные в тупиковую ситуацию.
3) 1 способ: принудительный вывод процесса из системы для последующего использования его ресурсов.
2 способ: восстановление через откат назад. В ряде систем существует средство RESTART с контрольной точки.
3 способ: восстановление через ликвидацию одного из процессов.
Можно избежать тупика, если рационально использовать распределение ресурсов.
Алгоритм банкира:
Пусть у системы n ресурсов.
-
ОС принимает запрос от пользовательского процесса, если его максимальная потребность не превышает n.
-
Пользователь гарантирует, если ОС в состоянии удовлетворить его запрос, то устройства будут возвращены системе в конечное время.
-
Текущее состояние системы называется надежной, если ОС может обеспечить выполнение всех процессов в течение конечного времени.
-
Выделение устройств возможно, только если состояние системы остается надежным.
Ненадежное состояние не означает, что возникнет тупик.
Пусть 12 устройств, 3 процесса, 3 пользователя.
1 пользователь получил 1 устройство, максимально может потребоваться четыре.
2 пользователь получил 4 устройства, максимально может потребоваться шесть.
3 пользователь получил 5 устройств, максимально может потребоваться восемь.
Состояние системы надежно.
Недостатки:
-
Алгоритм исходит из конечного числа устройств.
-
Число пользователей должно быть постоянно.
-
Алгоритм требует, чтобы запросы выполнялись за конкретные периоды времени, но отсутствуют данные о значении.
-
Алгоритм требует, чтобы клиенты возвращали……………
-
Требуется, чтобы пользователи заранее указали свои максимальные потребности.
Нарушение условия ожидания дополнительных ресурсов:
-
Каждый процесс должен запрашивать все требуемые ресурсы сразу; не выполняется, пока не будут доставлены все ресурсы.
-
Если процесс, удерживая ресурс, получает отказ в выделении ему дополнительные ресурсов, то он должен освободить первоначальные ресурсы, а потом запросить их вновь вместе с дополнительными.
Нарушение условия кругового ожидания: присваивание всем ресурсам уникальные имена и требуем, чтобы процессы запрашивали ресурсы в порядке возрастания номеров.
Про виртуальную память:
Время фиктивного доступа для присутствия страницы складывается:
-
Из времени обслуживания
-
Из времени чтения страницы из вторичной (внешней) памяти
-
Времени рестарта процесса
Все алгоритмы замещения страниц: локальные (отв. стр. у свободного процесса); глобальные (всех страниц).