Решение проблемы внешней фрагментации — несмежное размещение

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

Но на самом деле эти разделы не являются смежными в физической памяти (ОЗУ). Если это так, то разве это не может решить проблему внешней фрагментации? Я имею в виду, что весь смысл внешней фрагментации в том, что нам не хватает смежного пространства. Итак, почему бы не разбить сегменты и не использовать несмежное пространство?

Я знаю, что мне чего-то не хватает. Может ли кто-нибудь уточнить это? Спасибо.


person Prashant Pandey    schedule 17.11.2016    source источник


Ответы (2)


Отображение логической страницы в физическую решает одну проблему фрагментации, но не все из них. Операционная система обычно имеет пулы памяти, которые могут быть фрагментированы. Кроме того, операционной системе необходимо манипулировать физической памятью. Одним из примеров являются сами таблицы страниц. Некоторая часть (если не вся — зависит от базового оборудования) таблицы страниц должна находиться в физической памяти.

person user3344003    schedule 17.11.2016
comment
Можете ли вы объяснить, как сопоставление решает проблему фрагментации? - person Prashant Pandey; 17.11.2016
comment
Отображение решает проблему создания линейного логического адресного пространства, поскольку кадры физических страниц могут быть сопоставлены с адресным пространством в любом порядке. Нет необходимости в смежных страничных фреймах для создания логического адресного пространства. - person user3344003; 18.11.2016

Физическая память. Под физической памятью понимается оперативная или основная память компьютера. Физическая память является энергозависимой памятью. Следовательно, для сохранения данных требуется непрерывный поток энергии.

Виртуальная память. Виртуальная память — это логическая память. Другими словами, это метод управления памятью, выполняемый операционной системой. Виртуальная память позволяет программисту использовать больше памяти для программ, чем доступная физическая память. Если физическая память составляет 4 ГБ, а виртуальная память — 16 ГБ, программист может использовать виртуальную память объемом 16 ГБ для выполнения программы. Используя виртуальную память, он может выполнять сложные программы, которым требуется больше памяти, чем физической памяти.

Основное различие между физической и виртуальной памятью заключается в том, что физическая память относится к фактической оперативной памяти системы, подключенной к материнской плате, а виртуальная память — это метод управления памятью, который позволяет пользователям выполнять программы, объем которых превышает размер фактической физической памяти.

person aziz trabelsi    schedule 28.03.2021