页面和页表 和 段.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
页面与页表 与 段 阅读 :970 20 13-03-08 16:06 一 页面与页表 1 页面 分页存储管理是将作业的逻辑地址划分为一系列同等大小的部分 ,称为页。并为 各页加以编号 ,每个作业的页的编号都是从0开始的。与之类似 ,把可用的物理内存也划 分为同样大小的连续的部分 ,称为块或页框。同样为块也进行标号 ,从0#开始。在为进 程分配内存空间时 ,以页为单位 ,每个内存中的块存放一页用户作业。只要内存中有足 够多的块 ,这些块可以相邻也可以不相邻 ,就可以存放整个作业了。 页面的大小对于内存利用和系统开销来说非常重要 ,页面太大 ,在作业的最后一页必然 会剩余较大不能利用的空间--内碎片。页面太小 ,虽然可以减小内碎片的大小 ,但是一 个作业的页太多 ,会使得作业页表太长而占用内存 ,同时系统频繁地进行页面转化 ,加 重系统开销。因此 ,页面的大小应该适中 ,通常为512B - 8KB ,windows系统的页面大小 为4KB。 2 地址结构 分页系统中的地址结构由两部分组成 ,页号和页内偏移量。可以解释为一个二元组 (p , w ),其中p是页号 ,w是页面p中的偏移量或者相对于p页开始的位置。下图 (a) 中的地 址长度为32位 ,其中0 - 9位为页内偏移量 ,每页的大小为2的10次方 1k ;10 - 31位为 页号 ,共计2的22次方 4M页。在图 (b )中 ,地址长度同样为32位 ,其中0 - 11位页内 偏移量 ,每页的大小为2的12次方 4k ;12 - 31位为页号 ,共计2的20次方 1M页 ,由 此可知不同的系统页的大小是不一样的。 X (a )页面大小为1KB(2的10次方 ) (b )页面大小为4KB(2的12次方) 对于特定的机器来说 ,其地址结构是一定的。若给定逻辑地址A,页面大小为L ,则页号p 和页内偏移量w分别为 p INT [A/L] w [A]MODL 例如 :系统的页面大小事1K ,设A 3096 ,则由上式得出 p 3 ,w 24。 3 页表 在分页存储管理中 ,页的存放可以是连续的 ,也可以是不连续的 ,这就增加了逻辑地址 到物理地址转换的难度。如何在内存中找到页所对应的物理块是地址装换的关键。为 此 ,系统为每个进程创建了一个页表。在进程逻辑地址空间中的每一页 ,依次在页表中 有一个表项 ,记录了该页对应的物理块号。如下图所示 在配置了页表之后 ,通过查找页表就可以很容易地找到该页在内存中的位置。页表具有 逻辑地址到物理地址映射的作用。 对于页的保护通常设置一个存取控制字段。当这个字段占一位时 ,用于规定该页中的内 容允许写还是读 ;如果存取控制字段占两位 ,那么它可以表示存取控制为读写、只读和 只运行三种。当进程写一个只读页时 ,系统就会通过中断来报错。 二 地址变换结构 为了实现分页管理逻辑地址到物理地址的转换 ,系统中必须设置地址变换机构 ,用来实 现地址映射。由于页的大小和块的大小是一样的 ,当把进程的某一页放入内存时 ,该页 内地址的页偏移量和块内偏移量是一致的 ,因此地址转换时就不必考虑偏移量 ,只考虑 逻辑页号和实际物理号的对应即可。页表中存放的就是页号和其对应的物理块号 ,所以 地址变换就要借助页表来完成。 1 基本地址变换 地址变换的第一步就是检索页表。为了实现快速的检索页表 ,最好把页表放在寄存器 中 ,每一个表项都用一个寄存器。但是有一个问题 ,通常计算机中的寄存器都不多 ,而 页表可能非常大 ,现代计算机的虚拟地址至少是32位的 ,比如 ,页的大小为4KB ,那么 32位的地址空间将有1M个页面 ,64位的地址空间则更多。虚拟空间中的1M个页面需要 1M个表项。并且 ,每个进程都有自己的页表。因此 ,页表通常存放在内存中。在系统中 只设置一个页表寄存器 ,其中存放页表的开始地址和页表长度。平时进程未执行时 ,页 表的开始地址和页表的长度放在PCB中 ,当进程运行时 ,把这两个数据装入页表寄存器 中。 当进程要访问某个地址中的数据时 ,地址变换机构首先自动地将地址转换成页号和页内 偏移量 ,然后根据页号来检索页表。在检索之前要判断页号是否大于等于页表长度 ,如 果页号大于等于页表长度 ,说明超出了有效地址范围 ,于是产生一个错误中断。否则 , 把页号和页

文档评论(0)

xiaofei2001128 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档