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

读kernel0.11版本的一点感触:都是为了追求效率?

    来源: 互联网  发布时间:2015-09-07

    本文导语:  这几天看了一下kernel0.11版本中内存管理memory.c 我功底比较差,所以看其中的一个函数free_page_tables()中的地址变换时,刚开始时搞得我 晕头转向。  line 114:  size = (size + 0x3fffff) >> 22;  line 115:  dir = (unsigned...

这几天看了一下kernel0.11版本中内存管理memory.c
我功底比较差,所以看其中的一个函数free_page_tables()中的地址变换时,刚开始时搞得我
晕头转向。

 line 114:  size = (size + 0x3fffff) >> 22;
 line 115:  dir = (unsigned long *) ((from>>20) & 0xffc);

 其中line114似乎可以改为size=size>>22+1,其中+1的原因似乎是因为目录表中第0项不用的原因。
但是原著的写法让人有点难懂;
 line115中最直观的写法应该是dir=(unsigned long *) ((from>>22) 22 等价于 size>>22
而不是size>>22 + 1

    
 
 

您可能感兴趣的文章:

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












  • 相关文章推荐
  • linux kernel0.11 版本文件系统的一个小疑问


  • 站内导航:


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

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

    浙ICP备11055608号-3