Щоб зіставити пам’ять між пристроєм і
, процес користувача повинен відкрийте пристрій і виконайте системний виклик mmap() із отриманим дескриптором файлу. Операція драйвера пристрою mmap() має такий підпис: int (*mmap)(struct file *filp, struct vm_area_struct *vma);
Ця техніка називається відображенням пам'яті. Існує два типи відображення пам'яті: Спільний доступ. Кожна операція запису на сторінки області пам'яті змінює файл на диску; крім того, якщо процес записує на сторінку відображення спільної пам’яті, зміни видно всім іншим процесам, які відображають той самий файл.
Ранні комп’ютери керували прямим доступом до фізичної пам’яті. Linux ділить пам'ять на «зони» — 32-розрядні та 64-розрядні мають різні зони пам'яті. Розподіл пам’яті може відбуватися з більш обмежених зон, якщо там є вільна пам’ять. Зони та пам'ять приєднані до «вузла».
Щоб відобразити звичайний файл у пам’яті процесу, використовуйте виклик mmap ("Memory MAPped", вимовляється як "em-map").. Перший аргумент — це адреса, за якою ви хочете, щоб Linux відобразив файл у адресному просторі вашого процесу; значення NULL дозволяє Linux вибрати доступну початкову адресу.
Кожна адреса пам'яті ідентифікує один байт. Це називається пам'яттю з байтовою адресацією. Адресний простір пам'яті починається з 0. Схема пам'яті складається з сегментів, наприклад, сегмента адреси ядра, сегмента стека тощо.
Файли з відображенням пам'яті готові шляхом виведення сторінок на сторінки та перехоплення помилок сторінок на ці адреси. Все це виконується ОС шляхом узгодження між менеджером файлової системи та обробником помилок сторінки.