当前位置: 技术问答>linux和unix
关于task_struct,页表,页目录
来源: 互联网 发布时间:2015-11-28
本文导语: 请问task_struct,页表,页目录存储在那个空间 MMU在地址转换的时候使用的页目录项是虚拟地址还是实际物理内存地址 以上问题有点不清楚请指教 | 内核空间。task_struct由于是最频繁用到的,所...
请问task_struct,页表,页目录存储在那个空间
MMU在地址转换的时候使用的页目录项是虚拟地址还是实际物理内存地址
以上问题有点不清楚请指教
MMU在地址转换的时候使用的页目录项是虚拟地址还是实际物理内存地址
以上问题有点不清楚请指教
|
内核空间。task_struct由于是最频繁用到的,所以有一个专门的内存池slab来分配,slab的好处是常驻内存空间,用的时候就节省了分配内存空间和释放时所用的时间。页目录由CPU的控制寄存器cr3指向的(IA-32体系结构情况下),即cr3存放的是页目录表的起始地址。页目录表和页表都是引导程序里就设置好的,页目录表中的每一项都是一个指向一个页表的指针。这样就形成了一个链,即cr3->页目录表->页表,最后加上偏移地址找到实际的物理地址。
MMU在地址转换的时候使用的页目录项是虚拟地址还是实际物理内存地址?
在找页目录项地址时用的是物理地址,由cr3来指定。而页目录项中存放的页表地址则是线性地址,既不是虚拟地址,也不是物理地址,而是变换的一个中间过程。它由两部分组成,由高位表示的页表的物理地址起始地址和低位表示的页表属性所组成的。
MMU在地址转换的时候使用的页目录项是虚拟地址还是实际物理内存地址?
在找页目录项地址时用的是物理地址,由cr3来指定。而页目录项中存放的页表地址则是线性地址,既不是虚拟地址,也不是物理地址,而是变换的一个中间过程。它由两部分组成,由高位表示的页表的物理地址起始地址和低位表示的页表属性所组成的。
|
当然在内核空间了,不然大家都随便可以改了。
页表的建立是在引导程序的head.s文件中.
页表的建立是在引导程序的head.s文件中.
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。