第2章 存储系统

时间:2023-01-22 20:47:23

第2章 存储系统

    内存按字节编址,地址从A4000H到CBFFFH,共有  (1)  字节。若用存储容量为32K×8bit的存储芯片构成该内存,至少需要  (2) 片。

    (1)A.80K    B.96K    C.160K    D.192k

    (2)A.2   B.5    C.8      D.10

    3. 单个磁头在向盘片的磁性涂料层上写入数据时,是以  (3)  方式写入的。

    A.并行    B.并一串行    C.串行    D.串一并行

 

    容量为64块的Cache采用组相联方式映像,每块大小为128个字,每4块为一组。若主存容量为4096块,且以字编址,那么主存地址应该为  (4) 位,主存区号为   (5)  位。

    (4)A.16    B.17    C.18    D.19

    (5)A.5   B.6    C.7   D.8

    6. 如果主存容量为16M字节,且按字节编址,表示该主存地址至少应需要  (6)  位。

    A.16    B.20    C.24    D.32

 

    数据存储在磁盘上的排列方式会影响I/O服务的总时间。假设每磁道划分成10个物理块,每块存放1个逻辑记录。逻辑记录R1,R2,…,R10存放在同一个磁道上,记录的安排顺序如表2-1所示。

                                     表2-1  记录的安排顺序

物理块

1

2

3

4

5

6

7

8

9

10

逻辑记录

R1

R2

R3

R4

R5

R6

R7

R8

R9

R10

    假定磁盘的旋转速度为20ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为4ms,则处理这10个记录的最长时间为  (7)  ;对信息存储进行优化分布后,处理10个记录的最少时间为  (8) 

    (7)A.180ms    B.200ms    C.204ms    D.220ms

    (8)A.40ms    B.60ms    C.100ms    D.160ms

 

    虚拟存储管理系统的基础是程序的  (9)  理论,这个理论的基本含义是指程序执行时往往会不均匀地访问主存储器单元。根据这个理论,Denning提出了工作集理论。工作集是进程运行时被频繁访问的页面集合。在进程运行时,如果它的工作集页面都在  (10) 内,能够使该进程有效地运行,否则会出现频繁的页面调入/调出的现象。

    (9)A.全局性    B.局部性    C.时间全局性    D.空间全局性

    (10)A.主存储器  B.虚拟存储器  C.辅助存储器    D.U盘

 

    在计算机系统中,构成虚拟存储器  (11) 

    A.只需要一定的硬件资源便可实现

    B.只需要一定的软件即可实现    ,

    C.既需要软件也需要硬件方可实现

    D.既不需要软件也不需要硬件

 

    页式存储系统的逻辑地址由页号和页内地址两部分组成。假定页面的大小为4K,地址变换过程如图2-1所示,图中逻辑地址用十进制表示。

    图2-1中有效地址经过变换后,十进制物理地址a应为  (12) 

    A.33220    B.8644    C.4548    D.2500

 

    高速缓存Cache与主存间采用全相联地址映像方式,高速缓存的容量为4MB,分为 4块,每块IMB,主存容量为256MB。若主存读写时间为30ns,高速缓存的读写时间为3ns,平均读写时间为3.27ns,则该高速缓存的命中率为  (13) %。若地址变换表如下所示,则主存地址为8888888H时,高速缓存地址为  (14)  H。

 

地址变换表

0

38H

1

88H

2

59H

3

67H

    (13)A.90    B.95    C.97    D.99

    (14)A.488888    B.388888    C.288888    D.188888

    15. 在CPU与主存之间设置高速缓冲存储器Cache,其目的是为了  (15) 

    A.扩大主存的存储容量    B.提高CPU对主存的访问效率

    C.既扩大主存容量又提高存取速度    D.提高外存储器的速度

 

    若内存地址区间为4000H—43FFH,每个存储单元可存储16位二进制数,该内存区域由4片存储器芯片构成,则构成该内存所用的存储器芯片的容量是  (16) 

    A.512×16bit    B.256×8bit    C.256×16bit    D.1024×8bit

 

    RAD是一种经济的磁盘冗余阵列,它采用  (17)   (18)  以提高数据传输率。 RAD与主机连接较普遍使用的工业标准接口为  (19) 

    (17)~(18)A.智能控制器    B.磁盘镜像

        C.磁盘双工技术    D.多磁盘驱动器

    (18)A.智能控制器    B.磁盘镜像

        C.磁盘双工技术    D.多磁盘驱动器

     (19) A.RS-232    B.FDDI    C.SCSI    D.ST506

 

    20. SCSI是一种通用的系统级标准输入/输出接口,其中  (20)  标准的数据宽度为16位,数据传送率达20Mb/s。

    A.SCSI-I    B.SCSI-II

    C.FASTSCSI-II    D.FAST/WDE SCSI-II

 

    某虚拟存储器的用户编程空间共32个页面,每页1KB,主存为16KB。假定某时刻该用户页表中已调入主存的页面的虚页号和物理页号对照表如表2-2所示。

                            表2-2  虚页号与物理页号对照表

虚页号

物理页号

0

5

1

10

2

4

8

7

    则表2-3中与虚地址相对应的物理地址如表2-3所示(如果主存中找不到,即为页失效)。

                           表2-3  虚地址与物理地址对照表

虚地址

物理地址

0A5C(H)

 21 

1A5C(H)

 22 

    这里,(H)表示十六进制。

    (21) A.页失效    B.1E5C(H)

    C.2A5C(H)    D.165C(H)

E.1 25C(H)    F.1A5C(H)

    (22)A.页失效    B.1E5C(H)

    C.2A5C(H)    D.165C(H)

    E.1 25C(H)    F.1A5C(H)

 

    一个虚拟存储系统由容量C1=8MB的主存和容量C2=800MB的辅存两级存储器所构成。主存每位平均代价p1=10个单位成本,辅存每位平均代价p2=1个单位成本。相对于CPU而言,从主存读出时间为tA1=500ns,从辅存读出时间为tA2=5ms。为了测定是否达到高存取速率和低的位成本等,可以统计一组Benchmark程序,获得访问主存次数N1=8×109,访问辅存次数N2=16×106。那么,本虚存系统的两级存储器的读出时间比γ=  (23)  ,每位平均代价ρ=  (24)  单位成本,命中率H= (25)  ,平均读出时间tA (26) μs。

 (23) A.0.005    B.100.5    C.0.5    D.0.9

    E.0.98    F.0.998  G.0.999  H.1

I.1.09

J.1.10

K.1.5

L.2.09

M.5

N.5.1

O.10.5

P.20.5

Q.50.5

R.100.5

(24) A.0.005    B.100.5    C.0.5    D.0.9

    E.0.98    F.0.998  G.0.999  H.1

I.1.09

J.1.10

K.1.5

L.2.09

M.5

N.5.1

O.10.5

P.20.5

Q.50.5

R.100.5

(25) A.0.005    B.100.5    C.0.5    D.0.9

   E.0.98    F.0.998  G.0.999  H.1

I.1.09

J.1.10

K.1.5

L.2.09

M.5

N.5.1

O.10.5

P.20.5

Q.50.5

R.100.5

(26) A.0.005    B.100.5    C.0.5    D.0.9

    E.0.98    F.0.998  G.0.999  H.1

I.1.09

J.1.10

K.1.5

L.2.09

M.5

N.5.1

O.10.5

P.20.5

Q.50.5

R.100.5

    在段页式管理的存储器中,实存等分为  (27)  、程序按逻辑模块分成  (28)  。在多道程序环境下,每道程序还需要一个  (29) 作为用户标志号。每道程序都有对应的  (30)  。一个逻辑地址包括  (29)  x、段号s、页号p和页内地址d四个部分。

    假设总长度为22位的逻辑地址格式分配如下:21~20位x;19~14位s;13~11位p;10~0位d。若x,s,p,d均以二进制数表示,其转换成的物理地址为  (31) 

    (27) A.段   B.页    C.基    D.模块

    (28)A.段   B.页   C.基    D.模块

    (29)A.段    B.页   C.基    D.模块

    E.区域    F.段号    G.页号    H.基号

    (30)A.一个段表和一个页表    B.一个段表和一组页表

    C.一组段表和一个页表    D.一组段表和一组页表

  (31) A.x×220+s×214+p×211+d    B.((x)+x+p)×211+d

    C.(((x)+s)+p)+d    D.(((x)+s)+P)×211+d

 

    用于存储器的芯片有不同的类型。

    可随机读写,且只要不断电,则其中存储的信息就可一直保存,称为  (32) 

    可随机读写,但即使在不断电的情况下其存储的信息也要定时刷新才不致丢失的,称为  (33) 

    所存信息由生产厂家用掩膜技术写好后就无法再改变的称为  (34) 

    通过紫外线照射后可擦除所有信息,然后重新写入新的信息并可多次进行的,称为   (35) 

    通过电信号可在数秒钟内快速删除全部信息,但不能进行字节级别删除操作的,称为  (36) 

    (32) A.RAM    B.VRAM    C.DRAM    D.SRAM

    (33)A.RAM    B.VRAM    C.DRAM    D.SRAM

    (34) A.EPROM    B.PROM    C.ROM    D.CDROM

(35)A.EPROM    B.PROM    C.ROM    D.CDROM

    (36)A.E2PROM    B.Flash Memory

C.EPROM    D.Virtual Memory

 

    虚拟存储器的作用是允许  (37)  。它通常使用  (38)  作为一个主要组成部分。对它的调度方法与  (39) 基本相似,即把要经常访问的数据驻留在高速存储器中,因为使用虚拟存储器,指令执行时  (40)  。在虚拟存储系统中常使用相联存储器进行管理,它是  (41) 寻址的。

    (37)A.直接使用外存代替内存

    B.添加此地址字长允许的更多内存容量

    C.程序直接访问比内存更大的地址空间

    D.提高内存的访问速度

    (38)A.CD-ROM  B.硬盘    C.软盘    D.寄存器

    (39)A.Cache    B.DMA    C.I/O    D.中断

    (40)A.所需的数据一定能在内存中找到

    B.必须先进行“虚”、“实”地址交换

    C.必须事先使用覆盖技术

    D.必须先将常用子程序调入内存

    (41)A.按地址    B.按内容    C.寄存器    D.计算

 

    假设某计算机具有1 MB的内存(目前使用的计算机往往具有128 MB以上的内存),并按字节编址,为了能存取该内存各地址的内容,其地址寄存器至少需要二进制  (42) 位。为了使4字节组成的字能从存储器中一次读出,要求存放在存储器中的字边界对齐,1字节的地址码应  (43)  。若存储器周期为200ns,且每个周期可访问4字节,则该存储器带宽为  (44) b/s。假如程序员可用的存储空间为4MB,则程序员所用的地址为  (45)  ,而真正访问内存的地址称为  (46) 

    (42)A.10    B.16    C.20    D.32

    (43)A.最低两位为00    B.最低两位为10

    C.最高两位为00    D.最高两位为10

    (44)A.20M    B.40M    C.80M    D.160M

    (45)A.有效地址  B.程序地址    C.逻辑地址    D.物理地址

    (46)A.指令地址  B.物理地址    C.内存地址    D.数据地址

 

    47. 虚存页面调度算法有多种,  (47)  调度算法不是页面调度算法。

    A.后进先出    B.先进先出    C.最近最少使用D.随机选择

 

    48. 实存的存储分配算法用来决定输入的程序和数据放到主存中的位置,采用“总是把程序装入主存中最大的空闲区域”的算法称为  (48) 

    A.最佳适应算法    B.最差适应算法

    C.首次适应算法    D.循环首次适应算法

 

    49. 在文件存储设备管理中,有三类常用的空闲块管理方法,即位图向量法、空闲块链表链接法和  (49) 

    A.一级目录法    B.多级目录法    C.分区法    D.索引法

 

    假设一个有3个盘片的硬盘,共有4个记录面,转速为7200r/min,盘面有效记录区域的外直径为30cm,内直径为10cm,记录位密度为250位/mm,磁道密度为8道/mm,每磁道分16个扇区,每扇区512字节,则该硬盘的非格式化容量和格式化容量约为  (50)  ,数据传输速率约为  (51)  。若一个文件超出一个磁道容量,剩下的部分  (52) 

    (50)A.120MB和100MB    B.30MB和25MB

    C.60MB和50MB    D.22.5MB和25MB

    (51)A.2356KB/s    B.3534KB/s    C.7069KB/s    D.1178KB/s

    (52)A.存于同一盘面的其他编号的磁道上

    B.存于其他盘面的同一编号的磁道上

    C.存于其他盘面的其他编号的磁道上

    D.存放位置随机

 

    53. 假设某计算机系统的内存大小为256KB,在某一时刻内存的使用情况表2-4(a)所示。此时,若进程顺序请求20KB,10KB和5KB的存储空间,系统采用  (53) 算法为进程依次分配后的内存情况表2-4(b)所示。

                        表2-4  内存分配情况

     A.最佳适应    B.最差适应    C.首次适应    D.循环首次适应

 

    从提供的答案中选择与下列叙述相符合的答案。

      (54)  :支持多道程序设计,算法简单,但存储器碎片多:

      (55)  :能消除碎片,但用于存储器紧缩处理的时间长;

      (56)  :克服了碎片多和紧缩处理时间长的缺点,支持多道程序设计,但不支持虚拟存储;

      (57)  :支持虚拟存储,但不能以自然的方式提供存储器的共享和存取保护机制:

      (58)  :允许动态链接和装入,能消除碎片,支持虚拟存储。

(54) A.段页式    B.非请求分页式    C.请求分页式

D.可重定位分区  E.固定分区    F.单一连续分配

(55)A.段页式    B.非请求分页式    C.请求分页式

D.可重定位分区  E.固定分区    F.单一连续分配

(56)A.段页式    B.非请求分页式    C.请求分页式

D.可重定位分区  E.固定分区    F.单一连续分配

(57)A.段页式    B.非请求分页式    C.请求分页式

D.可重定位分区  E.固定分区    F.单一连续分配

(58)A.段页式    B.非请求分页式    C.请求分页式

    D.可重定位分区  E.固定分区    F.单一连续分配

 

    设有三个处理机A,B和C。它们各有一个高速缓冲存储器CA,CB和CC,并各有一个主存储器MA,MB和MC,其性能如表2-5所示。

                        表2-5  性能表

 

CA

CB

CC

MA

MB

MC

存储容量

8KB

8KB

8KB

2KB

2KB

2KB

存取周期

60ns

80ns

100ns

1μs

0.9μs

0.8μs

    假定三个处理机的指令系统相同,它们的指令执行时间与存储器平均存取周期成正比。如果执行某个程序时,所需的指令或数据在缓冲存储器中取到的概率是P=0.6,那么这三个处理机按处理速度由快到慢的顺序应当是  (59) 

    当P=0.75时,则其顺序应当是  (60) 

    当P=0.95时,则其顺序应当是  (61) 

    当P=  (62)  时,处理机A和B的处理速度最接近。

    当P=  (63)  时,处理机B和C的处理速度最接近。

    (59) A.A,B,C    B.A,C,B   C.B,A,C    D.B,C,A

E.C,A,B   F.C,B,A

    (60)A.A,B,C    B.A,C,B   C.B,A,C    D.B,C,A

E.C,A,B   F.C,B,A

    (61)A.A,B,C    B.A,C,B   C.B,A,C    D.B,C,A

E.C,A,B    F.C,B,A

     (62) A.0.6    B.0.7    C.0.8    D.0.9

     (63)A.0.6    B.0.7    C.0.8    D.0.9

 

    在多级存储系统中,Cache处在CPU和主存之间,解决  (64)  问题。若Cache和主存的存取时间分别T1和T2,Cache的命中率为H,则计算机实际存取时间为  (65)  。当CPU向存储器执行读操作时,首先访问Cache,如命中,则从Cache中

 取出指令或数据,否则从主存中取出,送  (66)  ;当CPU向存储器执行写操作时,为了使Cache内容和主存的内容保持一致,若采用  (67) 法,同时写入Cache和主存。由于Cache容量比主存容量小,当Cache已写满时,但要主存信息写入Cache时,就要淘汰Cache中的已有信息。为了提高Cache的命中率,常采用一种  (68) 替换算法。

    (64)A.主存容量扩充    B.主存和CPU速度匹配

    C.多个请求源访问主存    D.BIOS存放

    (65)A.HT1+T2    B.(1-H)T1+HT2

    C.T2-HT1   D.HT1+(1-H)T2

    (66)A.Cache    B.CPU

    C.Cache和CPU    D.Cache或CPU

    (67)A.写回    B.写通    C.映照    D.特征

    (68)A.LRU    B.FIFO    C.FILO    D.RANDOM

 

    一般来说,Cache的功能  (69)  。某32位计算机的Cache容量为16KB,Cache块的大小为16 B,若主存与Cache的地址映射采用直接映射方式,则主存地址为 1234E8F8(十六进制)的单元装入的Cache地址为  (70) 

    (69)A.全部由软件实现

    B.全部由硬件实现

    C.由硬件和软件相结合实现

    D.有的计算机由硬件实现,有的计算机由软件实现

    (70)A.00010001001101(二进制)    B.01 00100011 0100(二进制)

    C.1010001111 1000(二进制)    D.11 010011101000(二进制)

分析与解答

答案

    (1)C    (2)B

[分析]

    这道题目是考察考生对内存地址的表示是否掌握,属于简单的计算型题目。

    由CBFFF-A4000就可以得出具体的容量的大小:CBFFF-A4000+1=27FFF+1,化为10进制,则为163840字节(byte),即163840÷1024=160K字节。

    因为芯片的容量是32K×8bit,即32K字节(1byte=8bit),所以只要160÷32=5就可以实现该容量。

答案

    (3)C

[分析]

    串行通信中,两个设备之间通过一对信号线进行通信,其中一根为信号线,另外一根为信号地线,信号电流通过信号线到达目标设备,再经过信号地线返回,构成一个信号回路。

    并行通信中,基本原理与串行通信没有区别。只不过使用了成倍的信号线路,从而一次可以传送更多位信号。

    单磁头可以看做一对信号线路,所以是以串行方式写入数据。

答案

    (4)D    (5)B

[分析]

    Cache(高速缓冲存储器)的功能是提高CPU数据输入/输出的速率,突破所谓的“冯·诺依曼瓶颈”,即CPU与存储系统间数据传送带宽限制。高速存储器能以极高的速率进行数据的访问,但由于其价格高昂,如果计算机的主存储器完全由这种高速存储器组成则会大大增加计算机的成本。通常在CPU和主存储器之间设置小容量的高速存储器Cache。Cache容量小但速度快,主存储器速度较低但容量大,通过优化调度算法,系统的性能会大大改善,仿佛其存储系统容量与主存相当而访问速度近似于Cache。在计算机的存储系统体系中,Cache是访问速度最快的层次。

    使用Cache改善系统性能的依据是程序的局部性原理。依据局部性原理,把主存储器中访问概率高的内容存放在Cache中,当CPU需要读取数据时就首先在Cache中查找是否有所需内容,如果有则直接从Cache中读取;若没有再从主存中读取该数据,然后同时送往CPU和Cache。如果CPU需要访问的内容大多都能在Cache中找到(称为访问命中,hit),则可以大大提高系统性能。

    当CPU发出访存请求后,存储器地址先被送到Cache控制器以确定所需数据是否已在Cache中,若命中则直接对Cache进行访问。这个过程称为Cache的地址映射。常见的映射方法有直接映射、相联映射和组相联映射。

    (1)直接映射:以随机存取存储器作为Cache存储器,硬件电路较简单。在进行映射时,存储器的地址被分成三部分,从高到低依次为:高位地址标识符、块号,以及块内地址。首先按照块号访问Cache,把该块的tag值与存储器地址中的tag域进行比较,若相同则根据地址中的word域对该项数据进行读写,若tag不相符则说明访问未命中。直接映射方式也是一种多对一的映射关系。

    (2)相联映射:使用相联存储器作为Cache,其速度快于直接映射,但是硬件电路较复杂,而且价格也较昂贵。使用相联存储器组成的Cache存储器,其基本单元分成两部分:地址部分和数据部分。数据部分用于存放数据,而地址部分则存放该数据的存储器地址。当进行映射时,相联存储器把CPU发出的存储器地址与Cache内所有的地址信息同时进行比较,以确定是否命中。全相联映射方式因其比较器电路难于设计和实现,而只适用于小容量Cache。

    (3)组相联映射:组相联映射的每一个块中有两个或两个以上不同的tag域,每一个tag域则对应着一个数据域。这样。Cache中同一项的两个(或多个)数据有相同的 block值和word值,但是可以有不同的tag值,从而弥补了直接映射机制的缺陷。当 CPU发出读写请求后,地址信息中的block域用来访问Cache存储器。存储器地址所含的tag域则同时和该块中所有的tag(图中为两个)进行比较以确定是否命中。为了加快tag的比较过程,可以采用相联存储器的方式并行地进行比较。这就是组相联名称的由来。组相联映射方式适度地兼顾了相联和直接映射两种方式的优点。在Cache容量相等的条件下,组相联映射比直接映射方式有更高的命中率。

    若计算机的Cache容量大,速度快,而且运行的程序又能使CPU读写的数据经常在Cache中获得,则该程序执行的速度就快,也就是说如果程序短,访问存储器的局部性比较大,Cache的命中率就会比一般程序高。采用这种程序来评价计算机性能往往性能偏好。

    本题为组相联的Cache存储器的主存地址和Cache地址格式为:

      

    区号的长度由主存分区的区数确定,组号的长度由一个区的分组的组数确定,块号的长度由一个组的分块的块数确定,块内地址由块的大小确定。

    所以依据题意得:Cache分4块为一组,所以块长度;64块的Cache可以分为16组,所以组号长度=log=4:字块大小为128,所以块内地址长度=log=7。

    由于Cache分为64块,所以主存分为4096/64=64个区,区号长度=log=6。主存块长度=log=2;主存组号长度=log=4:主存块内地址长度=log=7。总长度二区号长度+组号长度+块长度+块内地址长度=19。

答案

    (6)C

[分析]

    根据主存容量或芯片的规格求地址的位数,或者是数据线的数量,这种题型在软考中经常出现,知道规则就很容易解题。

    求地址线只要把主存的容量写成2的N次方的形式,这个N就是地址的位数,如题目中的16M=224,所以表示该主存地址至少需要24位。其实这种规律也是从实践过程中总结出来的,我们来看几个简单的例子:

    如果地址线有1根,则可以表示2个地址,即地址0,1,刚好满足21=2;

    如果地址线有2根,则可以表示4个地址,即地址00,01,10,11,满足22=4

    如果地址线有3根,则可以表示8个地址,即000,001,010,011,100,101, 110,111,满足23=8;

    依次类推,也就把规律总结出来了。

答案

    (7)C    (8) B

[分析]

    首先从磁盘的转速20ms/周,我们可以知道,读取一条记录需要2ms。值得注意的一点是:处理一条记录的前提是将其读出来。处理第1条记录时,要先将其读取出来,再进行处理,所以处理R1所需时间为2ms+4ms,当R1处理完时,磁头已经转到了R4的位置,此时要将其调整到R2的位置,需要经过R5,R6,R7,R8,R9,R10,R1,这样要耗16ms的时间,再加上读取R2需要2ms以及处理数据的4ms,R2的总处理时间应为22ms。依次类推,处理这10个记录的时间为

    2+4+(16+2+4)×9=204ms

    从上面的分析,我们知道,大部分时间消耗在磁头回移的过程中。为了减少这种时间消耗,可以对排列顺序进行优化,优化后的排列顺序应为:R1,R8,R5,R2,R9, R6,R3,R10,R7,R4。这样,处理完R1时,磁头就到了R2的位置。直接读取R2,处理R2,处理完R2,磁头又到了R3的位置。依次类推,每条记录的读取及处理时间为:2ms+4ms=6ms,所以总时间为(2+4)×10=60ms。

答案

    (9)B    (10)A

[分析]

    虚拟存储管理系统的基础是程序的局部性理论。所谓程序局部性原理是指程序在执行时所呈现的局部性规律,即在一段较短时间内,程序的执行仅限于某个部分。局部性原理表现为两个方面:

    (1)时间局限性:如果某条指令被执行,则不久以后该指令很可能再次被执行;如果某条数据结构被访问,则不久以后该数据结构很可能再次被访问。产生时间局限性的主要原因是程序中有大量的循环操作。

    (2)空间局限性:一旦程序访问了某个内存单元,不久以后,其附近的内存单元也要被访问,即程序在一段时间内所访问的存储器空间可能集中在一定的范围之内,其最常见的情况就是程序的顺序执行。

    根据局部性原理的特征性,Denning阐述了程序性能的工作集理论。工作集是进程频繁访问的页面的集合。工作集理论指出,为使进程有效地运行,它的页面工作集应驻留内存中。否则,由于进程频繁地从外存请求页面,而出现称为“颠簸”(又称抖动)的过度的页面调度活动。此时,处理页面调度的时间超过了程序的执行时间。显然,此时CPU的有效利用率会急速下降。

    通常用两种等价的方法确定进程的工作集,一种是将工作集确定为在定长的页面访问序列(工作集窗口)中的页面集合,另一种是将工作集确定为在定长时间间隔中涉及到页面的集合。工作集的大小依赖于工作集窗口的大小,在进程执行时,工作集会发生变化。有时,当进程进入另一个完全不同的执行阶段时,工作集会出现显著的变化。不过在一个进程的执行过程中,工作集的大小处于稳定状态的时间基本上占绝大多数。

    另一种控制颠簸的技术是控制缺页率。操作系统规定缺页率的上下限,当一个进程的缺页率高于上限时,表明该进程需要更大的内存空间,则分配较多的内存页面给它,当进程的缺页率低于下限时,表明该进程占用的内存空间过大,可以适当地收回若干内存页面。

答案

    (11)C

[分析]

    在计算机中,内存空间的分配是由操作系统进行的,程序和数据除了常驻内存的以外都是以文件的形式存放在硬盘中,需要时从硬盘调到内存,再由CPU使用。我们把由进程中的目标代码、数据等的虚拟地址组成的虚拟空间称为虚拟存储器,操作系统必须解决由虚拟存储器到物理存储器的地址变换。这种变换方法有静态地址重定位和动态地址重定位两种方法。

     (1)静态地址重定位:静态地址重定位是在虚空间程序执行之前由装配程序完成地址影射工作。静态地址重定位的优点是不需要硬件的支持,缺点是无法实现虚拟存储器,必须占用连续的内存空间且难以做到程序和数据的共享。

    (2)动态地址重定位:动态地址重定位是在程序执行过程中,在CPU访问内存之前,将要访问的程序或数据地址转换为内存地址。动态地址重定位依靠硬件地址变换机构完成,其优点主要有:可以对内存进行非连续分配;提供了虚拟存储器的基础;有利于程序段的共享。

    虚拟存储器只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。它借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。它指的是主存一外存层次。它以透明的方式给用户提供了一个比实际主存空间大得多的程序地址空间。所以它既需要硬件也需要软件。

答案

    (12)A

[分析]

    本题考查的是虚拟存储中的页式存储。页式存储组织的基本原理是将各进程的虚拟空间划分为若干个长度相等的页,把内存空间以与页相等的大小划分为大小相等的片或页面,采用请求调页或预调页技术实现内外存的统一管理。

     页式存储组织的主要优点是利用率高,产生的内存碎片小,内存空间分配及管理简单。主要缺点是要有相应的硬件支持,增加了系统开销:请求调页的算法如选择不当,有可能产生抖动现象。

    页式存储系统的逻辑地址由页号和页内地址两部分组成。题目已知页面大小为4K,因为4K=212,所以页内地址有12位。现在把逻辑地址8644转成二进制数得100001 1100 0100,这里的低12位为页内偏移量,最高两位则为页号,所以逻辑地址8644的页号为10(即十进制数的2),所以物理块号为8,化为二进制数得1000。把物理块号和页内偏移地址拼合得10000001 11000100,转化为十进制数得33220。

