虚拟地址

内存管理可以比喻为一个项目组的“封闭开发的会议室”。

为什么程序不能直接访问物理地址,例如3个程序同时想3F这个地址,分别写入数据2,100,200,而内存中只能保存一个数,就出现了问题。

所以解决方案是,物理地址对进程不可见。操作系统会为进程分配一个虚拟地址,所有进程看到的地址都是一样的,从0开始编号,1-100号会议室。

操作系统会提供一种机制,将不同进程的虚拟地址和不同内存的物理地址映射起来。

用户态和内核态对内存访问,都使用虚拟地址。

虚拟内存会被分成两个部分,一部分用来放内核的东西(内核空间),一部分用来放进程的东西(用户空间)。

普通进程不能访问内核空间,即使它是虚拟空间。

普通进程的视角

物理内存管理与MMAP

进入内核态的视角

物理内存管理与MMAP

关于作者

后端程序员,五年开发经验,从事互联网金融方向。技术公众号「清泉白石」。如果您在阅读文章时有什么疑问或者发现文章的错误,欢迎在公众号里给我留言。

物理内存管理与MMAP

相关文章:

  • 2021-07-25
  • 2021-12-17
  • 2021-12-03
  • 2022-12-23
  • 2021-09-26
  • 2021-07-23
  • 2022-01-12
猜你喜欢
  • 2021-08-05
  • 2021-06-30
  • 2021-06-17
  • 2022-02-08
  • 2021-06-21
  • 2022-02-23
  • 2022-12-23
相关资源
相似解决方案