存储管理,设备管理

1.CPU中的缓存和操作系统的缓存分别是什么?

解答:

  1)在操作系统中,为提高系统存取速度,在地址映射机制中增加一个小容量的联想寄存器(相联寄存器),即块表,用来存放当前访问最频繁的少数活动页面的页号。当某用户需要存取数据时,根据数据所在的逻辑页号在块表中找到其对应的内存块号,再联系页内地址,形成物理地址。如果在快表中灭有相应的逻辑页号,则地址映射仍可以通过内存中的也表进行,得到空闲块号后须将该块号填入快表的空闲块中。如果快表中没有空闲块,则根据淘汰算法淘汰某一行,再填入新的页号和块号。快表查找内存块的物理地址消耗的时间大大减低,提高了系统效率。

 2)高速缓冲存储器(Cache)是位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在Cache中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的。当CPU调用大量数据时,就可以避开内存直接从Cache中调用,从而加快读取速度。由此可见,在CPU中加入Cache是一种高校的解决方案,这样整个内存储器(Cache+内存)就变成了既有Cache的高速度又有内存的大容量的存储系统了。Cache对CPU性能的影响很大,这主要是由CPU的数据交换顺序和CPU与Cache间的带宽引起的。

 2.某虚拟内存的用户编程空间共32页,每页的大小为1 KB,内存为16 KB,假设某时刻系统为用户的第0、1、2、3页分配的物理块为5、10、4、7,而该用户作业的长度为6页,试将16进制的虚拟地址0A5C、093C、1A5C转换成物理地址。

解:

  1. 虚拟地址为0A5C,对应的二进制数为:0000 1010 0101 1100。其中,页内偏移量占10位地址码,为25C。页号占6位地址码,为2号页。因第2页存储在4号块中,其基地址为:0001 0000 0000 0000,即十六进制的1000H。这样,其物理地址为十六进制的125C。
  2. 虚拟地址为093C,对应的二进制数为:0000 1001 0011 1100。其中,页内偏移量占10位地址码,为13C。页号占6位地址码,为2号页。因第2页存储在4号块中,其基地址为:0001 0000 0000 0000,即十六进制的1000H。这样,其物理地址为十六进制的113C。
  3. 虚拟地址为1A5C,对应的二进制数为:0001 1010 0101 1100。页内偏移量占10位地址码,为25C。页号占6位地址码,为6号页。因为该用户作业的长度为6页,最大的页号为5号。因为虚拟地址为1A5C对应的6号页超出了地址范围,所以属于越界。

3.

假设有下面的段表:

下面逻辑地址的物理地址分别是多少?

① [0,430]; ② [1,12]; ③ [2,500];   ④ [3,400];  ⑤ [4,122]

基址

长度

0

219

600

1

2300

14

2

90

100

3

1327

580

4

1952

96

    解:

①: 649;②:2312;③:越界;④:1727;⑤:越界

4.

考虑下面存储访问序列,该程序的大小为460字(以下数字均为十进制数字):

10、11、104、170、73、309、185、245、246、434、458、364

该页面的大小为100字,该程序的基本可用内存为200字,计算采用FIFO、LRU和OPT置换算法的缺页次数。

解:

因为页面的大小为100字,该程序的基本可用内存为200字,即可用内存为2块。程序的存储访问序列可转换为如下页面访问序列:

1、1、2、2、1、4、2、3、3、5、5、4

采用FIFO、LRU和OPT置换算法的访问序列如下:

 

由图可知FIFO算法的缺页次数为6次,LRU的缺页次数为7次,OPT的缺页次数为5次。


5.在某个系统的某个运行时刻,有如下表示的磁盘访问的请求序列,假设磁头当前在15柱面,磁臂方向为从小到大。

1520916241329

    请给出最短查找时间优先算法和电梯调度算法的柱面移动数,并分析为何通常情况下,操作系统并不采用效率更高的最短查找时间优先算法。

解:

1) 按照最短查找时间优先算法,柱面的访问次序是:

1516139202429

令磁臂移动方向从小到大为正向,从大到小的方向为反向,那么,最短查找时间优先算法的柱面移动次数为:1+|-3|+|-4|+11+4+5=28

2) 按照电梯调度算法,柱面的访问次序是:

1516202429139

电梯调度算法的柱面移动数为:1+4+4+5+|-16|+|-4|=34

3) 从本题给的例子看,最短查找时间优先算法比电梯调度算法的柱面移动数少6。因此说前者的效率更高一些。但是,由于磁头在访问操作中,可能不断有新的柱面请求加入,使磁头忙于应付一些距离较近的柱面请求,冷落了对远距离柱面的响应。长此以往,将可能造成某些远距离柱面处于“饥饿”状态。这就是通常情况下操作系统并不采用最短查找时间优先算法的原因。

posted @ 2013-10-05 14:35  wj704  阅读(2739)  评论(0编辑  收藏  举报