某系统采用动态分区存储管理技术,某时刻内存中有三个空...
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
状态
0 1 2 3
1 1 1 0
逻辑地址[0,65]:对应的主存地址为600+65=665。 逻辑地址[1,55]:因段内地址超过段长,所以产生段地 址越界中断。 逻辑地址[2,90]:对应的主存地址为1000+90=1090。 逻辑地址[3,20]:因为状态位为0,即该段在辅存中,所 以产生缺段中断。
考虑一个有快表的请求分页系统,设 内存的读写周期为1us,内外存之间传送 一个页面的平均时间为5ms,快表的命 中率为80%,页面失效率为10%,求 内存的有效存取时间。
内存的有效存取时间EAT(Efficent Access Time)也叫平均 存取时间AAT(Average Access Time),其计算公式如下: EAT=命中快表时的存取时间×快表命中率+命中内存时的 存取时间×内存命中率+页面失效时的存取时间×页面失 效率 将题中的已知条件代入可得 EAT=1us×80%+2us×10%+(5000us+2us)×10% =0.8us+0.2us+500.2us =501.2us 说明:解此题除了要了解“有效存取时间”的计算公式外, 还应了解在命中快表、命中内存和页面失效三种情况下存 取时间的计算方法。特别是,当页面失效时,除了页面传 送时间,还应加上2次访问内存的时间,因为页面失效的 前提是不命中快表。
ห้องสมุดไป่ตู้
首 次 适 应 法
110K 200K 230K 300K 315K
30KB
作业1 15KB
100K
最 110K 佳 适 200K 应 230K 法
300K 315K
10KB
100K 110K 200K 216K 230K 300K
作业3
30KB
作业2 14KB
15KB
315K
作业1
若在一分页存储管理系统中,某作业的页表如下所示。已知页面大 小为1024字节,试将逻辑地址1011,2148,3000,5012转化为相应 的物理地址(注:此处块号即为页面号)。 页号
• 当对某一数据进行4次连续读取时: 第1次可能的时间为:1us+8us= 9us; 8us+8us= 16us;8us+20us+8us+8us=44us。 第2次时,对应页面的页表项已经交换到快 表中。因为存取是连续的,不存在页面被淘汰 的可能性,所以第2次、第3次、第4次的存取 时间是一样的,消耗的时间为1us+8us= 9us。
试比较静态重定位和动态重定位
“重定位”实际上指的是相互联系的两件事 情: 一是确定一个待执行程序在内存中的位置; 二是将程序中的逻辑地址转换成物理地址。 后一件事情是由前一件事情决定的。
试比较静态重定位和动态重定位。
静态重定位的特点
实现容易,无需增加硬件地址变换机构; 一般要求为每个程序分配一个连续的存储区; 在重定位过程中,装入内存的代码发生了改 变; 在程序执行期间不再发生地址的变换; 在程序执行期间不能移动,且难以做到程序 和数据的共享,其内存利用率低。
对于一个使用快表的页式虚存,设快 表的命中率为70%,内存的存取周期 为1us;缺页处理时,若内存有可用空 间或被置换的页面在内存未被修改过, 则处理一个缺页中断需8ms,否则需 20ms。假定被置换的页面60%是属于 后一种情况,则为了保证有效存取时 间不超过2us,问可接受的最大缺页率 是多少?
考虑一个由8个页面,每页1K字节组成的逻辑空间, 把它映射到由32个物理块组成的存储器。问: (1)有效的逻辑地址有多少位? (2)有效的物理地址有多少位?
解此题的关键是要知道在分页管理中,“页”和 “块”是一样大小的,这样才知道物理存储器是32K 。 (1)逻辑地址有13位 (2)物理地址有15位
某虚拟存储器的用户空间共有32个页面,每页1KB,主存 16KB。试问: (1)逻辑地址的有效位是多少? (2)物理地址需要多少位? (3)假定某时刻系统用户的第0,1,2,3页分别分配的物理 块号为5,10,4,7,试将虚地址0A5C和093C变换为物理地 址。
(1)程序空间的大小为32KB,因此逻辑地址的有效位数 是15位。 (2)内存储空间的大小是16KB,因此物理地址至少需要 14位。 (3)当页面为1KB时,虚地址0A5C表示页号为00010, 页内地址是1001011100。该页在内存的第4块,即块号 为0100,因此0A5C的物理地址是01001001011100,即 125CH。 (4)用同样的方法可以求得,093C的物理地址是113CH。
某系统采用动态分区存储管理技术,某时刻内存中 有三个空闲区,它们的首地址和大小分别为: 空闲区1 (100KB,10KB) 空闲区2(200KB,30KB) 空闲区3 (300KB,15KB) (1)画出该时刻内存分配图; (2)用首次适应法和最佳适应法画出此时的空闲分区 链; (3)有如下作业序列: 作业1 需求15KB,作业2 需求16KB, 作业3 需求10KB, 用哪种算法能将该作业序列装入内存?(给出简要分 配过程)
0 1 2 3
块号
2 3 1 6
为了描述方便,设页号为P,页内位移为W,逻辑地址为A,内存地 址为M,页面大小为L,则 P=int(A/L) W=A mod L 对于逻辑地址1011 P=int(1011/1024)=0 W=1011 mod 1024=1011 A=1101=(0,1101) 查页表第0页在第2块,所以物理地址为M=1024*2+1101= 3059。 对于逻辑地址为2148 P=2148/1024=2 W=2148 mod 1024=100 A=2148=(2,100) 查页表第2页在第1块,所以物理地址为M=1024*1+100=1124。
为什么要引入逻辑地址?
(1) 使用物理地址的程序只有装入程序所规定的内存空间 上才能正确执行,如果程序所规定内存空间不空闲或不存 在,程序都无法执行; (2) 使用物理地址编程意味着由程序员分配内存空间,程 序员无法事先协商每个程序所应占的内存空间的位置,这在 多道程序系统中,势必造成程序所占内存空间的相互冲突; (3) 在多道程序系统中,系统无法保证程序执行时,它所 需的内存空间都空闲。 基于上述原因,必须引入一个统一的、在编程时使用的地 址,它能够在程序执行时根据所分配的内存空间将其转换 为对应的物理地址,这个地址就是逻辑地址。 逻辑地址的引入为内存的共享、保护和扩充提供方便。
虚拟内存的实际大小由系统的逻辑地址结构、 主存辅存容量共同决定。 虚拟内存容量的理论值是210 *220=1G; 最大段内地址为220=1M,远大于内存容量,其 段长超过512K的内存容量,故最大实际段长为 512k而不是1M。 所以可计算虚拟存储容量为 210 *512K =210 *0.5M=0.5G。 0.5G<2G,因此虚拟存储器的实际容量是0.5G。
某段式存储管理系统中,有一作业的段表(SMT)如下 表所示,求逻辑地址[0,65],[1,55],[2,90],[3,20] 对应的主存地址(按十进制)。(其中方括号中的第一 个元素为段号,第二个元素为段内地址)
段号
段长 (容量) 200 50 100 150
主存起 始地址 600 850 1000 —
LRU 第2页面:20+8*3 第4页面:20 +8*3 第5页面:20 +8*3 第2页面:8+1 第7页面:20 +8*3 第6页面:20+8*3 第4页面:20+ 8*3 第8页面:20+8*3 因此总的时间是(20+8*3)*7+(8+1) OPT 第2页面:20+8*3 第4页面:20 +8*3 第5页面:20 +8*3 第2页面:8+1 第7页面:20 +8*3 第6页面:20+8*3 第4页面:8+1 第8页面:8+1 因此总的时间是 (20+8*3)*5 +(8+1)*3
考虑一个分页存储器,其页表存放在内存。 ( 1 )若内存的存取周期为 0.6us ,则 CPU 从内存 取一条指令(或一个操作数)需多少时间? (2)若使用快表且快表的命中率为75%,则内存 的平均存取周期为多少?
(1)因为页表放在内存,故取一条指令(或一个操作 数)须访问两次内存,所以需0.6us×2 = 1.2us的时间。 (2)这里假定访问快表的时间可以忽略不计,命中快 表时取数只要一次访存,故此时的平均存取周期为 0.6us×0.75+1.2us×(1-0.75)=0.75us 关键:要知道访问快表的时间可以忽略不计和平均存取 周期的概念。
在分页存储管理系统中,存取一次内存的 时间是8us,查询一次快表的时间是1us, 缺页中断的时间是20us, 假设页表的查询与快表的查询同时进行 。 当查询页表时,如果该页在内存但快表中 没有页表项,系统将自动把该页页表项送 入快表。 求对某一数据进行一次存取可能需要的时 间? 现连续对同一页面上的数据进行4次连续读 取,求每次读取数据可能需要的时间?
对于逻辑地址为3000 P=3000/1024=2 W=3000 mod 1024=952 A=3000=(2,952) 查页表第2页在第1块,所以物理地址为M=1024*1+952=1976 对于逻辑地址5012 P=5012/1024=4 W=5012 mod 1024=916 因页号超过页表长度,该逻辑地址非法。
设可接受的最大缺页率为p,则有 1us×0.7+ 2us×(1-0.7-p)+ (0.4×8ms+0.6×20ms) × p =2us 即 0.7+0.6-2p+3200p+1200p=2 15198p=0.7 p=0.000046
在某分页虚存系统中,测得CPU和磁盘的利用率如 下,试指出每种情况下的问题和措施。 (1) CPU的利用率为15%,盘利用率为95%; (2) CPU的利用率为88%,盘利用率为3%; (3) CPU的利用率为13%,盘利用率为5%。
( 1 )可能已出现了抖动现象,应减少系统的 进程数; ( 2 )系统比较正常,可考虑适当增加进程数 以提高资源利用率; ( 3 ) CPU 和磁盘的利用率都较低,必须增加 并发进程数。
在分页存储管理系统中,存取一次内存的时间是8us, 查询一次快表的时间是1us,缺页中断的时间是20us。 假设页表的查询与快表的查询同时进行,当查询页 表时,如果该页在内存但快表中没有页表项,系统 将自动把该页页表项送入快表。 一个作业最多可保留3个页面在内存。 现开始执行一作业,系统连续对作业的2、4、5、 2、7、6、4、2各页面的数据进行1次存取,如分别 采用FIFO算法和最优页面置换算法,求每种算法下 存取这些数据需要的总时间 ?
(1)
100K
110K 200K 230K 300K 315K 15KB 30KB
10KB
(2) 100K
首次适应法 10KB 200K 30KB 300K 15KB ^
最佳适应法
100K
10KB 300K
15KB 200K
30KB ^
(3)
100K 10KB 100K 110K 200K 215K 230K 300K 15KB 315K 15KB 10KB
有一计算机系统, 内存容量为512K, 辅存容量为2G, 逻辑地址形式为: 段号29~20bit 段内地址19~0bit 求其虚拟存储器的实际容量?
有一计算机系统,内存容量为512K,辅存容量为 2G,逻辑地址形式为:段号29~20bit 段内地址 19~0bit。求其虚拟存储器的实际容量?
•当系统对数据进行存取时,有3种可能性。 1、所存取的数据的页面在内存,其页表项已经存 储到快表,此时存取数据的时间是:查询快表的时 间+存取内存数据的时间=1us+8us= 9us 2、所存取的数据的页面在内存,但是其页表项没 有存储到快表,没有命中快表,此时存取数据的时 间是:查询页表的时间+存取内存数据的时间 =8us+8us= 16us 3、所存取的数据的页面不在内存,发生缺页中断, 此时存取数据的时间是: 查询页表的时间+缺页中断的时间+查询页表的时 间+存取内存数据的时间 =8us+20us+8us+8us = 44us