Что подразумевается под дырами в памяти Linux?

Мне встречался термин - дыры в памяти в линуксе. Я считаю, что это память, которая переназначается вводом-выводом. Правильно ли я понимаю?


person dexterous    schedule 13.05.2014    source источник


Ответы (1)


Дыры в памяти могут означать разные вещи:

1) Это может относиться к адресации физической памяти: по историческим причинам и причинам загрузки в архитектуре «стандартного ПК» (x86) вся системная оперативная память не является непрерывной. В адресном пространстве есть «дыры», где находится ввод-вывод с отображением памяти. Например, с самых первых дней была зарезервирована область для загрузочного ПЗУ (BIOS) и видеопамяти. Кроме того, существует большая область адресного пространства, зарезервированная для динамического назначения периферийным устройствам PCI (и PCI-X или PCI-Express). Эти области часто отображаются по мере необходимости в виртуальное адресное пространство ядра драйверами устройств (что может называться «переназначением ввода-вывода»).

Контроллеры памяти, встроенные в материнскую плату, позволяют настраивать физический адрес ОЗУ (обычно это обрабатывается BIOS в стандартной архитектуре ПК). Другие [не x86] архитектуры часто имеют аналогичные дыры в физическом адресном пространстве.

2.) Этот термин также может относиться к неназначенным областям в виртуальном адресном пространстве. Как виртуальное адресное пространство ядра, так и виртуальное адресное пространство пользовательских процессов обычно имеют в себе «дыры». Например, linux не отображает никакую физическую память, соответствующую виртуальному адресу 0 (т. е. первая страница адресного пространства никогда не имеет действительной памяти) — это позволяет перехватывать ссылки нулевого указателя.

В некоторых видах распределения памяти ядро ​​Linux поддерживает неотображенные области между правильно выделенными областями виртуальной памяти, чтобы перехватывать ошибочные ссылки на память (т. е. те, которые выходят за пределы выделенного пространства).

person Gil Hamilton    schedule 13.05.2014