基本分段存储器管理方式练习题
‘壹’ 微机原理与接口技术试题及答案跟详细解释
微型计算机原理与接口技术2006年考试题及答案B
一. 选择(每题1分)
下列各题四个选择项中,只有一个选项是正确的。请将正确选项号写在相应空位置上。
1.系统总线又称为_______,这是指模块式微处理机机箱内的底版总线。
1)主板总线 2)内总线 3)片内总线 4)局部总线
2.目前市场上出售的台式PC机中Pentium 4微处理器的主频一般为
1) 0.5GHz左右 2)1GHz左右 3)3GHz左右 4)5GHz以上
3. .按诺依曼结构理论,下面哪个不是计算机组成部分:
1) 运算器2)控制器3)打印机4)复印机
4.程序设计人员不能直接使用的寄存器是__________
1) 通用寄存器2)指令指针寄存器3)标志寄存器4)段寄存器
5. Pentium微处理器的结构之所以称为超标量结构,是因为下面哪一种原因?
1)Pentium微处理器不仅能进行32位运算,也能进行64位运算
2)Pentium微处理器内部含有多条指令流水线和多个执行部件
3)数据传输速度很快,每个总线周期最高能传送4个64位数据
4)微处理器芯片内部集成的晶体管数超过100万个,功耗很大
6.在任何时刻,存储器中会有一个程序是现役的,每一个现役程序最多可以使用___________
① 3个段② 4个段③ 5个段④ 6个段
7.Pentium微处理机配备了5个控制寄存器。其中没有定义,而供将来使用的是__________
1)CR1 2) CR2 3)CR3 4)CR4
8.Pentium地址总线是32位的,它的内部数据总线的宽度是:
1)16位 2)32位 3)64位 4)36位
9.Pentium的寄存器可分为浮点寄存器、系统级寄存器等___大类。
1) 2 2) 3 3) 4 4) 5
10.属于系统级寄存器的是________。
1) 系统地址寄存器和控制寄存器2) 通用寄存器和系统地址寄存器
3) 通用寄存器和控制寄存器4) 系统地址寄存器和段寄存器
11. 下面是关于CPU与 Cache 之间关系的描述,其中正确的一条描述是:
1)Cache中存放的是主存储器中一部分信息的映像
2)用户可以直接访问Cache
3)片内Cache要比二级Cache的容量大得多
4)二级Cache要比片内Cache的速度快得多
12. 在保护方式下,段寄存器内存放的是_________。
1) 段基址 2) 段选择符 3) 段描述符 4) 段描述符表基址
13. 通常,人们把用符号表示计算机指令的语言称为——————。
1) 机器语言 2) 汇编语言 3) 模拟语言 4) 仿真语言
14. Pentium系统之所以为超标量计算机是因为采用了___________。
1) 并行流水线结构 2) 数据与指令分离的Cache结构
3) 转移预测技术 4 ) 提高了时钟频率
15.Pentium系统内约定,一个字的宽度是___。
1) 1字节 2) 2字节 3) 4字节 4) 8字节
16.Pentium用来作为堆栈指针的寄存器是:
1)EIP寄存器 2)EBP 寄存器 3)ESP寄存器 4)EDI寄存器
17.Pentium微处理机可访问的物理存储器的范围是__________。
1) 4GB 2) 64TB 3) 4MB 4) 16GB
18.存储管理是由分段存储管理和__________组成。
1)分段部件 2)分页部件 3)分页存储管理 4)虚拟管理
19. Pentium微处理机的分页存储管理系统把页的大小定义成__________。
1) 16KB 2) 4MB 3)4KB 4) 4GB
20.经分段存储管理部件分段之后生成的线性地址由__________与12位偏移量组成。
1) 段地址寄存器和10位页目录索引 2) 段描述符表和10位页表索引
3) 10位页目录索引和10位页表索引 4) 10位页表索引和虚拟地址
21.段选择符(段寄存器)中请求特权级字段共__________位。
1)1位 2) 2位 3) 3位 4) 4位
22.多段存储管理方式中,每一个程序都拥有它自己的__________,以及多种属于它自己的存储器段。
1) 段描述符 2) 段选择符 3) 段选择符和段描述符 4) 段描述符寄存器
23.符合汇编语言变量命名规则的变量名是__________。
1) MOV 2) CX 3)DATA 4)LPT1
24. Pentium微处理机是———微处理机
1)16位。2)32位。3)64位。4)准64位。
25.Pentium 微处理机配置的超标量执行机构允许————以并行方式执行。
1)一条指令 2)两条指令 3)三条指令 4)四条指令
26.Pentium标志寄存器上各标志位信息反映的是———。
1)寄存器堆栈中每一寄存器中的内容。
2)Pentium微处理机的状态信息。
3)Cache操作信息。
4)存储器状态信息。
27.当前,在Pentium机中,常用来在系统中的各部件之间进行高速数据传输操作的系统总线是:
1)ISA 2)EISA 3)PCI 4)VESA
28.下面关于微处理器的叙述中,错误的是
1)微处理器是用单片超大规模集成电路制成的具有运算和控制功能的处理器
2)一台计算机的CPU可能由1个、2个或多个微处理器组成
3)日常使用的PC机只有一个微处理器,它就是中央处理器
4)目前巨型计算机的CPU也由微处理器组成
29.Pentium机中的寄存器、Cache、主存储器及辅存储器,其存取速度从高到低的顺序是:
1) 主存储器, Cache,寄存器,辅存 2)快存,主存储器,寄存器,辅存
3) 寄存器, Cache,主存储器,辅存 4)寄存器,主存储器,Cache,辅存
30.用MB(兆字节)作为PC机主存容量的计量单位,这里1MB等于多少字节?
1) 210 2) 220 3) 230 4) 240
31.Pentium 微处理器在保护模式下对存储器进行访问时,段寄存器提供的是
1) 段选择符 2) 段基址
3) 段描述符 4) 偏移地址
32.下面是关于PCI总线的叙述,其中错误的是
1) PCI支持即插即用功能
2) PCI的地址线与数据线是复用的
3) PCI总线是一个16位宽的总线
4) PCI是一种独立于处理器的总线标准,可以支持多种处理器
33.Pentium微处理器在实施分页存储管理时,其最小页面的大小是
1) 256B 2) 4KB 3) 1MB 4) 4MB
34.下面关于总线的叙述中,错误的是
1) 总线的位宽指的是总线能同时传送的数据位数
2)总线标准是指总线传送信息时应遵守的一些协议与规范
3) Pentium机中的PCI总线不支持成组传送方式
4) 总线的宽带是指每秒钟总线上可传送的数据量
二.选择填空(每空1分)
1.Pentium微处理机的段寄存器(也称段选择符)是———位的寄存器,用它可选择
----------------个段的逻辑地址。
(1)32位(2)16位(3)8位(4)64位
(5)16KB(6)64TB(7)4GB (8)3.2GB
2.. Pentium 微处理机实现的是———和———两级存储管理。
(1)主存储器(2)磁盘(3)分段管理(4)Cache
(5)分页管理(6)二级Cache
3. 在保护方式下,Pentium微处理机可以访问———字节虚拟存储器地址空间和
———————字节实地址存储器空间。
(1)256KB(2)512KB(3)1MB(4)512MB(5)1GB
(6)4GB(7)21GB(8)32GB(9) 1TB(10) 32TB
(11) 64TB(12) 16TB 注:GB = 千兆TB = 兆兆
4.Pentium 微处理机段的转换过程是,由系统给出的地址以及程序给出的地址都是————,它是
由————和————组成。
(1)实地址(2)逻辑地址(3)一个32位的基地址(4)一个16位的
段选择符(5)一个只能在段内使用的32位的偏移量(6)20位的段的界限
5.Pentium 微处理机共配备有————段寄存器,它们都是————的寄存器,它们的作用是用来——。
(1) 8个(2) 16个(3)6个(4) 32位的(5)16位
(6)从寄存器中选出所需的地址(7)从段描述符表中选出所需的段描述符
(8)从段描述符中选出32位的基地址(9)从段描述符中选出段的界限。
6.Pentium 微处理机浮点部件寄存器堆栈是由————个、————位的寄存器构成。
(1) 16个(2)32个(3)8个(4)3个(5)16位
(6)32位(7)64位(8)80位
7.Pentium 微处理机浮点部件的状态字寄存器内容反映的是————。
(1)浮点部件的全部状态和环境(2)浮点部件的数值(3)浮点部件的总
线状态(4)Pentium 微处理机的状态和环境
8.总线是一种————,是由系统中各部件所共享,在————的控制之下将信息准确地传
送给————。
(1)公共信号(2)数据通道(3)专用地信号连线(4)主控设备
(5)中断源(6)从属设备(7)信号源(8)存储器
(9)寄存器
三. 填空题:(每空1.分)
1.目前微型计算机的基本工作原理是__________的原理,其基本结构属于冯·诺依曼结构。
2.Pentium的指令指针寄存器EIP中存放的是____________________。
3.运算器中进行的各种算术运算操作归结为__________两种最基本的操作。
4.Pentium微处理机规定了4个寄存器用于控制分段存储器管理中的数据结构位置。其中GDTR和IDTR称为___寄存器,LDTR和TR称为__________寄存器。
5.中断包括__________INTR和__________NMI。
6. 指出下列指令语句中源操作数是__________;目的操作数是__________。
MOV AX,0CFH
7.假设BX寄存器上的内容为0100H,下列指令执行后AX寄存器的内容分别是什么?
MOV AX, 1200H;(AX)=________
MOV AX, BX;(AX)=__________
ADD AX, BX;(AX)=__________
8.总线操作周期的4个操作阶段分别是————,————,——————,————。
四 . 判断题(对:√;错:×)(每题1分)
Pentium系统属于RISC类微处理机。
RISC类的微处理机,为了减少访问内存的次数而增加寄存器的数目。
Pentium数据寄存器可以存放8、16、32位二进制数据。
Pentium系统的段寄存器为32位寄存器。
Pentium的V流水线和U流水线都可执行任何指令。
对一个段进行访问,必须将这个段的描述符装入到段寄存器中。
Pentium段描述符是由8个字节共64个二进制位组成。
Pentium分段用于程序保护,分页用于把程序映射到大小固定的虚拟页上。
Pentium在进行分页转换中,页目录项的高20位页框地址是与物理存储器中的物理页是相对应的。
线性地址是同一标准的不分段的地址空间内的32位地址。
利用索引字段可以从拥有210个段描述符的段描述符表中选出任何一个段描述符。
Cache的命中率是指命中Cache的次数与访问Cache的次数之比。
当程序有高度的顺序性时,Cache更为有效。
Pentium处理机是32位微处理机,因此其内部数据总线是32位的。
RISC类微处理机采用大量通用寄存器,从根本上提高了CPU的运算速度,尤其适于在多任务处理的环境。
系统地址寄存器只能在保护方式下使用,所以又称其为保护方式寄存器。
异常是指微处理机检测到的异常情况,异常又进一步地划分为故障,自陷和异常终止三种。
运算器是存储信息的部件,是寄存器的一种。
通常,微处理机的控制部件是由程序计数器、指令寄存器、指令译码器、时序部件等组成。
Pentium微处理机配备有5个32位的控制寄存器:CR0、CR1、CR2、CR3、CR4。保存着跟任务有关的适合于所有任务的机器状态。
在Pentium微处理机的指令指针寄存器EIP内存放着下一条要执行的指令
在全局描述符表 GDT(Global Descriptor Table)中存放供所有程序共用的段描述符。
五.简答题
1.什么是超标量技术?试说明超标量技术在Pentium上是怎样实现的?(3分)
2.试简单说明Pentium将逻辑地址转换成物理地址的过程。(3分)
3.试简单说明Pentium浮点部件的流水线操作8个操作步骤及操作过程。(4分)
一.答案:
1.(2)2 .(3)3. (4)4. (3)5. (2)
6.(4)7. (1)8.(3) 9 .3) 10 .1)
11 .(1) 12.2) 13.2) 14.1) 15.2)
16.3) 17 .1) 18. 3) 19.3) 20.3)
21.2) 22.1) 23.4) 24.2) 25.2)
26.2) 27.3) 28.1) 29.3) 30.2)
31 1) 32 3) 33 2) 34 3)
二.答案:
1. 2) ,5) 2.3), 5) 顺序可以换
3.11) ,6) 4. 2),4) ,5)
5.3) 5) 7) 6. 3),8)
7. 1) 8.2),4),6)
三.答案
存储程序控制
当前代码段内下一条要执行指令的偏移量
相加和移位
全局描述符表和中断描述符表局部描述符表和任务状态
可屏蔽、不可屏蔽中断
AX 0CFH
1200H 0100H 0200H
总线请求和仲裁阶段 寻址阶段 数据传送阶段 结束阶段
四.答案:
1. 错2. 对3. 对4. 错5. 错
6. 错7. 对8. 错9. 错10对
11错 12 对 13错 14错 15错
16对 17对 18错 19对 20错
21错 22对
五.答案
1.什么是超标量技术?试说明超标量技术在Pentium上是怎样实现的?(3分)
在一个时钟周期内同时执行一条以上的指令(或在一个时钟周期内同时执行2条指令)的技术,称为超标量技术。
在Pentium上,采用了U流水线和V流水线,从而实现了超标量操作运行。
2.试简单说明Pentium将逻辑地址转换成物理地址的过程。(3分)
系统或程序给出的地址都是逻辑地址,经由分段部件,将逻辑地址转换成线性地址,若不分页,这个线性地址就是物理地址。
若需要分页,则再由分页部件,将线性地址转换成物理地址。
3.试简单说明Pentium浮点部件的流水线操作8个操作步骤及操作过程。(4分)
Pentium的浮点部件也采用了流水线操作技术,流水线操作由8个操作步骤组成:
预取PF,首次译码D1,二次译码D2,存储器和寄存器的读操作EX,
首次执行X1,二次执行X2,写浮点数WF和出错报告ER。
其中,预取PF和首次译码D1与整数流水线中的前两个操作步骤共用,浮点部件的第3
个操作步骤开始激活浮点指令的执行逻辑,然后执行后5个操作步骤。
‘贰’ 基本分段存储管理方式的信息共享
分段系统的一个突出优点,是易于实现段的共享,即允许若干个进程共享一个或多个分段,且对段的保护也十分简单易行。在分页系统中,虽然也能实现程序和数据的共享,但远不如分段系统来得方便。我们通过一个例子来说明这个问题。例如,有一个多用户系统,可同时接纳40个用户,他们都执行一个文本编辑程序(Text Editor)。如果文本编辑程序有160 KB的代码和另外40 KB的数据区,则总共需有 8 MB的内存空间来支持40个用户。如果160 KB的代码是可重入的(Reentrant),则无论是在分页系统还是在分段系统中,该代码都能被共享,在内存中只需保留一份文本编辑程序的副本,此时所需的内存空间仅为1760 KB(40×40+160),而不是8000 KB。
假定每个页面的大小为4 KB,那么,160 KB的代码将占用40个页面,数据区占10个页面。为实现代码的共享,应在每个进程的页表中都建立40个页表项,它们的物理块号都是21#~60#。在每个进程的页表中,还须为自己的数据区建立页表项,它们的物理块号分别是61#~70#、71#~80#、81#~90#,…,等等。下图是分页系统中共享editor的示意。
在分段系统中,实现共享则容易得多,只需在每个进程的段表中为文本编辑程序设置一个段表项。下图是分段系统中共享editor的示意图。
可重入代码(Reentrant Code)又称为“纯代码”(Pure Code),是一种允许多个进程同时访问的代码。为使各个进程所执行的代码完全相同,绝对不允许可重入代码在执行中有任何改变。因此,可重入代码是一种不允许任何进程对它进行修改的代码。但事实上,大多数代码在执行时都可能有些改变,例如,用于控制程序执行次数的变量以及指针、信号量及数组等。为此,在每个进程中,都必须配以局部数据区,把在执行中可能改变的部分拷贝到该数据区,这样,程序在执行时,只需对该数据区(属于该进程私有)中的内容进行修改,并不去改变共享的代码,这时的可共享代码即成为可重入码。
‘叁’ 下述存储管理方式中,会产生外碎片的是________. A. 页式和段式 B. 页式和段页式 C. 动态分区方式和段式
存储管理方式中,会产生外碎片的是页式和段页式 。段页式系统的基本原理,是基本分段存储管理方式和基本分页存储管理方式原理的结合,即先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。
分页存储管理将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页加以编号,从0开始,如第0页、第1页等。相应地,也把内存空间分成与页面相同大小的若干个存储块,称为(物理)块或页框(frame),也同样为它们加以编号,如0#块、1#块等等。
在为进程分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块中。由于进程的最后一页经常装不满一块而形成了不可利用的碎片,称之为“页内碎片”。
(3)基本分段存储器管理方式练习题扩展阅读
在处理器执行程序时需要将其从内存中读出再进行指令解码。在指令解码之前它必须向内存中某个位置取出或者存入某个值。然后执行此指令并指向程序中下一条指令。在此过程中处理器必须频繁访问内存,要么取指取数,要么存储数据。
虚拟内存系统中的所有地址都是虚拟地址而不是物理地址。通过操作系统所维护的一系列表格由处理器实现由虚拟地址到物理地址的转换。
为了使转换更加简单,虚拟内存与物理内存都以页面来组织。不同系统中页面的大小可以相同,也可以不同,这样将带来管理的不便。Alpha AXP处理器上运行的Linux页面大小为8KB,而Intel X86系统上使用4KB页面。每个页面通过一个叫页面框号的数字来标示(PFN) 。
页面模式下的虚拟地址由两部分构成:页面框号和页面内偏移值。如果页面大小为4KB,则虚拟地址的 11:0位表示虚拟地址偏移值,12位以上表示虚拟页面框号。处理器处理虚拟地址时必须完成地址分离工作。在页表的帮助下,它将虚拟页面框号转换成物理页面框号,然后访问物理页面中相应偏移处。
‘肆’ 基本分段存储管理方式的分段存储管理方式的引入
引入分段存储管理方式,主要是为了满足用户和程序员的下述一系列需要:
1) 方便编程
通常,用户把自己的作业按照逻辑关系划分为若干个段,每个段都是从0开始编址,并有自己的名字和长度。因此,希望要访问的逻辑地址是由段名(段号)和段内偏移量(段内地址)决定的。例如,下述的两条指令便是使用段名和段内地址:
LOAD 1,[A] |〈D〉;
STORE 1,[B] |〈C〉;
其中,前一条指令的含义是将分段A中D单元内的值读入寄存器1;后一条指令的含义是将寄存器1的内容存入B分段的C单元中。
2) 信息共享
在实现对程序和数据的共享时,是以信息的逻辑单位为基础的。比如,共享某个例程和函数。分页系统中的“页”只是存放信息的物理单位(块),并无完整的意义,不便于实现共享;然而段却是信息的逻辑单位。由此可知,为了实现段的共享,希望存储管理能与用户程序分段的组织方式相适应。
3) 信息保护
信息保护同样是对信息的逻辑单位进行保护,因此,分段管理方式能更有效和方便地实现信息保护功能。
4) 动态增长
在实际应用中,往往有些段,特别是数据段,在使用过程中会不断地增长,而事先又无法确切地知道数据段会增长到多大。前述的其它几种存储管理方式,都难以应付这种动态增长的情况,而分段存储管理方式却能较好地解决这一问题。
5) 动态链接
动态链接是指在作业运行之前,并不把几个目标程序段链接起来。要运行时,先将主程序所对应的目标程序装入内存并启动运行,当运行过程中又需要调用某段时,才将该段(目标程序)调入内存并进行链接。可见,动态链接也要求以段作为管理的单位。
‘伍’ 计算机操作系统第三版 汤子瀛编着的 第四章的课后题答案能发给我一下吗
第四章 存储器管理
1. 为什么要配置层次式存储器?
这是因为:
a.设置多个存储器可以使存储器两端的硬件能并行工作。
b.采用多级存储系统,特别是Cache技术,这是一种减轻存储器带宽对系统性能影响的最佳结构方案。
c.在微处理机内部设置各种缓冲存储器,以减轻对存储器存取的压力。增加CPU中寄存器的数量,也可大大缓解对存储器的压力。
2. 可采用哪几种方式将程序装入内存?它们分别适用于何种场合?
将程序装入内存可采用的方式有:绝对装入方式、重定位装入方式、动态运行时装入方式;绝对装入方式适用于单道程序环境中,重定位装入方式和动态运行时装入方式适用于多道程序环境中。
3. 何为静态链接?何谓装入时动态链接和运行时动态链接?
a.静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开的链接方式。
b.装入时动态链接是指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的一种链接方式,即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找相应的外部目标模块,把它装入内存中,并修改目标模块中的相对地址。
c.运行时动态链接是将对某些模块的链接推迟到程序执行时才进行链接,也就是,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。
4. 在进行程序链接时,应完成哪些工作?
a.对相对地址进行修改
b.变换外部调用符号
6. 为什么要引入动态重定位?如何实现?
a.程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程序还能正常执行,必须对程序和数据的地址加以修改,即重定位。引入重定位的目的就是为了满足程序的这种需要。
b.要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序在内存中的起始地址。程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。
9. 分区存储管理中常采用哪些分配策略?比较它们的优缺点。
分区存储管理中常采用的分配策略有:首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。
a.首次适应算法的优缺点:保留了高址部分的大空闲区,有利于后到来的大型作业的分配;低址部分不断被划分,留下许多难以利用的、小的空闲区,且每次分区分配查找时都是从低址部分开始,会增加查找时的系统开销。
b.循环首次适应算法的优缺点:使内存中的空闲分区分布得更为均匀,减少了查找时的系统开销;缺乏大的空闲分区,从而导致不能装入大型作业。
c.最佳适应算法的优缺点:每次分配给文件的都是最适合该文件大小的分区;内存中留下许多难以利用的小的空闲区。
d.最坏适应算法的优缺点:给文件分配分区后剩下的的空闲区不至于太小,产生碎片的几率最小,对中小型文件分配分区操作有利;使存储器中缺乏大的空闲区,对大型文件的分区分配不利。
10. 在系统中引入对换后可带来哪些好处?
能将内存中暂时不运行的进程或暂时不用的程序和数据,换到外存上,以腾出足够的内存空间,把已具备运行条件的进程或进程所需的程序和数据换入内存,从而大大地提高了内存的利用率。
12. 在以进程为单位进行对换时,每次是否将整个进程换出?为什么?
在以进程为单位进行对换时,并非每次将整个进程换出。这是因为:
a.从结构上讲,进程是由程序段、数据段和进程控制块组成的,其中进程控制块总有部分或全部常驻内存,不被换出。
b.程序段和数据段可能正被若干进程共享,此时它们也不能被换出。
13. 为实现分页存储管理,需要哪些硬件支持?
需要有页表机制、地址变换机构的硬件支持。
16. 为什么说分段系统较之分页系统更易于实现信息共享和保护?
a.对于分页系统,每个页面是分散存储的,为了实现信息共享和保护,则页面之间需要一一对应起来,为此需要建立大量的页表项;
b.而对于分段系统,每个段都从0开始编址,并采用一段连续的地址空间,这样在实现共享和保护时,只需为所要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应起来即可。
17. 分页和分段有何区别?
a.分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换,这是它们的共同点;
b.对于它们的不同点有三,第一,从功能上看,页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率,即满足系统管理的需要,而不是用户的需要;而段是信息的逻辑单位,它含有一组其意义相对完整的信息,目的是为了能更好地满足用户的需要;第二页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序;第三分页的作业地址空间是一维的,而分段的作业地址空间是二维的。
18. 试全面比较连续分配和离散分配方式。
a.连续分配是指为一个用户程序分配一个连续的地址空间,包括单一连续分配方式和分区式分配方式,前者将内存分为系统区和用户区,系统区供操作系统使用,用户区供用户使用,是最简单的一种存储方式,但只能用于单用户单任务的操作系统中;分区式分配方式分为固定分区和动态分区,固定分区是最简单的多道程序的存储管理方式,由于每个分区的大小固定,必然会造成存储空间的浪费;动态分区是根据进程的实际需要,动态地为之分配连续的内存空间,常用三种分配算法: 首次适应算法,该法容易留下许多难以利用的小空闲分区,加大查找开销;循环首次适应算法,该算法能使内存中的空闲分区分布均匀,但会致使缺少大的空闲分区;最佳适应算法,该算法也易留下许多难以利用的小空闲区;
b.离散分配方式基于将一个进程直接分散地分配到许多不相邻的分区中的思想,分为分页式存储管理,分段存储管理和段页式存储管理. 分页式存储管理旨在提高内存利用率,满足系统管理的需要,分段式存储管理则旨在满足用户(程序员)的需要,在实现共享和保护方面优于分页式存储管理,而段页式存储管理则是将两者结合起来,取长补短,即具有分段系统便于实现,可共享,易于保护,可动态链接等优点,又能像分页系统那样很好的解决外部碎片的问题,以及为各个分段可离散分配内存等问题,显然是一种比较有效的存储管理方式;
c.综上可见,连续分配方式和离散分配方式各有各自的特点,应根据实际情况加以改进和利用.
19. 虚拟存储器有哪些特征?其中最本质的特征是什么?
特征:离散性、多次性、对换性、虚拟性;
最本质的特征:离散性;最重要的特征:虚拟性。
20. 实现虚拟存储器需要哪些硬件支持?
a.对于为实现请求分页存储管理方式的系统,除了需要一台具有一定容量的内存及外存的计算机外,还需要有页表机制,缺页中断机构以及地址变换机构;
b.对于为实现请求分段存储管理方式的系统,除了需要一台具有一定容量的内存及外存的计算机外,还需要有段表机制,缺段中断机构以及地址变换机构;
21. 实现虚拟存储器需要哪几个关键技术?
a.分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换,这是它们的共同点;
25. 在请求分页系统中,通常采用哪种页面分配方式——物理块分配策略?
三种分配方式:固定分配局部置换、可变分配全局置换、可变分配局部置换。
26. 在一个请求分页系统中,采用FIFO页面置换算法时,假如一个作业的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,当分配给该作业的物理块数M分别为3和4时,试计算在访问过程中所发生的缺页次数和缺页率,并比较所得结果。
4 3 2 1 4 3 5 4 3 2 1 5
4
4 4 1 1 1 5 5 5
3 3 3 4 4 4 2 2
2 2 2 3 3 3 1
4 4 4 4 5 5 5 5 1 1
3 3 3 3 4 4 4 4 5
2 2 2 2 3 3 3 3
1 1 1 1 2 2 2
M=3时,采用FIFO页面置换算法的缺页次数为9次,缺页率为75%;
M=4时,采用FIFO页面置换算法的缺页次数为10次,缺页率为83%。
由此可见,增加分配给作业的内存块数,反而增加了缺页次数,提高了缺页率,这种现象被称为是Belady现象。
28. 试说明改进型Clock置换算法的基本原理。
基本原理:
在将一个页面换出时,如果该页已被修改过,便须将该页重新写回到磁盘上;但如果该页未被修改过,则不必将它写回磁盘上。在改进型算法中,除需考虑页面的使用情况外,还须再增加一个因素,即置换代价,这样,选择页面换出时,既要是未使用过的页面,又要是未被修改过的页面。
15 什么是抖动? 产生抖动的原因是什么?
a.抖动(Thrashing)就是指当内存中已无空闲空间而又发生缺页中断时,需要从内存中调出一页程序或数据送磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入,因此需再选一页调出,而此时被换出的页很快又要被访问,因而又需将它调入,如此频繁更换页面,使得系统把大部分时间用在了页面的调进换出上,而几乎不能完成任何有效的工作,我们称这种现象为"抖动"。
b.产生抖动的原因是由于CPU的利用率和多道程序度的对立统一矛盾关系引起的,为了提高CPU利用率,可提高多道程序度,但单纯提高多道程序度又会造成缺页率的急剧上升,导致CPU的利用率下降,而系统的调度程序又会为了提高CPU利用率而继续提高多道程序度,形成恶性循环,我们称这时的进程是处于"抖动"状态。
‘陆’ 基本分段存储管理方式的分段系统的基本原理
在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。例如,有主程序段MAIN、子程序段X、数据段D及栈段S等,如图4-17所示。每个段都有自己的名字。为了实现简单起见,通常可用一个段号来代替段名,每个段都从0开始编址,并采用一段连续的地址空间。段的长度由相应的逻辑信息组的长度决定,因而各段长度不等。整个作业的地址空间由于是分成多个段,因而是二维的,亦即,其逻辑地址由段号(段名)和段内地址所组成。
分段地址中的地址具有如下结构:
在该地址结构中,允许一个作业最长有 64 K个段,每个段的最大长度为64 KB。分段方式已得到许多编译程序的支持,编译程序能自动地根据源程序的情况而产生若干个段。例如,Pascal编译程序可以为全局变量、用于存储相应参数及返回地址的过程调用栈、每个过程或函数的代码部分、每个过程或函数的局部变量等等,分别建立各自的段。类似地,Fortran编译程序可以为公共块(Common block)建立单独的段,也可以为数组分配一个单独的段。装入程序将装入所有这些段,并为每个段赋予一个段号。 为了实现从进程的逻辑地址到物理地址的变换功能,在系统中设置了段表寄存器,用于存放段表始址和段表长度TL。在进行地址变换时,系统将逻辑地址中的段号与段表长度TL进行比较。若S>TL,表示段号太大,是访问越界,于是产生越界中断信号;若未越界,则根据段表的始址和该段的段号,计算出该段对应段表项的位置,从中读出该段在内存的起始地址,然后,再检查段内地址d是否超过该段的段长SL。若超过,即d>SL,同样发出越界中断信号;若未越界,则将该段的基址d与段内地址相加,即可得到要访问的内存物理地址。
下图示出了分段系统的地址变换过程。
像分页系统一样,当段表放在内存中时,每要访问一个数据,都须访问两次内存,从而极大地降低了计算机的速率。解决的方法也和分页系统类似,再增设一个联想存储器,用于保存最近常用的段表项。由于一般情况是段比页大,因而段表项的数目比页表项的数目少,其所需的联想存储器也相对较小,便可以显着地减少存取数据的时间,比起没有地址变换的常规存储器的存取速度来仅慢约10%~15%。
‘柒’ 采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段最大长度是
2^16。
采用段式管理的系统中,其逻辑地址分为段号和页内偏移量。本题的地址一共24位,使用了8位表示段号,那么把剩下的 16 位全部用来表示段内偏移量就能使每段长度最大从而每段允许的最大长度为 2^16。
产生是与程序的模块化直接有关的,段式管理是通过段表进行的,包括段号或段名、段起点、装入位、段的长度等。此外还需要主存占用区域表、主存可用区域表。
(7)基本分段存储器管理方式练习题扩展阅读:
为了进行段式管理,每道程序在系统中都有一个段(映象)表来存放该道程序各段装入主存的状况信息。
段表中的每一项(对应表中的每一行)描述该道程序一个段的基本状况,由若干个字段提供。段名字段用于存放段的名称,段名一般是有其逻辑意义的,也可以转换成用段号指明。
由于段号从0开始顺序编号,正好与段表中的行号对应,如2段必是段表中的第3行,这样,段表中就可不设段号(名)字段。
段表中还可以根据需要设置其它的字段。段表本身也是一个段,一般常驻在主存中,也可以存在辅存中,需要时再调入主存。假设系统在主存中最多可同时有N道程序,可设N个段表基址寄存器。