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

谁搞得灵清虚拟地址与物理地址!帮帮忙啦

    来源: 互联网  发布时间:2014-10-25

    本文导语:  为什么说Linux的内核态线程是没有虚拟存储空间的进程,它们运行在内核态中,直接使用物理地址空间。能直接使用物理地址吗? 详细点啦 |swapper_pg_dir在3GB~4GB映射物理内存地址0~系统最大物理内存。 ...

为什么说Linux的内核态线程是没有虚拟存储空间的进程,它们运行在内核态中,直接使用物理地址空间。能直接使用物理地址吗?
详细点啦

|
swapper_pg_dir在3GB~4GB映射物理内存地址0~系统最大物理内存。 并使用: #define PAGE_OFFSET ((unsigned long)__PAGE_OFFSET) #define __pa(x) ((unsigned long)(x)-PAGE_OFFSET) #define __va(x) ((void *)((unsigned long)(x)+PAGE_OFFSET)) #define __PAGE_OFFSET (0xC0000000) 进行转化(多是在填写页表时用到),其实,在程序中都是一般都是使用虚拟地址,内核并不需要特殊的转换,只需要把页表填写好,mmu会自动完成这些工作的。
|
好象这里不好说清楚,你还是多看看相关书,比如操作系统。有本叫<Linux编程白皮书>中也有一段关于虚址与物理地址的说明,不防看看。

    
 
 

您可能感兴趣的文章:

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












  • 相关文章推荐


  • 站内导航:


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

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

    浙ICP备11055608号-3