Билет 20 2. Функции ОС по управлению памятью в мультипрограммной системе

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

2. Функции ОС по управлению памятью в мультипрограммной системе

Степень осведомленности Взаимосвязь Влияние одного процесса на другой Потенциальные проблемы
Процессы не осведомлены друг о друге Конкуренция Результат работы одного процесса не зависит от действий других. Возможно влияние одного процесса на время работы другого. Взаимоисключения Взаимоблокировки Голодание
Процессы косвенно осведомлены о наличии друг друга Сотрудничество с использованием разделения Результат работы одного процесса может зависеть от информации, полученной от других. Возможно влияние одного процесса на время работы другого. Взаимоисключения Взаимоблокировки Голодание Синхронизация
Процессы непосредственно осведомлены о наличии друг друга Сотрудничество с использованием связи Результат работы одного процесса может зависеть от информации, полученной от других. Возможно влияние одного процесса на время работы другого. Взаимоблокировки (возобновляемые ресурсы) Голодание

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

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

2. Блокирующие переменные (программный подход)

3. Использование системных функций входа в критическую секцию

4. Семафоры Дийкстры

Системные функции для работы с критическими секциями

Достоинство: исключается потеря времени процессора на циклическую проверку освобождения занятого ресурса. Недостаток: растут накладные расходы ОС на по реализации функции входа в критическую секцию и выхода из нее.

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

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

Функциями ОС по управлению памятью в мультипрограммной системе явля­ются:

1. отслеживание свободной и занятой памяти;

2.выделение памяти процессам и освобождение памяти по завершении процессов;

3. вытеснение кодов и данных процессов из оперативной памяти на диск (пол­ное или частичное), когда размеры основной памяти не достаточны для раз­мещения в ней всех процессов, и возвращение их в оперативную память, ко­гда в ней освобождается место;

4. настройка адресов программы на конкретную область физической памяти.

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

Защита памяти — это еще одна важная задача операционной системы, которая состоит в том, чтобы не позволить выполняемому процессу записывать или чи­тать данные из памяти, назначенной другому процессу. Эта функция, как прави­ло, реализуется программными модулями ОС в тесном взаимодействии с аппа­ратными средствами.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: