Проблемы организации памяти мультипроцессорных вычислительных систем. Функции ОС по управлению памятью.
Управление памятью
5.
Тупиковые ситуации во взаимодействии процессов и методы их устранения
4.
Тупики или клинчи связаны со взаимной блокировкой во взаимодействующих процессов. Такая ситуация может возникнуть в том случае, когда два или более процессов требуют как минимум двух ресурсов.
Например, процесс А, потребуется ресурс R1, для продолжения процесса А требуется R2.Процессу В, потребуется ресурс R1,для продолжения процесса В требуется R2. Например оба процесса читают диск и печатают на принтере. Предположение, что активен процесс А, он занимает ресурс R1 и прерывается активным, активным становится процесс В, он занимает ресурс R2, он занят.
В клинч могу вступить множество процессов требующих попарно доступных ресурсов. Например R1,R2,R3,R4.
Варианты предотвращения тупиков.
- программистом
- ОС
1 вариант ресурсы предоставлять всегда в одинаковом порядке
2 вариант только в ОС. ОС анализирует потребность процессов в ресурсах некоторой задачи, которая запускается. Если эти ресурсы заняты другим процессом, то задача откладывается. Если тупик состоялся, то для определения этого состояния каждому процессу выделяем счётчик времени. Если процесс просрочил выданное ему время, предполагается что он находится в тупике. Производят отзыв этой задачи до некоторой контрольной точки, после чего освобождаются все ресурсы, занятые этим процессом. Этим обеспечивается занятие ресурсов другим процессом.
Существуют статические и динамический распределения памяти.
Функции ОС:
1.Отслеживание свободной памяти
2.Выделение памяти активным процессам, освобождение памяти при завершении процессам.
3.Свопинг – вытеснение программ из памяти на диск и обратное перемещение, подкачка.
4. Преобразование виртуальных адресов в физические. Физическая память отведена – оперативная память. Виртуальная память доступная пользователям вся.
5.Защита участка программы от санкционированного доступа.
Память – ОП, внешний носитель – ОЗУ.
Используется очень широко, windows процесс.
В общем случае выделяется 2 граничных регистра.
Регистр верхней границы и регистр нижней границы.
m- регистр верхней границы
m+N – регистр нижней границы
СС – схема сравнения
Исполнительный адрес посылает процесс фиксируется в адресной памяти
Значение адреса сравнивается с соседними верхними и нижними. M+N, если x в пределах границ, то есть x≥m, но х≤m+N, то значит этот адрес внутри того сегмента куда обращается программа. При выходе программы из заданной области, то есть x<m, x>m+N вызывается прерывание, выделяется неправильная адресация. Работа программы прекращается. В частном случае, например в Intel, содержание базового регистра может быть регистром верхней границы для обозначения нижней, его называют регистром границы.