• 存储管理,设备管理


    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。因此说前者的效率更高一些。但是,由于磁头在访问操作中,可能不断有新的柱面请求加入,使磁头忙于应付一些距离较近的柱面请求,冷落了对远距离柱面的响应。长此以往,将可能造成某些远距离柱面处于“饥饿”状态。这就是通常情况下操作系统并不采用最短查找时间优先算法的原因。

    作者:wj704    出处:http://www.cnblogs.com/wj204/   
  • 相关阅读:
    C++ 类或函数导出lib的两种方式
    Qt 中文乱码原因以及解决方法
    AStyle Clion中配置代码格式化工具(附:博主最满意格式)
    nltk中meteor_score的计算,报错
    Ubuntu20重装nvidia驱动
    No input file specified,php+Nginx,报错处理
    「cocos2dx」动画创建笔记
    「cocos2dx」物理引擎学习之box2D(1)
    golang_listen3_time
    face_to_face
  • 原文地址:https://www.cnblogs.com/wj204/p/3352015.html
Copyright © 2020-2023  润新知