Управление памятью при работе взаимосвязанных процессов.
Управление памятью необходимо для распределения памяти между отдельными задачами, программами, буферами (например, буферами файлов, обменов) и один из методов – это перемещение процесса (программы на выполнение) в оперативной памяти.
Данный механизм называется SWAP и делится на два этапа: SWAP IN – загрузка процесса в оперативную память. Характеризуется выделением какого-либо участка оперативной памяти и резервированием его таким образом, чтобы другие процессы не нарушили целостности.
Второй этап: SWAP OUT – выгрузка какого-либо процесса (программы) из оперативной памяти и освобождение памяти под другие процессы.
Проблемы: 1) процессы могут быть независимыми, тогда проблема в том, чтобы участки памяти не пересекались. Должен быть предусмотрен такой механизм, чтобы начальный адрес процесса не попадал в область ОС.
2)При работе взаимосвязанных процессов.
Один процесс может инициировать загрузку с диска еще каких-либо процессов. При SWAP OUT этого процесса должна быть освобождена память не только то самого процесса, но и от тех, которые были вызваны данным процессом. Самая большая проблема – фрагментация памяти – это явление, которое возникает при загрузке и удалении процессов и может привести к тому, что при сильной фрагментации памяти нет достаточно большого участка, чтобы загрузить очередной процесс, особенно в случае взаимосвязанных процессов. .del – динамически связанные библиотеки – наиболее проблематичны.
Дата добавления: 2016-07-18; просмотров: 1403;