linux内存管理高手进

ask_qianru 2011-05-11 10:55:15
有个问题,内核启动的时候要建立页表,根据ram的大小不同,建立页表也不同;
比如当RAM小于896MB的时候建立一个页表A;
后来又当RAM大于4096MB的时候建立一个页表B;
我很不明白,是废弃掉页表A,重新建立页表B;
还是在页表A的基础上增加页表B,以前的页表A还可以用?
完全不解,忘指教!
...全文
118 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ask_qianru 2011-06-07
  • 打赏
  • 举报
回复
楼上的好神奇,基本的概念谁不知道?倒塌,算了,看来现在的世界,能静下来读内核的不多.
Kyph 2011-05-31
  • 打赏
  • 举报
回复
每个任务一个页表,涵盖了全部的虚空间。
虚空间一段范围(可能是一页,也可能是一段)的映射都由一个页表项来描述,也就是说,每个任务的页表存在若干个页表项。
在x86机器中,页表存在于系统内存中,采用三级页表方式;
在sparc等其他机器中,页表项直接由TLB实现。
子愚 2011-05-30
  • 打赏
  • 举报
回复
还是去ChinaUnix问问大牛吧,CSDN linux kernel恐怕.....
ask_qianru 2011-05-19
  • 打赏
  • 举报
回复
这个问题好象没有啥子意义哈,我记得我在<<深入理解Linux内核>>里面看到,是以前建立的临时页表的表项好象还是有用,会添加到新建立的页表中.
kkkwdb 2011-05-11
  • 打赏
  • 举报
回复
根据ram的大小不同,建立页表也不同.啥意思?
linux可以采用2级页表或3级页表(PAE)。
2级中的一个页表可以表示2^10 * 4KB的物理内存,
PAE中的一个页表极端的情况下表示2^51 * 4KB内存
36位大地址空间可以采用PAE技术
子愚 2011-05-11
  • 打赏
  • 举报
回复
你怎么不把old ISA的DMA 16M也说进去?

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