内存映射问题

Posted hustcpp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存映射问题相关的知识,希望对你有一定的参考价值。

今天看到内存映射,恰好在腾讯面试的时候被问到。当访问大于映射的大小的地址时会出现什么情况。 我亲自试验了,是没问题的。

当然这其中有两种情况,1.超过映射的内存大小但不超过一个内存页4k;2.超过已分配的内存页。 

这两种情况都没有出现段错误,(有人说后者出现bus错误)。

网上有合理解释是越界访问到了恰好有效的地址。 然后越界访问的后果很多情况。 

最后,可以确定的是,对text即代码区,和常量区的修改会出现段错误。 

以上是关于内存映射问题的主要内容,如果未能解决你的问题,请参考以下文章

内存映射:小块内存申请brk和申请大块内存的Mmap分析

内存映射文件原理探索

内存映射文件原理探索

Linux内存管理架构之四(mmap内存映射机制)

内存映射 io 和 io 映射 io 有啥区别

内存Cache直接映射、全相联映射和组相联映射