Я предполагаю, что вы говорите об отображении памяти в ядре Linux.
Отображение памяти - это процесс сопоставления адресного пространства ядра непосредственно с адресным пространством пользовательского процесса.
Типы адресов:
Виртуальный адрес пользователя: Это обычные видимые адресапо программам пользовательского пространства
Физические адреса: Адреса, используемые между процессором и системной памятью.
- Адреса шин: Адреса, используемые между периферийными шинами и памятью.Часто они совпадают с физическими адресами, используемыми процессором, но это не всегда так.
- Логические адреса ядра: Они составляют нормальное адресное пространство ядра.
- Виртуальные адреса ядра: Виртуальные адреса ядра аналогичны логическим адресам в том смысле, что они представляют собой адрес из пространства ядра в физический адрес.
Высокая и низкая память:
- Низкая память: Память, для которой существуют логические адреса в пространстве ядра.Почти на каждой системе, с которой вы, вероятно, столкнетесь, вся память имеет мало памяти.
- Большой объем памяти: Память, для которой логические адреса не существуют, поскольку она выходит за пределы диапазона адресов, установленного для виртуальных адресов ядра. Это означает, что ядру необходимо начать использовать временные отображениячасти физической памяти, к которым он хочет получить доступ.
Ядро разделяет виртуальный адрес на две части: пользователь адресное пространство и ядро адресное пространство.Код ядра и структуры данных должны вписываться в это пространство, но самый большой потребитель адресного пространства ядра - это виртуальные отображения для физической памяти.Таким образом, ядру нужен собственный виртуальный адрес для любой памяти, к которой он должен непосредственно прикасаться.Таким образом, максимальный объем физической памяти, который мог обрабатывать ядро, был объемом, который мог быть отображен в часть ядра виртуального адресного пространства, минус пространство, используемое кодом ядра.
Временное отображение: Когда необходимо создать отображение, но текущий контекст не может спать, ядро предоставляет временные отображения (также называемые атомарными отображениями).Ядро может атомарно отобразить страницу с большим объемом памяти в одно из зарезервированных отображений (которое может содержать временные отображения).Следовательно, временное сопоставление может использоваться в местах, которые не могут находиться в спящем режиме, например в обработчиках прерываний, поскольку получение сопоставления никогда не блокируется.
Ref: