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

关于页表的疑问,这不科学。。。。!

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

    本文导语:  操作系统表述: 对于一个具有32位逻辑地址空间的分页系统,规定页面大小为4 KB即212 B,则在每个进程页表中的页表项可达1兆个之多。又因为每个页表项占用一个字节, 故每个进程仅仅其页表就要占用1M的内存空...

操作系统表述:
对于一个具有32位逻辑地址空间的分页系统,规定页面大小为4 KB即212 B,则在每个进程页表中的页表项可达1兆个之多。又因为每个页表项占用一个字节, 故每个进程仅仅其页表就要占用1M的内存空间,而且还要求是连续的。 

我怎么觉得它说的不对,怎么可能每个进程都需要1m页表,如果是个很小的进程,这样的页表本身也是一个浪费,页表大小应该根据进程大小而定啊

|
不是这么说的。由于mmu,每个进程有独立的4g的虚拟地址。其中0-3g由进程使用。注意这仅仅是虚拟地址。
而后进程描述符task_struct的有一个内存描述符字段mm_struct mm。而内存描述符的字段里保存了一个vm_area_struct结构体的链表。这个vm_area_struct结构体叫做线性区描述符,这个描述符链表描述了进程使用了哪些虚拟地址。而进程的页表仅仅描述了线性区描述的地址而已,所以进程使用地址越少,其实页表也越少得。

|
关键点:1.多级页表
2.未分配的线性地址在第一级,第二级,第三级...中可以标记为未使用。那么后面的级别的页表就不用存在了。访问一个未分配的线性地址会出现段错误。

    
 
 

您可能感兴趣的文章:

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












  • 相关文章推荐
  • 关于java.util.EventObject的疑问?和abstract ,interface关键字的疑问?
  • 菜鸟的Linux练习疑问……
  • Linux文件系统结构的疑问
  • linux C编程中使用make时对 内部规则的疑问
  • 日志文件的疑问,请教
  • iptables的默认策略与accept的疑问
  • Linux 初学者的疑问 (各位老鸟进来看看)
  • ubuntu 10.10 安装的疑问
  • 多线程编程下关于gdb程序调试的一个疑问。
  • 操作系统为进程(程序)提供服务的疑问
  • 关于linux runlevel的疑问
  • 一个shell 的疑问!!!!
  • 关于jdbc的疑问?
  • 关于substring方法的疑问
  • 文件上传的疑问?
  • linux下gcc使用疑问?
  • GTK+2.0疑问,急
  • 配置FTP服务器一些疑问?
  • 能解答很多人疑问的好东西.
  • 消息队列的疑问2则


  • 站内导航:


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

    ©2012-2021,