Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционная система воросы.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
10.15 Mб
Скачать
  1. Примитивы межпроцессного взаимодействия. Мьютексы. Семафоры. Мониторы. Передача сообщений. Барьеры.

Примитивы межпроцессного взаимодействия используются для решения таких проблем, как проблема производителя и потребителя, проблема обедающих философов, проблема читателей и писателей и проблема спящего брадобрея. Но даже при использовании примитивов необходимо отслеживать ситуации, приводящие к ошибкам и взаимоблокировкам.

Mutex-предотвращает одновременный доступ к буферу производителя и потребителя.

значение 0 – разрешает, значение 1-запрещает. На время проверки Mutex все действия запрещены.

семафор .значение семафора может быть равно 0, что будет свидетельствовать об отсутствии сохраненных активизаций или иметь какое-нибудь положительное значение, если ожидается не менее одной активизации.

Монитор-это приметива межпроцес0сорного взаимодействия, которая релизруется на уровне из программирования и не допускается более 1 процесса в теле функции.

В теле ф. находиться 1 процесс, 2-ой не начнется, пока не закончиться 1-ый.

Передача сообщений.

Send-передать

Receive- ответить

Производиться отправка в Receive, но так как сообщение может не прийти,потеряться в сети, потребитель должен ответить, при получении.

Барьер- это условие ,которое необходимо выполнить для попадения в критическую секцию.

  1. Проблемы межпроцессного взаимодействия. Проблема обедающих философов. Проблема читателей и писателей. Проблема спящего брадобрея. Решения проблем.

Модель решения проблемы межпроцессного взаимодействия. 1. Исходные данные: - кол-во процессов, претендующих на обслуживание, произвольное; - одновременно обслуживается только 1 процесс; - число ожидающих процессов не более n;

  1. Планирование в системах пакетной обработки данных. Планирование в системах реального времени. Примеры планирования.

«Первым пришел — первым обслужен»

Процессам предоставляется доступ к процессору в том порядке, в котором они его запрашивают. Чаще всего формируется единая очередь ждущих процессов. Как только появляется первая задача, она немедленно запускается и работает столько, сколько необходимо. Остальные задачи ставятся в конец очереди. Когда текущий процесс блокируется, запускается следующий в очереди, а когда блокировка снимается, процесс попа­дает в конец очереди.

Основным преимуществом этого алгоритма является то, что его легко понять и столь же легко программировать.

Недостатком является абсолютная неоптимизированность планирования.

«Кратчайшая задача — первая»

Рассмотрим еще один алгоритм без переключений для систем пакетной обработки, предполагающий, что временные отрезки работы известны заранее. Если в очереди есть несколько одинаково важных задач, планировщик выбирает первой самую короткую задачу.

Преимущество алгоритма заключается в оптимизации задачи.

Недостатком является то, что эта схема работает лишь в случае одновременного наличия задач.

Наименьшее оставшееся время выполнения

Версией предыдущего алгоритма с переключениями является алгоритм наименьшего оставшегося времени выполнения. В соответствии с этим алгоритмом планировщик каждый раз выбирает процесс с наименьшим оставшимся временем выполнения. В этом случае также необходимо заранее знать время выполнения задач. Когда поступает новая задача, ее полное время выполнения сравнивается с оставшимся временем выполнения текущей задачи. Если время выполнения но­вой задачи меньше, текущий процесс приостанавливается и управление передается новой задаче. Эта схема позволяет быстро обслуживать короткие запросы.

Трехуровневое планирование

Системы пакетной обработки позволяют реализовать трехуровневое планирование, как показано на рисунке. По мере поступления в систему новые задачи сна­чала помещаются в очередь, хранящуюся на диске. Впускной планировщик доступа выбирает задание и передает его системе. Остальные задания остаются в очереди.

Как только задание попало в систему, для него будет создан соответствующий процесс, и он может тут же вступить в борьбу за доступ к процессору. Тем не менее возможна ситуация, когда процессов слишком много и они все в памяти не помещаются, тогда некоторые из них будут выгружены на диск. Второй уровень планирования определяет, какие процессы можно хранить в памяти, а какие — на диске. Этим занимается планировщик памяти.

Системы реального времени относятся к тому разряду систем, в которых время

играет очень важную роль.

Системы реального времени обычно делятся на жесткие системы реального

времени (системы жесткого реального времени), в которых соблюдение всех

крайних сроков является обязательным, и гибкие системы реального времени

(системы мягкого реального времени), в которых нерегулярные несоблюдения

крайних сроков нежелательны, но вполне допустимы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]