Как разделение памяти работает с mmap() и виртуальной памятью?Linux

Ответить
Anonymous
 Как разделение памяти работает с mmap() и виртуальной памятью?

Сообщение Anonymous »

Передняя часть: [*]
Предположим, что у нас 32-разрядная ОС Linux с 4 ГБ физической памяти.
[*]
Раздела подкачки нет!
[*]
Есть ядро, резервирующее 200 МБ невыгружаемой памяти, которую никто другой не может использовать (все это утверждение является лишь моим предположением, и вы можете исправить значение или заявить, что ядро ​​этого не делает).< /п> [*]В момент времени t₀ есть три процесса p1, p2 и p3, потребляющие 1 ГБ физической памяти.
[*]
Теперь запускается четвертый процесс, который mmap(2) имеет 4 ГБ памяти с MAP_PRIVATE пустого файла с PROT_WRITE ! Этот процесс запускает цикл for, записывая некоторое значение в каждый элемент этого mmap массива; вот так:

for(int i=0; i
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»