答案

    (13)D    (14)D

[分析]

    如果以h代表对Cache的访问命中率,t1表示Cache的周期时间,t2表示主存储器周期时间,使用“Cache+主存储器”的系统的平均周期为t3,则

        t3=h×t1+(1-h)×t2其中1-h又称为失效率(未命中率)。

    在本题中,t2=30ns,t1=3ns,t3=3.27ns,把这些数据代入上面的公式,则可求出 h=99%。

    当主存地址为8888888H时,即二进制地址为1000100010001000100010001000B,其中块内地址为10001000100010001000B,而相联存储器中存储的是区号100010B和区内Cache块号为01B。将Cache块号与块内地址连接到一起,构成Cache的地址为0110001000100010001000B即188888H。

答案

    (15)B

[分析]

    请参考第5题的分析。

答案

    (16)C

[分析]

    本题的考点是存储容量的计算及其对应所需要的存储器芯片数。

    从4000H到43FFH的内存有1024字节,由于每个存储单元可存储16位二进制数,内存区域由4片存储器芯片构成,因此每片的容量为1024/4×16bit=256×16bit

 

答案

    (17)A    (18)D   (19)C

[分析]

    RAID(Redundant Arrays ofInexpensive Disks)是一种经济的磁盘冗余阵列,采用智能控制器和多磁盘控制器以提高数据传输率。RAID与主机连接较普遍使用的工业标准接口为SCSI。目前,RAID的产品多是由许多“独立”的磁盘构成冗余阵列,以提高其性能和可靠性。为了提高数据传输率,RAID采用多磁盘驱动器和智能控制器,使得阵列中的各个磁盘可独立并行工作,减少了数据存取等待时间。

    RAID机制*分6个级别,工业界公认的标准分别为RAD0~RAD5,RAID应用的主要技术有分块技术、交叉技术和重聚技术。

    (1)RAIDO级(无冗余和无校验的数据分块):具有最高的I/O性能和最高的磁盘空间利用率,易管理,但系统的故障率高,属于非冗余系统,主要应用于那些关注性能、容量和价格而不是可靠性的应用程序。

    (2)RAID1级(磁盘镜像阵列):由磁盘对组成,每一个工作盘都有其对应的镜像盘,上面保存着与工作盘完全相同的数据拷贝,具有最高的安全性,但磁盘空间利用率只有50%。RAD1主要用于存放系统软件、数据,以及其他重要文件。它提供了数据的实时备份,一旦发生故障所有的关键数据即刻就可使用。

    (3)RAD2级(采用纠错海明码的磁盘阵列):采用了海明码纠错技术,用户需增加校验盘来提供单纠错和双验错功能。对数据的访问涉及到阵列中的每一个盘。大量数据传输时I/O性能较高,但不利于小批量数据传输。实际应用中很少使用。

    (4)RAID3和RAD4级(采用奇偶校验码的磁盘阵列):把奇偶校验码存放在一个独立的校验盘上。如果有一个盘失效,其上的数据可以通过对其他盘上的数据进行异或运算得到。读数据很快,但因为写入数据时要计算校验位,速度较慢。

    (5)RAID5(无独立校验盘的奇偶校验码磁盘阵列):与RAID4类似,但没有独立的校验盘,校验信息分布在组内所有盘上,对于大、小批量数据读写性能都很好。RAD4和RAID5使用了独立存取(independent access)技术,阵列中每一个磁盘都相互独立地操作,所以I/O请求可以并行处理。所以,该技术非常适合于I/O请求率高的应用而不太适应于要求高数据传输率的应用。与其他方案类似,RAD4、RAID5也应用了数据分块技术,但块的尺寸相对大一点。

    题目中提到的其他接口解释如下:RS-232是用来连接终端或调制解调器的串行接口;FDDI(光纤分布式数据接口)是一种光纤环形网络的名称:ST506则是个人计算机上用来连接温彻斯特硬盘的较低速的接口,不能用来连接RAD。

答案

    (20)C

[分析]

    SCSI接口是小型计算机系统接口(Small Computer SystemInterface)的简称,它是在美国Shugart公司开发的SASI的基础上,增加了磁盘管理功能而成的。SCSI接口作为输入/输出接口,主要用于光盘机、磁带机、扫描仪、打印机等设备。

    SCSI标准是1986年审议完成的,称为SCSI-I标准,由于SCSI的特点是传输速度快,支持多I/O任务并行操作,因此在非PC上得到了广泛的应用。1990年又制定了 SCSI-II标准。下面是广些SCSI标准的数据。

    (1)SCSI-I:数据宽度为8位,数据传输速率最高达5Mb/s。

    (2)SCSI-II:数据宽度为16位,数据传输速率最高达10Mb/s。

    (3)Fast SCSI-II:数据宽度为16位,数据传输速率最高达20Mb/s。

    (4)Fast/Wide SCSI-II:数据宽度为32位,数据传输速率最高达40Mb/s。

    (5)Ultra SCSI:最高传输速率约为20Mb/s。

    (6)Ultra-2 SCSI:最高传输速率可达80Mb/s。

    (7)Ultra 160/m:最高传输速率可达160Mb/s。

答案

    (21)E    (22)A

[分析]

    本题是一道关于页式存储系统的问题,由于题目已经告诉我们,每个页的大小为1KB,然而1KB=210B,所以页内地址有10位。

    把虚地址0A5C(H)化为二进制为10100101 1100(B),其中低10位100101 1100 (B)为页内地址,余下的高2位10(B)为页号。二进制的10等于十进制的2,查虚页号和物理页号对照表(表2-2),可知物理页号为4,即二进制的100,所以物理地址为100100101 1100,化为十六进制为125C(H)。

    用同样的方法,我们求得1A5C(H)的页号为6,但此时的虚页号和物理页号对照表中没有虚页号6,所以会产生页失效错误。

 

3. 答案

    (23)B    (24)C   (25)F    (26)B

[分析]

    看看题目给出的条件:一个虚拟存储系统由容量C1=8MB的主存和容量C2=800MB的辅存两级存储器所构成。主存每位平均代价p1=10个单位成本,辅存每位平均代价p2=1个单位成本。相对于CPU而言,从主存读出时间为tA1=500ns,从辅存读出时间为tA2=5ms。

    要计算每位的平均代价,我们要计算出两级存储器的成本之和,再除以总容量,即

    (8×220×810+800×220×8×1)+(8×220×8+800×220×8)=1.0891

    题目中已经给出“统计一组Benchmark程序,获得访问主存次数N1=8×109,访问辅存次数N2=16×106”,由于辅存的读出时间为5ms=5000μs=5000000ns=5×106ns,所以两级存储器的读出时间比为:

    (8×109×500)÷(16×106×5×106)=0.05

    接下来计算命中率:

    H=(8×109)/(8×109+16×106)×100%=99.8%

    求出命中率后,求平均读取时间也就容易了,公式为:

    H×tA1+(1-H)×tA2=99.8%×500+(1-99.8%)×5000000=100.5μs

 

4. 答案

    (27)B    (28)A   (29)H    (30)B    (31)D

