- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
深入分析Linux內核源码
2.4.1?分页机构如前所述,分页是将程序分成若干相同大小的页,每页4K个字节。如果不允许分页(CR0的最高位置0),那么经过段机制转化而来的32位线性地址就是物理地址。但如果允许分页(CR0的最高位置1),就要将32位线性地址通过一个两级表格结构转化成物理地址。1.?两级页表结构为什么采用两级页表结构呢?在80386中页表共含1M个表项,每个表项占4个字节。如果把所有的页表项存储在一个表中,则该表最大将占4M字节连续的物理存储空间。为避免使页表占有如此巨额的物理存储器资源,故对页表采用了两级表的结构,而且对线性地址的高20位的线性—物理地址转化也分为两部完成,每一步各使用其中的10位。两级表结构的第一级称为页目录,存储在一个4K字节的页面中。页目录表共有1K个表项,每个表项为4个字节,并指向第二级表。线性地址的最高10位(即位31~位32)用来产生第一级的索引,由索引得到的表项中,指定并选择了1K个二级表中的一个表。两级表结构的第二级称为页表,也刚好存储在一个4K字节的页面中,包含1K个字节的表项,每个表项包含一个页的物理基地址。第二级页表由线性地址的中间10位(即位21~位12)进行索引,以获得包含页的物理地址的页表项,这个物理地址的高20位与线性地址的低12位形成了最后的物理地址,也就是页转化过程输出的物理地址,具体转化过程稍后会讲到,如图?2-21?为两级页表结构。?图2.21??两级页表结构2.?页目录项图?2-22的页目录表,最多可包含1024个页目录项,每个页目录项为4个字节,结构如图4.23所示。图2.22?页目录中的页目录项·?第31~12位是20位页表地址,由于页表地址的低12位总为0,所以用高20位指出32位页表地址就可以了。因此,一个页目录最多包含1024个页表地址。·?第0位是存在位,如果P=1,表示页表地址指向的该页在内存中,如果P=0,表示不在内存中。·?第1位是读/写位,第2位是用户/管理员位,这两位为页目录项提供硬件保护。当特权级为3的进程要想访问页面时,需要通过页保护检查,而特权级为0的进程就可以绕过页保护,如图2.23?所示。图2.23?由U/S和R/W提供的保护·?第3位是PWT(Page Write-Through)位,表示是否采用写透方式,写透方式就是既写内存(RAM)也写高速缓存,该位为1表示采用写透方式·?第4位是PCD(Page Cache Disable)位,表示是否启用高速缓存,该位为1表示启用高速缓存。·?第5位是访问位,当对页目录项进行访问时,A位=1。·?第7位是Page Size标志,只适用于页目录项。如果置为1,页目录项指的是4MB的页面,请看后面的扩展分页。·?第9~11位由操作系统专用,Linux也没有做特殊之用。2.?页面项80386的每个页目录项指向一个页表,页表最多含有1024个页面项,每项4个字节,包含页面的起始地址和有关该页面的信息。页面的起始地址也是4K的整数倍,所以页面的低12位也留作它用,如图2.24所示。???图2.24?页表中的页面项第31~12位是20位物理页面地址,除第6位外第0~5位及9~11位的用途和页目录项一样,第6位是页面项独有的,当对涉及的页面进行写操作时,D位被置1。4GB的存储器只有一个页目录,它最多有1024个页目录项,每个页目录项又含有1024个页面项,因此,存储器一共可以分成1024×1024=1M个页面。由于每个页面为4K个字节,所以,存储器的大小正好最多为4GB。3.??线性地址到物理地址的转换当访问一个操作单元时,如何由分段结构确定的32位线性地址通过分页操作转化成32位物理地址呢?过程如图2.25所示。图2.25????32位线性地址到物理地址的转换第一步,CR3包含着页目录的起始地址,用32位线性地址的最高10位A31~A22作为页目录的页目录项的索引,将它乘以4,与CR3中的页目录的起始地址相加,形成相应页表的地址。第二步,从指定的地址中取出32位页目录项,它的低12位为0,这32位是页表的起始地址。用32位线性地址中的A21~A12位作为页表中的页面的索引,将它乘以4,与页表的起始地址相加,形成32位页面地址。第三步,将A11~A0作为相对于页面地址的偏移量,与32位页面地址相加,形成32位物理地址。4.扩展分页?从奔腾处理器开始,Intel微处理器引进了扩展分页,它允许页的大小为4MB,如图2.26所示:?在扩展分页的情况下,分页机制把32位线性地址分成两个域:最高10位的目录域和其余22位的偏移量。?图2.26?扩展分页??2.4.2页面高速缓存由于在分页情况下,每次存储器访问都要存取两级页表,这就大大降低了访问速度。所以,为了提高速度,在386中设置一个最近存取页面的高速缓存硬件机制,它自动保持3
您可能关注的文档
- 淮河大橋铁路引桥桥上正线铺设施工工艺.doc
- 淮河流域病險水闸主要问题及处理措施建议.doc
- 淮河路交口工程施工組织设计.doc
- 淮海工學院11122线性代数A卷答案.doc
- 淮海工學院大学物理实验.doc
- 淮海工學院大学生科技协会2013科普知识竞赛初赛题库.doc
- 淮海工學院大学生科技协会2013科普知识竞赛初赛题库1.doc
- 淮海工學院实验报告.doc
- 淮海工學院海洋学院学生会工作计划.doc
- 淮海工學院生物化学大实验报告niujun.doc
- 浙教版科学九下23《生物群落》标准课件.pptx
- 人教部编版道德与法治三年级下册《生活离不开规则》 精品说课稿.docx
- 人教部编版道德与法治三下第8课《大家的朋友》说课稿.docx
- 人教部编版道德与法治三年级下册第3课《我很诚实》(第二课时)说课稿.docx
- 人教部编版道德与法治三年级下册第4课《同学相伴》(第一课时)教学设计.docx
- 公卫执业医师《综合试题预测》考试题_1.doc
- 人教部编版道德与法治九年级下册2.2 《谋求互利共赢》 教学设计.docx
- 法律风险与企业业绩关系.pptx
- 海洋微生物非常全共5PPT.pptx
- 人教部编版道德与法治三下第2课《不一样的你我他》说课稿2.docx
最近下载
- 中央厨房工作控制流程及操作标准.doc
- N_乙基_N_氯乙基间甲苯胺的合成及应用.pdf VIP
- 消防设施操作员(高级技能操作考核)考试题库(全).pdf VIP
- 2022年消防设施操作员资格(高级技能操作考核)考试题库完整版(含答案).docx VIP
- 非ST段抬高型心肌梗死新指南.ppt
- (第二十届计算机表演赛内蒙古赛区呼和浩特市主赛场比赛时间安排.doc VIP
- 中国建设银行单位客户专用回单.PDF VIP
- 2023年江西农业大学南昌商学院计算机科学与技术专业《操作系统》科目期末试卷A(有答案).docx VIP
- 初中英语课件:一般过去时【模板课件】.ppt VIP
- 2025年混凝土质量控制及管理制度(二篇) .pdf VIP
文档评论(0)