现地址重定位:
1、静态重定位,用户代码中使用相对地址,在将目标代码加载到主存时,装配链接程序通过如下的方法将其装配成绝对地址:原地址+目标代码所在主存起始地址;
2、动态重定位,它首先将程序在主存的起始地址及其总长度存放于基地址寄存器和长度寄存器,当在执行访存指令时,首先进行越界检查,若不越界,则将地址改成“原地址+目标代码所在主存起始地址”,然后进行访问。
实现存储保护:
当使用第一种硬件机制时,每访问一次主存,地址检查机制将CPU提供的访存地址与上、下界寄存器的值进行比较。若介乎上下界之间,则可用该地址访问存储器,否则终止程序的运行。
当使用第二种硬件机制时,,每访问一次主存,它将CPU提供的访存地址与长度寄存器的值进行比较。若越界,则终止程序,否则与基地址寄存器中的值相加成为访问贮存的绝对物理地址。
5.6为什么要引进页式存储管理方法?在这种管理方法中硬件应提供哪些支持?
答:原因在于连续分配存储空间存在许多存储碎片和空间管理复杂的问题,而连续分配要求把作业放在主存的一片连续区域中,这往往容易出现连续空间因不能容纳作业或进程而不可用。
21 / 34
而页式存储管理方法可以避免这种情况的发生。
硬件应提供的支持:动态地址转换机构,页表长度寄存
器,联想存储器(页表以及访问权限域均在主存中)。 5.7 题略
答:(1)访问一次页面单元需要访问两次主存,因此访问时间为:1.2*2=2.4us;
(2)等效存储访问时间为:1.2*75%+2.4*25%=1.5us; 5.11 在页式存储管理系统中怎样使多个作业共享一个程序或数据?
答:在每个作业的页表中,将需要共享的程序映射到存放该共享程序或数据的相同的物理页帧上。 5.17 题略
答:系统得到物理地址的过程:
由题设可得,虚存地址的逻辑页号为:11123,页内偏移为456;
从联想存储器中查找逻辑页号为11123对应的物理页帧号,如果有,则将物理页帧号和页内偏移合成成物理地址进行访问,否则从页表中查找。
在页表中找到相应项,查看该页的合法位是否置上,若为1,则将该项指出的页帧号和页内偏移合成成物理地址进行访问,若合法位为0,则产生页故障,系统将页表项所指的辅存块号调入主存,然后合成物理地址进行访问。
22 / 34
硬件完成的工作:获得页帧号,合成物理地址,以及合法位是否置上等。软件完成的工作:接收缺页异常,对缺页故障进行处理,返回现场。 5.18 题略
答:访问的相应逻辑页号为:0,0,1,1,0,3,1,2,2,4,4,3。
采用FIFO:故障数:6;页故障率:6/12=50%
采用LRU,淘汰上次使用距当前最远的页 :故障数:7;页故障率为:7/12=58.3%
采用OPT,淘汰下次访问距当前最远的那些页中序号最小的一页 :故障数:5;页故障率:5/12=41.7% 5.19 题略
答:①栈结构对数据的访问一般在栈顶附近,或者离栈顶不远,符合程序的局部性行态;
②杂凑技术取决于Hash值的大小,如果太大,则会频
繁出现缺页,不利于程序的局部性行态;
③顺序搜索是根据当前项向前或向后逐个搜索,符合
程序的局部性行态;
④goto语句往往使程序从一个地方跳到另一个地方,
空间跨度往往比较大,少用或不用goto语句使程序能够在局部范围内执行,符合程序的局部性行态。 5.24 题略
23 / 34
答:驻留集大小为2个页帧,但是程序要长期驻留在主存中,必须占用一页,所以驻留集中只有一页留给数据使用。假设数组中每一个元素占一个字的空间,因为每一页有100个字,而且数组是按行主顺序存放,当采用1策略时,赋值顺序为:A(1,1),A(2,1),…A(100,1)…,每一次赋值都产生缺页异常,因此页故障数为100*100=10000,而采用2策略时,只在第一维产生变化时才产生缺页故障,因此页故障数为100。
5.31 设有如下访问串:6,9,2,1,0,3,5,4,3,2,1,0,2,1。取△=4,给出用WS与VMIN两种算法控制该访问串驻留集的变化情况。
答:用WS方法,有△个时间未被引用则将其淘汰; 用VMIN方法,若某页下次访问的距离大于△,则将其淘汰。
5.33 如果主存中的某页正在与外部设备交换信息,那么在页故障中断时可以将这一页淘汰吗?对于这种情况应如何解决?(P110-111)
答:不能将这一页淘汰,,因为如果淘汰出去的话,则新进入的页将代替正在交换信息的页,而I/O数据区将被新换入的页所代替,从而导致错误。因此,应该等该、页与外部设备交换信息结束之后,才能将该页淘汰。 5.34 题略
答:访问虚地址(233)8时不会发生缺页故障,因为根据虚地
24 / 34
址可得,它的页号为2,页内偏移为(33)8,而在页表中页号为2的页有效位为1,说明在主存中,相应的页帧号为20,所以物理地址为(20)8*82+(33)8=(2033)8,而访问(345)8时会发生缺页中断,根据虚地址可得它的页号为3,页内偏移为(45)8,查页表可得,该页的有效位为0,因此不在主存中,产生缺页中断,它首先向主存申请一个可用的页帧,然后检查该故障页的页类型,为零页,因此将刚申请到的页帧清零,将页帧号填入页表项中,将合法位置为1,然后返回。 6.2 设备控制器与处理机如何通信?
答:
CPU通过向控制器寄存器写命令字来发出I/O命令, 控制器接到命令后,完成具体的I/O操作,
CPU则反复读取控制器的状态,测试控制器是否完成操作。 或者转向其他工作,当控制器完成相应操作后向CPU发出中断信号。
6.3 简述各种不同的I/O控制方式?
答:主要有三种不同的I/O控制方式:
1、程序直接控制方式。当遇到一条与I/O相关的指令时,CPU向相应的设备控制器发命令,设备控制器执行相应的操作,将I/O状态寄存器的相应位置上,然后CPU周期性地检查设备控制器的状态寄存器,直到发现I/O操作完成为止。CPU直接控制I/O操作过程,包括测试设备状态,发送读/写命令与数据。
25 / 34