[分析]

    本题涉及存储管理知识,主要考查段页式存储管理。

    段页式存储组织是分段式和分页式结合的存储组织方法,这样可充分利用分段管理和分页管理的优点。在段页式管理的存储器中,程序按逻辑单位分成基本独立的段,再把每段分成固定大小的页。实存则等分成与上述页大小相等的页。程序对内存的调入或调出是按页进行的。但它又可按段实现共享和保护。

    在多道程序环境中,每道程序都有一张段表和一个作为用户标志的基号。每道程序有一个基号与其他程序相区分,每道程序可以有多个段,但只有一个段表,每个程序可以有多个页表。一个逻辑地址中,除了基号(x)、段号(p)和页号(s)外,还有一个页内地址(d)。

    每个逻辑地址变换成实地址的过程如下:

    (1)首先,由基号在基寄存器中找到该道程序的段表起始地址;

    (2)接着,由该地址及段号在该程序段表中找到该程序特定段的页表起始地址;

    (3)再由页表起始地址及页号找到物理地址的实页号;

    (4)最后,由该实页号拼接上页内地址就是物理地址。

    该过程可简单地用一个式子来示意,即

    (((x)+s)+p)×211+d

    其中,(x)表示基寄存器中地址为x的单元的内容。由于本题中给出页内地址占 11位(从位0到位10),故实页号c与d拼接成的物理地址为

    c×211+d

    段页式管理将段式存储管理和页式存储管理两种方式相结合,互相取长补短,充分发挥了它们的优点。段页式虚拟存储器管理方案具有空间浪费小、存储共享容易、存储保护容易、能动态连接的特点。但由于管理软件的增加,复杂性和开销也随之增加,需要的硬件及占用的内容也有所增加,使得执行速度大大下降。

 

5. 答案

    (32)D    (33)C   (34)C    (35)A    (36)B

[分析]

    主存储器也就是我们简称的主存或内存,根据工艺和技术不同,可分为下列几种。

    (1)RAM(random access memory):RAM存储器既可以写入也可以读出,但断电后信息无法保存,因此只能用于暂存数据。RAM又可分为DRAM和SRAM两种。

    ①DRAM(dynamic RAM):信息会随时间逐渐消失,因此需要定时对其进行刷新 (refresh)维持信息不丢失。

    ②SRAM (static RAM):在不断电的情况下信息能够一直保持而不会丢失。

    DRAM的密度大于SRAM且更加便宜,但SRAM速度快,电路简单(无须刷新电路),然而容量小,价格高。

    (2)ROM(read only memory):只读存储器,信息已固化在存储器中。ROM出厂时其内容由厂家用掩膜技术(mask)写好,只可读出,但无法改写。一般用于存放系统程序BIOS和用于微程序控制。

    (3)PROM(programmable ROM):可编程ROM,只能进行一次写入操作(与ROM相同),但是可以在出厂后,由用户使用特殊电子设备进行写入。

    (4)EPROM(erasable PROM):可擦除的PROM,其中的内容既可以读出,也可以写入。但是在一次写操作之前必须用紫外线照射15~20分钟以擦去所有信息,然后再写入。可以写多次。

    (5)E2PROM(electricallyEPROM):电可擦除EPROM,与EPROM相似,可以读出也可写入,而且在写操作之前,不需要把以前内容先擦去。能够直接对寻址的字节或块进行修改,只不过写操作所需的时间远远大于读操作所需时间(每字节需几百ms),其集成度也较低。

    (6)闪速存储器(flash memory):其性能介于EPROM与E2PROM之间。与 E2PROM相似,可使用电信号进行删除操作。整块闪速存储器可以在数秒内删除,速度远快于EPROM;而且可以选择删除某一块而非整块芯片的内容,但还不能进行字节级别的删除操作。集成度与EPROM相当,高于E2PROM。闪速存储器有时也简称为闪存,广泛应用于掌上电脑和手机等嵌入式系统。

    (7)相联存储器(content addressable memory,CAM):CAM是一种特殊的存储器,是一种基于数据内容进行访问的存储设备CAM。当对其写入数据时,CAM能够自动选择一个未用的空单元进行存储;当要读出数据时,不是给出其存储单元的地址,而是直接给出该数据或者该数据的一部分内容,CAM对所有的存储单元中的数据同时进行比较并标记符合条件的所有数据以供读取。由于比较是同时、并行进行的,所以这种基于数据内容进行读写的机制,其速度比基于地址进行读写的方式要快许多。

    (8)NVRAM(非挥发性RAM):这实际上是静态RAM加上电池,加电时,它的表现和静态RAM一样,失去电力时,由电池供电以保持其中的内容不丢失。由于成本高昂,所以其容量通常非常小,通常只有几百字节。

    几种存储器之间的比较如表2-6所示。

              表2-6  几种存储器之间的比较

类 型

保持数据

可 写

擦除大小

擦除次数

价格

读写速度

静态RAM

字节

无限

昂贵

动态RAM

字节

无限

中等

中等

ROM

×

×

 

 

便宜

PROM

×

一次使用编程器

 

 

中等

EPROM

×

√使用编程器

整个芯片

有限

中等

E2PROM

×

字节

有限

昂贵

读快,写慢

Flash

×

有限

中等

读快,写慢

NVRAM

×

字节

无限

昂贵

6. 答案

    (37)C    (38)B   (39)A    (40)B    (41)B

[分析]

    所谓虚拟存储技术,是指在内存中保留一部分程序或数据,在外存(硬盘)中放置整个地址空间的副本。程序运行过程中可以随机访问内存中的数据或程序,但需要的程序或数据不在内存时,就将内存中部分内容根据情况写回外存,然后从外存调入所需程序或数据,实现作业内部的局部对换,从而允许程序的地址空间大于实际分配的存储区域。它在内存和外存之间建立了层次关系,使得程序能够像访问主存一样访问外存,主要用于解决计算机主存储器的容量问题。

    虚拟存储器的调度方法与Cache基本相似,但是Cache主要是为了解决CPU速度和主存速度相差太远而不能充分发挥CPU高速性能这个问题。

    在虚拟存储器中,当指令执行时,如果操作对象不在内存,就向操作系统发出缺页中断。这时操作系统按照某种替换算法挑选某一物理页,根据情况决定是否将其写回外存,然后从外存中调入相应页面进行覆盖,并修改页表。而内存中存储的数据和程序是以物理地址来表示的,这样,在执行一条指令时,必须先进行从逻辑地址到物理地址的交换(这个过程称为地址映射)。

    由本节练习6的分析,我们知道,相联存储器是按照内容进行寻址的。

7. 答案

    (42)C    (43)A   (44)D    (45)C    (46)B

[分析]

    1M=220,故1MB内存按字节编址(即寻找空间为1M),地址寄存器至少需要20位。

    如果采用字节编址,4字节一次读出,字地址是该字高位字节的地址,总是等于4的倍数。

    例如:某字的起始地址为1000,接着三个内存单元1001,1002,1003:

    下个字首地址则为1004,4在二进制中表示为100:

    同样下个字首地址为1008,8在二进制中表示为1000;

    最低两位总是为00。

    若存储周期为200ns(200×10-9秒),每个周期可访问4个字节,其带宽为:

    1÷(200×10-9)×4=2×107(B/s)=160M(b/s)

    因为可用的4MB内存空间超出了实际的物理内存1MB,称为逻辑地址,实际访问内存的地址为物理地址。在程序运行时,需要把逻辑地址映射为实际的物理地址。

 

