1. 一句话概括mmap
mmap的作用,在应用这一层,是让你把文件的某一段,当作内存一样来访问。将文件映射到物理内存,将进程虚拟空间映射到那块内存。
这样,进程不仅能像访问内存一样读写文件,多个进程映射同一文件,还能保证虚拟空间映射到同一块物理内存,达到内存共享的作用。
2. 虚拟内存?虚拟空间?
其实是一个概念,前一篇对于这个词没有确切的定义,现在定义一下:
虚拟空间就是进程看到的所有地址组成的空间,虚拟空间是某个进程对分配给它的所有物理地址(已经分配的和将会分配的)的重新映射。
而虚拟内存,为啥叫虚拟内存,是因为它就不是真正的内存,是假的,因为它是由地址组成的空间,所以在这里,使用虚拟空间这个词更加确切和易懂。(不过虚拟内存这个词也不算错)
2.1 虚拟空间原理
2.1.1物理内存
首先,物理地址实际上也不是连续的,通常是包含作为主存的DRAM和IO寄存器