- •Операционная система. Примеры существующих ос.
- •Первые три поколения ос. Система multics, технологии применяемые в современных ос.
- •Ос четвертого поколения. Отличительные особенности от ос 3го поколения.
- •Системные вызовы. Примеры системных вызовов. Структура ос.
- •Процессы. Реализация процессов в ос Windows и Unix. Планировщик процессов
- •Ресурсы. Виды ресурсов. Примеры ресурсов.
- •Потоки. Реализация потоков в ос Windows и Unix. Планировщик потоков.
- •Межпроцессное взаимодействие. Критическая секция. Примеры межпроцессного взаимодействия.
- •Примитивы межпроцессного взаимодействия. Мьютексы. Семафоры. Мониторы. Передача сообщений. Барьеры.
- •Проблемы межпроцессного взаимодействия. Проблема обедающих философов. Проблема читателей и писателей. Проблема спящего брадобрея. Решения проблем.
- •Планирование в системах пакетной обработки данных. Планирование в системах реального времени. Примеры планирования.
- •Планирование в интерактивных системах. Примеры планирования.
- •Взаимоблокировка. Алгоритмы обнаружения и устранения взаимоблокировок. Пример работы алгоритмов.
- •Взаимоблокировка. Алгоритмы избежания взаимоблокировок. Пример работы алгоритмов.
- •Взаимоблокировка. Алгоритмы предотвращения взаимоблокировок. Пример работы алгоритмов.
- •Взаимоблокировка. Двухфазное планирование. Тупики без ресурсов. Голодание.
- •Проблемы управления памятью. Управление памятью в однозадачных системах. Управление памятью в многозадачных системах.
- •Проблемы управления памятью. Моделирование многозадачности. Примеры алгоритмов управления памятью.
- •Алгоритмы подкачки для управления памятью. Примеры работы алгоритмов.
- •Принципы управления памятью с помощью таблицы страниц. Tlb буфер. Пример страничной организации памяти.
Планирование в интерактивных системах. Примеры планирования.
Планирование в интерактивных системах .Они часто применяются на персональных компьютерах, серверах и других разновидностях систем.
Циклическое планирование
Одним из самых старых, простых, справедливых и наиболее используемых
считается алгоритм циклического планирования. Каждому процессу назначается определенный интервал времени, называемый его квантом, в течение которого ему предоставляется возможность выполнения. Если процесс к завершению кванта времени все еще выполняется, то ресурс центрального процессора у него отбирается и передается другому процессу. Разумеется, если процесс переходит в заблокированное состояние или завершает свою работу до истечения кванта времени, то переключение центрального процессора на другой процесс происходит именно в этот момент.
Приоритетное планирование
Основная идея проста: каждому процессу присваивается значение приоритетности, и запускается тот процесс, который находится в состоянии готовности и имеет наивысший приоритет.
Использование нескольких очередей
Основная идея :
время от времени выделять процессам, ограниченным скоростью вычислений, более существенные кванты времени, вместо того чтобы слишком часто выделять им небольшие кванты времени
С другой стороны, предоставление всем процессам больших квантов времени отразится увеличением времени отклика, Разработчики приняли решение учредить классы приоритетов.
Процессы, относящиеся к наивысшему классу, запускались на 1 квант времени,
процессы следующего по нисходящей класса — на 2 кванта времени, процессы
следующего класса — на 4 кванта времени, и т. д. Как только процесс использовал
все выделенные ему кванты времени, его класс понижался.
Взаимоблокировка. Алгоритмы обнаружения и устранения взаимоблокировок. Пример работы алгоритмов.
Взаимоблокировка-это состояние при котором несколько процессов не могут продолжить свою работу, так как ожидают завершения друг друга.
Предположим, к примеру, что каждый
из двух процессов захотел записать отсканированный документ на компакт-диск.
Процесс А запрашивает разрешение на использование сканера и получает его. Процесс В запрограммирован по-другому, сначала он запрашивает разрешение на использование пишущего привода компакт-дисков и также получает это разрешение. Теперь А запрашивает разрешение на использование пишущего привода компакт-дисков, но запрос отклоняется до тех пор, пока это устройство не будет освобождено процессом В. К сожалению, вместо того чтобы освободить привод, В запрашивает разрешение на использование сканера. И в этот момент оба процесса
оказываются заблокированными навсегда. Такая ситуация называется тупиковой ситуацией (тупиком), или взаимоблокировкой (deadlock).
Взаимоблокировка. Алгоритмы избежания взаимоблокировок. Пример работы алгоритмов.
Избежание взаимоблокировки |
Рассматривая обнаружения взаимоблокировок, мы неявно предполагаем, что когда процесс запрашивает ресурсы, он требует их все сразу. Однако в большинстве систем ресурсы запрашиваются поочередно, по одному. Избежание взаимоблокировки возможно при аккуратном предоставлении ресурсов. Существует алгоритм, который всегда может избегать ситуацию взаимоблокировки, мы можем избежать тупиков, но только если заранее будет доступна определенная информация. |