8. 答案

    (47)A

[分析]

    虚拟存储器是内存在一定程度上的扩展,它使程序可以在透明的情况下访问比内存大得多的地址空间,使运行内存需要大于内存实际容量的程序成为可能,操作系统从硬盘中分配一部分空间作为虚拟存储器,在需要时同内存中的页面进行相互替换。

    如果选择的页面被频繁地装入和调出,那么这种现象称为“抖动”,应减少和避免抖动现象。常用的页面调度算法有以下几种。

    (1)最优淘汰算法(Optimal Replacement Algorithm,OPT)。选择不再使用或最远的将来才被使用的页,难以实现,常用于淘汰算法的比较。

    (2)随机选择算法(Random algorithm,RAnd)。随机地选择被淘汰的页,开销小,但是可能选中立即就要访问的页。

    (3)先进先出(First in First out,FIFO)算法,又称轮转法(RR)。选择在内存驻留时间最长的页,似乎合理,但可能淘汰掉频繁使用的页。另外,使用FIFO算法时,在未给予进程分配足够的页面数时,有时会出现给予进程的页面数增多,缺页次数反而增加的异常现象。FIFO算法简单,可采用队列实现。

    (4)最近最少使用(Least Recently Used,LRU)算法。选择离当前时间最近的一段时间内使用得最少的页。这个算法的主要出发点是:如果某个页被访问了,则它可能马上就要被访问;反之,如果某个页长时间未被访问,则它在最近一段时间也不会被访问。

    另外,还有最不经常使用的页面先淘汰(Least FrequentUsed,LFU)、最近没有使用的页面先淘汰(Not Used Recently,NUR)。

 

答案

    (48)B

[分析]

    实存的可变式动态分区分配在作业执行前并不建立分区,而是在处理作业过程中按需要建立分区。

    常使用的4种存储分配算法介绍如下。

    (1)首次适应算法:把内存中的可用分区单独组成可用分区表或可用分区*链,按起始地址递增的次序排列。每次按递增次序向后找,一旦找到大于或等于所要求内存长度的分区,则结束探索,从找到的分区中找出所要求的内存长度分配给用户,并把剩余的部分进行合并。

    (2)循环适应算法:上述首次适应法经常利用的是低地址空间,后面经常是较大的空白区,为使内存所有线性地址空间尽可能轮流使用到,每重新分配一次,都在当前之后寻找。

    (3)最佳适应算法:最佳适应算法是指将输入作业放入主存中与它所需大小最接近的空白区中,使剩下的未用空间最小,该法要求空白区大小按从小到大的次序组成空白区可用表或*链。在进行分配时总是从最小的一个开始查询,因而找到的一个能满足要求的空白区便是最佳的一个。

    (4)最差适应算法:分配时把一个作业程序放入主存中最不适合它的空白区,即最大的空白区(空闲区)内。

 

答案

    (49)D

[分析]

    在文件存储设备管理中,有三类常用的空闲块管理方法,即位图向量法、空闲块链表法和索引法。

    位图向量法中位图的每个字的每一位都对应一个物理块。空闲块链表法是把所有的空白块链在一起,当创建文件需要一块或几块时,就从链头上依次取下,反之,回收空间时,把这些空白块依次链接到链头上。索引法是指在文件存取器上每一个连续的空闲区建立一个索引,这种分配技术适用于建立连续文件。

 

答案

    (50)B    (51)D   (52)B

[分析]

    磁盘上的数据都存放于磁道上。磁道就是磁盘上的一组同心圆,其宽度与磁头的宽度相同。为了避免减少干扰,磁道与磁道之间要保持一定的间隔(inter-track gap),沿磁盘半径方向,单位长度内磁道的数目称之为道密度(道/英寸,TPI),最外层为 0道。

    沿磁道方向,单位长度内存储二进制信息的个数叫位密度。为了简化电路设计,每个磁道存储的位数都是相同的,所以其位密度也随着从外向内而增加。磁盘的数据传输是以块为单位的,所以磁盘上的数据也以块的形式进行存放。这些块就称为扇区 (sector),每个磁道通常包括10~100个扇区。同样为了避免干扰,扇区之间也相互留有空隙(inter—sector gap)。柱面是若干个磁盘组成的磁盘组,所有盘面上相同位置的磁道组称为一个柱面(每个柱面有/1个磁道);若每个磁盘有m个磁道,则该磁盘组共有m个柱面。根据硬盘存放数据的规则,在向磁盘记录一个文件时,应将文件尽可能记录在同一柱面(不同记录面上的同号磁道构成一个柱面)上,当一个柱面记录不下时,再记录到相邻柱面上。因此,当一个文件超出一个磁道容量时,剩下的部分应存于其他盘面的同一编号的磁道上,即同一柱面的其他磁道上。

    所谓的格式化,是指将磁盘空间按照一定的磁盘阵列排布方法,有序且很规则地划分为若干个扇区,然后再把其中的所有存储介质的电离子清除,使之上面不管有无数据,都清零。在格式化中,要插入一些停顿位、写入些辅助位,使得格式化后的容量小于格式化前的容量。磁盘格式化后能够存储有用信息的总量称为存储容量,其计算公式如下:

    存储容量=n×t×s×b其中n为保存数据的总盘面数;t为每面磁道数:s为每道的扇区数;b为每个扇区存储的字节数。

    磁盘的存取时间包括寻道时间和等待时间。寻道时间(查找时间,seek time)为磁头移动到目标磁道所需的时间(movable—head disk),对于固定磁头磁盘而言,无须移动磁头,只需选择目标磁道对应的磁头即可。等待时间为等待读写的扇区旋转到磁头下方所用的时间。一般选用磁道旋转一周所用时间的一半作为平均等待时间。寻道时间由磁盘机的性能决定,目前主流硬盘典型的AST(average seek time)一般在10ms左右,而转速则有2400r/min,5400r/min,7200r/min,等等。软盘转速较慢,一般只有360r/min (因为磁头与盘面接触性读写)。

    磁盘的数据传输速率是指磁头找到地址后,单位时间写入或读出的字节数:

    R=TB÷T

    其中TB为一个磁道上记录的字节数,了为磁盘每转一圈所需的时间,只为数据传输速率。

    另外,对于这类试题,考生还需要记住几个公式:

    (1)总磁道数=记录面数×磁道密度×(外直径-内直径)÷2

    (2)非格式化容量=位密度×3.14×最内圈直径×总磁道数

    (3)格式化容量=每道扇区数×扇区容量×总磁道数

    (4)平均数据传输速率=最内圈直径×位密度×盘片转速

    做这类试题时,一定要注意单位的换算。根据题目给定条件,我们可计算如下:

    总磁道数=4×8×(30-10)÷2×10=3200

    说明:因为直径是以厘米为单位,而道密度是以毫米为单位,所以需要乘以10。

    非格式化容量=(250×3.14×10×10×3200)÷8÷1024÷1024=29.95MB

    说明:因为括号中求出的单位是位,而1B=8b(1字节=8位),1KB=1024B, 1MB=1024KB。

    格式化容量=(16×512×3200)÷1024÷1024=25MB

    平均数据传输速率=((2×3.14×(100+2))×250×7200÷60)÷8÷1000=1177.5KB/s

    说明:数据传输率中的K为1000。

 

