Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Зачёт / Ответы на вопросы зачёта.docx
Скачиваний:
0
Добавлен:
29.09.2026
Размер:
203 Кб
Скачать
☆

20. Опишите организацию многозадачности в осрв.

  1. Параллельные процессы и задачи: ОСРВ позволяют существовать нескольким процессам или задачам, находящимся в состоянии "выполняется", что делает систему многозадачной. Эти процессы выполняются параллельно, что позволяет эффективно использовать ресурсы.

  2. Мультипрограммирование и очереди запросов: ОСРВ поддерживает мультипрограммирование, что повышает пропускную способность системы. Однако, ни один отдельный процесс не может быть выполнен быстрее, чем если бы он выполнялся в однопрограммном режиме. Для эффективного использования ресурсов система организует очереди запросов к ним.

  3. Выделение ресурсов и супервизор: Система ОСРВ выделяет ресурсы процессам с помощью супервизора операционной системы - центрального управляющего модуля. При необходимости использования ресурса процесс обращается к супервизору с запросом, указывая вид ресурса и его объем.

  4. Управление доступом и блокировка: если ресурс занят, система помещает процесс в очередь к ресурсу и переводит его в состояние ожидания (блокирует). После окончания работы с ресурсом процесс сообщает об этом супервизору, который освобождает ресурс и, при наличии очереди, обслуживает следующий запрос.

  1. Опишите механизм синхронизации задач в ОС и алгоритмы его реализации

Механизмы синхронизации задач в ОС:

  • Критические секции

  • Семафоры.

  • События.

1. Критические секции

Критическая секция — участок исполняемого кода программы, в котором производится доступ к общему ресурсу (данным или устройству), который не должен быть одновременно использован более чем одним потоком выполнения. При нахождении в критической секции двух (или более) потоков возникает состояние «гонки».

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

2. Семафоры

Семафоры (semaphore) — это основной метод синхронизации. Он, в сущности, является наиболее общим методом синхронизации процессов.

В классическом определении семафор представляет собой целую переменную, значение которой больше нуля, то есть просто счетчик.

Семафоры, которые могут принимать лишь значения 0 и 1, называются двоичными. Над семафо­рами определены две операции - signal и wait. Операция signal увеличивает значение семафора на 1, а вызвавший её процесс продолжает свою работу. Операция wait приводит к различным результатам, в зависимости от текуще­го значения семафора. Если его значение больше 0, оно уменьшается на 1, и процесс, вызвавший операцию wait, может продолжаться. Если семафор имеет значение 0, то процесс, вызвавший операцию wait, приостанавливается (ставится в очередь к семафору) до тех пор, пока значение соответствующего семафора не увеличится другим процессом с помощью операции signal. Только после этого операция wait приостановленного процесса завершается (с уменьшением значения семафора), а приостановленный процесс продол­жается.

3. События

В некоторых случаях несколько процессов, имеющих доступ к общим данным, должны работать с ними только при выполнении некоторых усло­вий, необязательно связанных с данными и разных для каждого процесса. Для этого существует переменная синхрони­зации event (событие), с которой связаны операции await (ждать) и cause (вызвать). Процесс, выполнивший операцию await (event), остается в состоя­нии ожидания, пока значение переменной event не изменится. Это изменение контролируется с помощью операции cause. При наступлении события, то есть выполнении операции cause (event), освобождаются все ожидающие его процессы.

Соседние файлы в папке Зачёт