当前位置:  技术问答>linux和unix

关于task_struct,页表,页目录

    来源: 互联网  发布时间:2015-11-28

    本文导语:  请问task_struct,页表,页目录存储在那个空间 MMU在地址转换的时候使用的页目录项是虚拟地址还是实际物理内存地址 以上问题有点不清楚请指教 | 内核空间。task_struct由于是最频繁用到的,所...

请问task_struct,页表,页目录存储在那个空间
MMU在地址转换的时候使用的页目录项是虚拟地址还是实际物理内存地址

以上问题有点不清楚请指教

|
内核空间。task_struct由于是最频繁用到的,所以有一个专门的内存池slab来分配,slab的好处是常驻内存空间,用的时候就节省了分配内存空间和释放时所用的时间。页目录由CPU的控制寄存器cr3指向的(IA-32体系结构情况下),即cr3存放的是页目录表的起始地址。页目录表和页表都是引导程序里就设置好的,页目录表中的每一项都是一个指向一个页表的指针。这样就形成了一个链,即cr3->页目录表->页表,最后加上偏移地址找到实际的物理地址。

MMU在地址转换的时候使用的页目录项是虚拟地址还是实际物理内存地址?
在找页目录项地址时用的是物理地址,由cr3来指定。而页目录项中存放的页表地址则是线性地址,既不是虚拟地址,也不是物理地址,而是变换的一个中间过程。它由两部分组成,由高位表示的页表的物理地址起始地址和低位表示的页表属性所组成的。

|
当然在内核空间了,不然大家都随便可以改了。
页表的建立是在引导程序的head.s文件中.

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何由pid获得task_struct?
  • ubuntu11.04 task_struct结构
  • 如何用pid获取该进程对应的task_struct
  • 进程运行时,内核的哪部分来维护task_struct结构?
  • 如何在用户进程中获取当前进程的task_struct结构地址?
  • linux2.4.0:task_struct成员意义问题
  • 关于task_struct flags的race condition
  • struct task_struct * get_current(void)函数的解释--help!!
  • 谁有task_struct数据结构中文注解---急救啊!!!!在线等待


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3