答案

    (53)B

[分析]

    有关分配算法,请读者参考本节练习10的分析。

    根据本题给出的两个表格:

    (1)当进程请求20KB的内存时,可以使用4块内存中的一块(按照先后次序,分别是30KB、25KB、20KB和25KB),由表格(b)可知,系统分配的是第1块(分配 20KB,剩下10KB空闲未用)。

    (2)当进程请求10KB的内存时,可以使用4块内存中的一块(按照先后次序,分别是10KB、25KB、20KB和25KB),由表格(b)可知,系统分配的是第2块(分配 10KB,剩下15KB空闲未用)。

    (3)当进程请求5KB的内存时,可以使用5块内存中的一块(按照先后次序,分别是10KB、5KB、15KB、20KB和25KB),由表格(b)可知,系统分配的是最后一块(分配5KB,剩下20KB空闲未用)。

    因此,可以看出这里使用的是最差适应法。

 

答案

    (54)E    (55)D   (56)B    (57)C    (58)A

[分析]

    此题考查存储管理方面的知识点,侧重各种存储管理方法的优缺点。要正确解答此题,必须把这些存储管理方法的特点搞清楚。下面逐一分析备选项。

    (1)连续分区把所有用户区都分配给唯一的用户作业,当做业被调度时,进程全部进入内存,一旦完成,所有主存恢复空闲,因此,它不支持多道程序设计。

    (2)固定分区存储管理。这是支持多道程序设计的最简单存储管理方法,它把主存划分成若干个固定的和大小不同的分区,每个分区能够装入一个作业,分区的大小是固定的,算法简单,但是容易生成较多的存储器碎片。

    (3)可重定位分区存储管理。这是克服固定分区碎片问题的一种存储分配方法,它能够把相邻的空闲存储空间合并成一个完整的空区,还能够整理存储器内各个作业的存储位置,以达到消除存储碎片和紧缩存储空间的目的。紧缩工作需要花费大量的时间和系统资源。

    (4)非请求分页式存储管理。非请求分页式是指将存储空间和作业的地址空间分成若干个等分部分的分页式,要求把进程所需要的页面全部调入主存后作业方能运行,因此,当内存可用空间小于作业所需的地址空间时,作业无法运行。它克服了分区存储管理中碎片多和紧缩处理时间长的缺点,支持多道程序设计,但不支持虚拟存储。

    (5)请求分页式存储管理。非请求分页式是将存储空间和作业的地址空间分成若干个等分部分的分页式,当进程需要用到某个页面时将该页面调入主存,把那些暂时无关的页面留在主存外。它支持虚拟存储,克服了分区存储管理中碎片多和紧缩处理时间长的缺点,支持多道程序设计,但是它不能实现对最自然的以段为单位的共享与存储保护 (因为程序通常是以段为单位划分的,所以以段为单位最自然)。

    (6)段页式存储管理。这是分段式和分页式结合的存储管理方法,充分利用了分段管理和分页管理的优点。作业按逻辑结构分段,段内分页,内存分块。作业只需部分页装入即可运行,所以支持虚拟存储,可实现动态链接和装配。

 

答案

    (59)F    (60)F   (61)A    (62)C    (63)C

[分析]

    在由Cache和主存构成的存储体系中,存储器的平均存取周期为

    T=p×t1+(1-p)×t2

    其中t1为Cache的存取周期,t2为主存存取周期,户为Cache的命中率。

    因此,当P=0.6时,A的平均存取周期为

    0.6×60+(1-0.6)×1000=436ns

    B的平均存取周期为

    0.6×80+(1-0.6)×900=408ns

    C的平均存取周期为

    0.6×100+(1-0.6)×800=380ns

    当P=0.75时,A的平均存取周期为

    0.75×60+(1-0.75)×1000=295ns

    B的平均存取周期为

    0.75×80+(1-0.75)×900=285ns

    C的平均存取周期为

    0.75×100+(1-0.75)×800=275ns

    当P=0.95时,A的平均存取周期为

    0.95×60+(1-0.95)×1000=107ns

    B的平均存取周期为

    0.95×80+(1-0.95)×900=121ns

    C的平均存取周期为

    0.95×100+(1-0.95)×800=135ns

    要求处理机A和B的处理速度最接近时P的值,即为求当P为何值时算式

    (P×60+(1-P)×1000)-(P×80+(1-p)×900)的绝对值最小。可令这个算式等于0,求出P的值为5/6。用同样的方法可以求出处理机B和C的处理速度最接近时P的值为5/6。

 

答案

    (64)B    (65)D   (66)C    (67)B    (68)A

[分析]

    系统的平均存储周期与命中率有很密切的关系,命中率的提高即使很小,也能导致性能上有较大改善。

    当Cache存储器产生了一次访问未命中之后,相应的数据应同时读入CPU和 Cache。但是当Cache已存满数据后,新数据必须淘汰Cache中的某些旧数据。常用的淘汰算法主要有以下三种。

    (1)FIFO算法:把一组中最先调入Cache的字块替换出去,实现较简单。

    (2)LRU(Least RecentlyUsed)算法:把一组中近期最少使用的字块替换出去,命中率较高,因此最为常用。

    (3)RAnd算法:用随机数发生器产生需替换的字块号,因为不能很好反映程序局部性,命中率较低。

    因为需要保证缓存在Cache中的数据与主存中的内容一致,相对读操作而言,Cache的写操作比较复杂,常用的有以下几种方法。

    (1)写直达(write through):当要写Cache时,数据同时写回主存储器,有时也称为写通。

    (2)写回(write back):CPU修改Cache的某一行后,相应的数据并不立即写入主存储器单元。而是当该行从Cache中被淘汰时,才把数据写回到主存储器中。

    (3)标记法:对Cache中的每一个数据设置一个有效位。当数据进入Cache后,有效位置1;而当CPU要对该数据进行修改时,数据只需写入主存储器并同时将该有效位清零。当要从Cache中读取数据时需要测试其有效位:若为1则直接从Cache中取数,否则从主存中取数。

 

答案

    (69)B    (70)C

[分析]

    在本题中,Cache块(行)的大小为16B,所以Cache的行内地址长度为4位(2 4=16);而Cache容量为16KB,所以Cache的地址总长度为14位(2 14=16K)。因此,此Cache可分为1024行,即行号地址长度10位(2 10=1K)。已知主存地址为1234E8F8,将其化为二进制为:1 00100011 01001110100011111000,则最低4位为Cache的行内地址,即1000,中间10位为Cache的行号,即1010001111。Cache的地址为“行号+行内地址”,故题中所求的Cache的地址应为1010001111 1000。