Linux 内存管理全解析
1. 内存映射与高级内存分配
1.1 内存映射
可以使用 mmap 函数将 /dev/zero 的一页内存映射到进程的地址空间,示例代码如下:
/* map [0,page size) of /dev/zero */
p = mmap (NULL, /* do not care where */
getpagesize ( ), /* map one page */
PROT_READ | PROT_WRITE, /* map read/write */
MAP_PRIVATE, /* private mapping */
fd, /* map /dev/zero */
0); /* no offset */
if (p == MAP_FAILED) {
perror ("mmap");
if (close (fd))
perror ("close");
return -1;
}
/* close /dev/zero, no longer needed */
if (close (fd))
perror ("close");
/* 'p' points at one page of memory
超级会员免费看
订阅专栏 解锁全文
1590

被折叠的 条评论
为什么被折叠?



