- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统笔记第3章虚存管理演示
3.5 分页存储管理Paging(书P63)
3.5.1 引言
同“实存”相对应的另外一类存储管理技术称为“虚拟存储”管理技术。虚拟存储概念的关键在于,使运行进程的访问地址与主存的可用地址相脱离。
运行进程的访问地址叫做虚地址。在主存中的可用地址叫做实地址。一个运行进程可以访问的虚地址的范围叫做进程的虚地址空间。在指定的计算机系统中,可使用的实地址范围叫做计算机的实地址空间。
用户全部程序和数据所组成的虚拟空间放在哪里呢?通常用一个大容量的外部存储器(磁盘、磁鼓)来存放每个用户的虚拟空间的全部数据。所以实际上用户的虚拟地址空间并不能增到无限大,它受到两个条件的制约:
⑴ 指令中的地址场长度的限制。因为进程访问的虚拟地址应限制在指令中地址场长度所能表示的范围内;
⑵ 外部存储器大小的限制。用户的虚拟空间不能超过外存中的作业存放空间。
综上所述,所谓虚拟存储器是一个地址空间,是进程访问的逻辑地址空间,而不是物理的主存空间。虽然进程只访问虚地址,但是它们实际上必须在实存里运行。因此当进程运行时虚地址必须映象成为实地址。这种映象必须快速完成,否则计算机系统的性能就会降低到不能容忍的水平,从而抵消了采用虚拟存储器概念而带来的许多好处。
决定作业虚拟地址空间中哪部分进入主存,哪能部分放回外存的工作由操作系统负责。具体来说它包括三方面内容:
⑴ 将作业的哪部分装入主存;
⑵ 放在主存什么位置;
⑶ 主存空间不足时,把哪部分置换出主存。
实现虚拟存储的两个最普通的方法是分页和分段,这要在本章详细讨论。
3.5.2 分页的基本概念
一、分页概念
1.把用户的逻辑地址空间分成相同大小的块,每块顺序编号,称为“页”(Page,虚页)。每页中指令顺序存放,页号为0,1,2,3,…
2.等分主存:把主存也分成与页相同大小的块叫存储块(memory Block),也叫实页。块一旦定下来就不能改变。编号为0,1,2,3,…
3.主存分配原则:分页情况下,每页装在一个存储块里,但连续的页面在内存空间中可以是不连续的,哪儿有空白区就放在哪儿,所以作业在内存中存放,页与页之间不连续,每页的信息是连续的。
二、实现原理
这就要在主存中设一个页表,或叫页面映象表(Page map table)。为作业的每页设一条表目。
这张页表是当作业装入主存时,由系统根据分配情况建立的,而且是每个作业一张页表。系统在主存的固定区域内,拨出一些存储区来存放这些页表(系统表),系统有了这张页表后,就可对作业地址空间中的每一页进行动态重定位。
为了便于分页和简化地址变换过程,通常选择页的大小为2的幂。
例如 1K=1024=210
2K=2048=211
4K=4096=212
一般为1K,页的尺寸太大,和可重定位分区分配没什么不同了,页的尺寸太小,页表就得加长,太碎,调度增加,因此一般为1-4K。
我们举一例子来说明分页技术下的动态地址变换过程:
假定机器字长为16位,其中15位为有效地址
这样一表示,实际分页系统中用户的逻辑地址是一个有序对(P,W),P是被访问项的页号,W是被访问项在页P内的位移量。
如果一条指令在用户地址空间为100,即第P=0页,W=100;分到主存第2块(见上图),那么就是在主存中页表查出,实地址为2048+100=2148单元处。
如果指令是 LOAD 1,3500
这3500的用户地址空间为3072+428
查页表,3页分到块8(实页8),即8192为起始地址,页偏移428处,实地址等于8192+428=8620处,找到数据12345。
在分页技术下的动态地址变换按如下方式进行:系统将作业的页表在主存的起始地址及页表长度放到一个控制寄存器内,当执行指令时,访问用户地址(逻辑地址)
在页面映象表中找到页3对应实页(存储块8),将实存地址与W相连接而形成。这就是主存的物理地址8620
由上述地址变换过程可以知道,程序地址空间的分页是由系统自动完成的,用户不用管。地址变换过程是通过页表来实现的。因此人们称页表为地址映射表。
总之分页管理技术是
⑴ 作业分成页,页内连续,页号顺序;
⑵ 主存分成块(和页大小一样),块顺序编号;
⑶ 每页分配一块内存,在内存中可以是散放(可不连续放);
物理空间和逻辑空间不一致。
⑷ 提供页面映射表(page map table),建立页和块之间的函数关系。
⑸ 相对地址用(页号P,页内位移量W)表示。
页内位移量——就是页内字节相对于该页第一字节的距离,我们称页内第一字节位移量为0。
例1:页大小=1000字节 (十进制例子实际应是二进制)
105=(0,105)
4178=(4,178)
例2:页大小=4K字节
6000=(1,1904)
⑹ 访内过程
LOAD 1,3500
文档评论(0)