- •Взаимодействие процессов
- •Стратегии планирования процессора
- •Взаимоблокировка процессов
- •Игнорирование проблемы тупиков
- •Способы предотвращения тупиков
- •Предотвращение тупиков за счет нарушения условий возникновения тупиков
- •Нарушение условия взаимоисключения
- •Нарушение условия ожидания дополнительных ресурсов
- •Hарушение условия кругового ожидания
- •Обнаружение тупиков
- •Восстановление после тупиков
Стратегии планирования процессора
-
Первый пришел – первый обслуживается, FCFS (first come first served). Является наиболее простой стратегией планирования процессоров и заключается в том, что процессор передается тому процессу, который раньше других его запросил.
Стратегии FCFS присущ «эффект конвоя». В том случае когда в компьютере имеется один большой процесс и несколько малых, то все процессы собираются в начале очереди готовых процессов, а затем в очереди к оборудованию. Т.о. «эффект конвоя» приводит к снижению загруженности как ЦП так и ПУ
-
Стратегия «наиболее короткая работа выполняется первой», SJF-Shortest Job First. Является одним из методов борьбы с «эффектом конвоя», позволяет процессу из очереди выполниться первым. SJF часто применяется в долгосрочных планировщиках, обслуживающих пакетный режим.
-
Приоритетное планирование. Эта стратегия предполагает, что каждому процессу приписывается приоритет, определяющий очередность предоставления ему ЦП. Обычно приоритет это целое положительное число находящееся в некотором диапазоне. Приоритеты назначаются исходя из совокупности внутренних и внешних по отношению ос факторов. Внутренние факторы: требование к памяти, количество открытых файлов, отношение среднего времени в/в к среднему времени использования ресурсов ЦП и т.д. Внешние факторы: важность процесса и т.д. Недостаток этой стратегии заключается в блокировании на неопределенное время низкоприоритетных процессов.
-
Карусельная стратегия. RR Round Robin – применяется в системах разделения времени. Определяется отрезок времени названный квантом времени. Очередь готовых процессов рассматривается как кольцевая. Процессы циклически перемещаются по очереди, получая ЦП на время равное кванту. Новый процесс добавляется в хвост очереди. Если процесс не завершился в определенный ему квант времени, то его работа принудительно прерывается, и он перемещается в хвост очереди.
-
Планирование с использованием многоуровневой очереди. Эта стратегия разработана для ситуации, когда процессы могут быть классифицированы на несколько групп, например часто процессы разделяют на две группы: интерактивные (процессы переднего плана) и пакетные (фоновые). Интерактивные и пакетные процессы имеют различные требования к краткосрочному планировщику, например по отношению ко времени отклика. Стратегия многоуровневой очереди разделяют очередь готовых процессов на несколько очередей, в каждой из которых находятся процессы с одинаковыми свойствами, и каждый из которых может планироваться индивидуальной стратегией, например RR стратегия для интерактивных процессов и FCFS для пакетных процессов. Взаимодействие очередей осуществляется по следующим правилам: ни один процесс с более низким приоритетом не может быть запущен, пока не выполнятся процессы во всех очередях с более высоким приоритетом. Работа процесса из очереди с более низким приоритетом может быть приостановлена, если в одной из очередей с более высоким приоритетом появился процесс.
-
Использование многоуровневой очереди с обратными связями. Она предполагает, что процессы при определенных условиях могут перемещаться между очередями. Недостаток заключается в затратах времени на перемещение процессов из одной очереди в другую.