Добавил:
vk.com/timelordru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БОС Ekzamen.docx
Скачиваний:
12
Добавлен:
02.06.2024
Размер:
5.98 Mб
Скачать

12 Билет

12. Рабочий набор, его использование для выбора вытесняемой страницы.

Основной принцип – вытесняется страница, которая предположительно не будет использоваться в ближайшее время.

Используются:

- признак модификации (M) (M=0, если не было модификации за заданный период времени; M=1, если была модификация);

- признак обращения (R) (R=0, если не было обращения за заданный период времени; R=1, если было обращение).

Алгоритм «рабочий набор»

Рабочий набор – множество страниц, которое процесс использует в данный момент.

Основная задача – отслеживание рабочего набора каждого процесса и обеспечение его нахождения в памяти до запуска процесса.

При страничном прерывании вытесняется страница, не входящая в рабочий набор.

    • τ (тау) – интервал виртуального времени, в пределах которого рассматривается рабочий набор;

    • если R=0 и возраст страницы > τ (больше тау), то данная страница не находится в рабочем наборе и вытесняется;

    • если все страницы с R=0 имеют возраст страницы ≤ τ (меньше или равно тау), то вытесняется страница с наибольшим возрастом.

Диспетчер рабочих наборов реализует усечение рабочего набора, запись модифицированных страниц. Вызывается раз в секунду или при уменьшении объёма свободной памяти ниже заданного порога.

32. Синхронизация процессов и потоков. Решаемые задачи. Используемые средства. Критические области.

Синхронизация потоков – согласование скоростей параллельно выполняющихся потоков путём приостановки потока до наступления какого-либо события и последующей его активизации при наступлении этого события.

Состояние состязания – ситуация, когда два или более потоков работают с разделяемыми ресурсами (устройствами или данными) и конечный результат зависит от соотношения скоростей выполнения потоков.

Задачи, решаемые с помощью синхронизации:

  • Обработка процессом некоторых аппаратных прерываний.

  • Синхронизация параллельных процессов, выполняющих действия с общей областью оперативной памяти.

  • Синхронизация параллельных процессов, выполняющих информационный обмен при использовании общей области оперативной памяти.

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

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

Условия правильной совместной работы параллельных потоков:

  • Два потока не должны одновременно находиться в критических областях.

  • В программе не должно быть предположений о скорости или количестве процессоров.

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

Взаимное исключение с активным ожиданием

Запрет всех прерываний при входе потока в критическую область и разрешение при выходе.

Активный поток не может смениться, так как запрещены все прерывания, включая прерывание по таймеру.

Блокирующие переменные.

Команда TSL