操作系统内存分页管理

发布于 2022-09-11 18:20:33 字数 433 浏览 47 评论 0

今天看了操作系统相关的教程,里边提到分页式存储管理中,内存管理是将程序PCB中的逻辑内存地址根据地址映射转换成物理地址,我的理解是PCB里边有一个链表存放很多逻辑地址,然后一个个的解析映射得到物理地址。但是看了一下Linux的实现机制,是根据mm_struct里边的vm_area_struct来映射,每个vm_area_struct有vm_start和vm_end表示逻辑地址区间,这个我就搞蒙了,用区间的话具体是怎么实现的,还是说Linux实现的内存管理跟理论上的有差别呢?
clipboard.png

clipboard.png
请大神解惑

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月亮是我掰弯的 2022-09-18 18:20:33

内存管理分为物理内存空间管理和虚拟内存空间管理。

vm_area_struct 这个是用来管理进程的虚拟内存空间的。

分成一个一个个区间的原因是虚拟地址空间是空间不连续的(比如代码段和数据段)和访问权限不同。

PS 我觉得下面那副图已经比较清晰了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文