[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Отображение страниц памяти
Системный вызов mmap(2) можно использовать для установления
отображения между адресным пространством процесса и объектом
виртуальной памяти (в данном случае - файлом или устройством). Это
позволяет получать доступ к файлу и устройству как к массиву байт в
пределах адресного пространства процесса. mmap(2) возвращает начальный
адрес отображенной области памяти в пределах адресного пространства.
Далее этим адресом можно манипулировать, как любым другим адресом.
mmap(2) позволяет процессу отобразить в память весь файл или его
часть.
Оставшаяся часть раздела обсуждает отображение обычных файлов. mmap(2)
позволяет отображать и устройства, при условии, что драйвер устройства
поддерживает отображение памяти. Например:
. Отображение /dev/zero выделяет вызывающей программе заполненный
нулями блок виртуальной памяти указанного размера. Это может быть
альтернативой увеличению границы выделяемой памяти.
. Отображение фрейм-буфера графического устройства позволяет
программе трактовать экран устройства как массив памяти.
Аргументы mmap(2) обсуждаются на странице 4-62.
ОТОБРАЖЕНИЕ СТРАНИЦ ПАМЯТИ
mmap(2)
ИМЯ
mmap - отображение страниц памяти
ИСПОЛЬЗОВАНИЕ
#include <sys/types.h>
#include <sys/mman.h>
caddr_t mmap( caddr_t addr,
size_t len, int prot,
int flags, int fd, off_t off);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - адрес
неуспех - -1 и errno установлена