
你确定你想用 MMAP 实现数据库么?_哔哩哔哩_bilibili
MMAP 的随机读与顺序读的性能表现不好,以及对于写主要是不可控的刷入时机以及代码冗余,所以 MMAP 不适合在数据库中使用。
mmap是posix系统调用,它提供由操作系统管理内存映射的文件。基于mmap的文件io并不适合您的dbms。持久化存储中读取和写入文件的能力(persistent file storage)。一些流行使用的是内存映射文件io即mmap。在程序需要文件页之前,他实际上不会将文件页加载到内存。但是当操作系统检索页面的时候,他会意识到内存中没有关联的物理页面,所以它需要触发一个页面错误才能从磁盘上获取它,然后OS向页面添加物理地址映射到虚拟地址的条目,映射也将被存储在称为转译后备缓冲区或TLB的特殊cpu缓存中,这将有助于加速未来的重复访问,所以我们不总是在页表中进行查找内容


最低0.47元/天 解锁文章
455

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



