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

最近在学习赵炯的写的0.11内核,有点疑问请大大们,帮忙看看,感激不尽~

    来源: 互联网  发布时间:2017-04-17

    本文导语:  最近在学习赵炯的写的0.11内核,有点疑问请大大们,帮忙看看,感激不尽~ 《linux内核完全注释v3.0》书上说: 1.不启用分页的话,线性地址则就是物理地址; 2.linux相当于没有使用分段功能,代码段和数据段都映射到...

最近在学习赵炯的写的0.11内核,有点疑问请大大们,帮忙看看,感激不尽~

《linux内核完全注释v3.0》书上说:
1.不启用分页的话,线性地址则就是物理地址;
2.linux相当于没有使用分段功能,代码段和数据段都映射到同一个线性地址空间(参见5.3节图5-14)

这里有疑惑:
1. 程序中的代码段中数据的地址 和 数据段的数据的地址 都是从0分配地址的吗?
2. 分配的地址应该是段内偏移地址吧?
3. 问题1.如果是从0分配地址的话,他们映射到线性地址空间(段基址*N+偏移地址),岂不是重叠了?这样数据岂不被覆盖了?



|
据我理解,不是从0分配的。

比如你定义的代码段,数据段,这些在PE或者ELF格式文件中有相应的位置。所有的这些段,包括你自定义的,都是从0开始依次排开的。段的大小,要看你代码中怎么写。

没有启用分页的话,线性地址就是物理地址,也就是说PE或者ELF中的地址就是实际内存条上的地址,这样的话,每次只能运行一个程序。

|
1. 程序中的代码段中数据的地址 和 数据段的数据的地址 都是从0分配地址的吗?
=> 不是的,0.11中,每个程序拥有自己的独立线性空间,大小为64M,4G的线性空间被分成了4*1024M/64M = 64,也就是说有64个段,每个段代表了一个程序线性空间。你说的代码段和数据段都被包含在了这个段中。

2. 分配的地址应该是段内偏移地址吧?
=> 是的,程序中函数或变量的地址都是相对于程序段线性空间里面的偏移地址。

3. 问题1.如果是从0分配地址的话,他们映射到线性地址空间(段基址*N+偏移地址),岂不是重叠了?这样数据岂不被覆盖了?
=> 同上。

|
楼主,我也在看这边书。。。同样的疑问!!!

    
 
 

您可能感兴趣的文章:

  • 我想学习linux桌面编程,那么有没有必要学习linux的内核以及内核的相关编程呢?
  • 学习linux网络编程需要学习些内核知识吗?
  • 《Linux内核情景分析》值得推荐的内核学习参考两用资料
  • linux内核中网络模块的学习
  • 有关linux内核的学习
  • 高人指点下内核学习
  • 在哪儿可以报名学习Linux内核编程
  • 紧急求救,内核的学习
  • 如何深入Linux的内核学习?
  • ★★★小弟想学习Linux内核,请问装哪个版本的比较合适?★★★
  • 学习linux内核入门:从哪一部分开始学习?
  • 有没有linux内核学习的QQ群呢?
  • 内核学习,请达人指导
  • 学习LIUNX内核应具备那些知识!!
  • 请教linux的学习,怎么学? 内核开发找什么样的工作?
  • 搞ARM一定要学习Linux内核吗?
  • 请教高手:如何学习内核编程?
  • linux内核学习及工作的提问
  • 怎么学习LINUX的内核呀?
  • 内核学习求教!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 小弟在学习LINUX程序设计时遇到有关wait和waitpid的问题,请各位达人帮忙,不胜感激。
  • PHP介绍及学习网站推荐
  • 想深入学习Java应该学习哪些东西
  • 准备学习docker: docker version命令查看版本
  • 新手提问:学习c++同时也想学习unix和linux
  • HTML 学习总结及下一步学习教程推荐
  • 学习c后,学习pb,大家提点建议,谢谢哦
  • OpenStack相关学习资料搜集
  • 有最近开始学习Minix的吗?一起来学习吧
  • juqery的python实现:pyquery学习使用教程
  • 我想问问哪里有AIX下啊!~版本越新越好!~我想拿来学习学习
  • 想找共同学习Linux的新手,一起学习,共同成长
  • 学习java好 还是学习嵌入式开发好??
  • 从Delphi开始学习Java,如何学习Java.欢迎大家的光临!
  • 请问学习JAVABEANS是不是就是学习java.beans.*类库??
  • 谁有 电子版 mastering ejb 2e 多谢!!及学习EJB 集合什么实例学习比较快一点?
  • 我想学习Unix,请高手给个下载网址,用linux来学习Unix差别大吗?
  • 你们学习Linux是学习什么的?
  • 我想问一个大家,我现在刚学习LINUX,我想问一下在LINUX学习哪些知识有前途???
  • unix下C++代码中如何进行数据库操作?给个完整代码学习学习
  • 学习Java是从基础知识开始学习好还是直接学习JBuilder好?
  • 我想学习LINUX,在哪里下手学习,我现在要看什么样的教材?


  • 站内导航:


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

    ©2012-2021,