码迷,mamicode.com
首页 > 系统相关 > 详细

[Linux内存]linux内存学习(二)——分段和分页

时间:2015-01-26 20:58:14      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

一:内存分段和分页。
点击打开链接

每个用户空间的linux进程都有3G的地址空间,(虚拟地址空间3G-4G空间是linux内核使用的),用户空间看到的进程地址都是指虚拟地址空间,然后操作系统通过MMU再将虚拟地址映射到实际的物理地址。

分段:就是将整个程序映射到linux内存的物理地址,假设有两个进程 A 和 B ,进程 A 所需内存大小为 10M ,其虚拟地址空间分布在 0x00000000 到 0x00A00000 ,进程 B 所需内存为 100M ,其虚拟地址空间分布为 0x00000000 到 0x06400000 。那么按照分段的映射方法,进程 A 在物理内存上映射区域为 0x00100000 到
 0x00B00000 ,,进程 B 在物理内存上映射区域为 0x00C00000 到 0x07000000 。于是进程 A 和进程 B 分 别被映射到了不同的内存区间,彼此互不重叠,实现了地址隔离‘


分页:因为分段只能是将整个程序映射到物理地址空间,这样会造成大量的磁盘访问操作,导致效率低下。所以这种映射方法还是稍显粗糙,粒度比较大,而分页的思想就是程序的真正被执行的页才会被映射到内存里。

[Linux内存]linux内存学习(二)——分段和分页

标签:

原文地址:http://www.cnblogs.com/zhiliao112/p/4251185.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!