东华大学操作系统第四章习题

第四章存储器管理习题
一、选择题
1.从下列关于存储器管理功能的论述中,选出两条正确的论述。

(2)(5)
(1)即使在多道程序设计的环境下,用户也能设计用物理地址直接访问内存的程序。

(2)内存分配最基本的任务是为每道程序分配内存空间,其所追求的主要目标是提高存储空间的利用率。

(3)为了提高内存保护的灵活性,内存保护通常由软件实现。

(4)交换技术已经不是现代操作系统中常用的技术。

(5)地址映射是指将程序空间中的逻辑地址变为内存空间的物理地址。

(6)虚拟存储器是物理上扩充内存容量。

2.提高内存利用率主要是通过(A)功能实现的,(A)的基本任务是为每道程序做(B)。

使每道程序能在不受干扰的环境下运行,主要是通过(C)功能是实现的。

A,C:(1)内存分配;(2)内存保护;(3)地址映射;(4)对换;(5)内存扩充。

B:(1)逻辑地址到物理地址的变换;(2)内存到外存间变换;(3)允许用户程序的地址空间大于内存空间;(4)内存分配。

A(1) B(4) C(2)
3.静态重定位是在作业的(A)中进行的,动态重定位是在作业(B)中进行的。

A,B:(1)编译过程;(2)装入过程;(3)修改过程;(4)执行过程。

A(2) B(4)
4.静态链接是在(A)中进行的:而动态链接是在(B)或者(C)中进行的,其中在(C)进行链接,可使得内存利用率最高。

A,B,C:(1)编译某段程序时;(2)装入某段程序时;(3)调用某段程序时;(4)紧凑时;(5)装入程序之前。

A(5) B(2) C(3)
5.由连续分配方式发展为分页存贮管理方式的主要推动力是(A);由分页系统发展为分段系统,进而又发展为段页式系统的主要动力是(B)和(C)。

A,B,C:(1)提高内存利用率;(2)提高系统吞吐量;(3)满足用户需要;(4)更好地满足多道程序运行的需要;(5)既满足用户要求,又提高内存利用率。

A(1) B(3) C(5)
6.在动态分区式内存管理中,倾向于优先使用低址部分空闲区的算法是(A);能使内存空间中空闲区分布得较均匀的算法是(B);每次分配时,把既能满足要求,又是最小的空闲区分配给进程的算法是(C)。

A,B,C:(1)最佳适应算法;(2)最坏适应算法;(3)首次适应算法;(4)循环首次适应算法。

A(3) B(4) C(1)
7. 对重定位存储管理方式,应(A),当程序执行时,是由(B)与(A)中的(C)相加得到(D),用(D)来访问内存。

A:(1)在整个系统中设置一个重定位寄存器;(2)为每道程序设置一个重定位寄存器;(3)
为每道程序设置两个重定位寄存器;(4)为每个程序段和数据段都设置一个重定位寄存器。

B,C,D:(1)物理地址;(2)有效地址;(3)间接地址;(4)起始地址。

A(1) B(2) C(4) D(1)
8. 在没有快表的情况下,分页系统每访问一次数据,要访问(A)次内存;分段系统每访问一次数据,要访问(B)次内存;段页式系统每访问一次数据,要访问(C)次内存。

A,B,C:(1)1;(2)2;(3)3;(4)4。

A(2) B(2) C(3)
9. 通常情况下,在下列存储管理方式中,(A)支持多道程序设计,管理最简单,但存储碎片多;(B)使内存碎片尽可能少,而且使内存利用率最高。

A,B:(1)段式;(2)页式;(3)段页式;(4)固定分区;(5)可变分区。

A(4) B(2)
10.从下列关于虚拟存储器的讨论中,选出两条正确的论述。

(2)(6)
(1)在请求段页式系统中,以页为单位管理用户的虚空间,以段为单位管理内存空间。

(2)在请求段页式系统中,以段为单位管理用户的虚空间,以页为单位管理内存空间。

(3)为提高请求分页系统中内存的利用率,允许用户使用不同大小的页面。

(4)在虚拟存储器中,为了能让更多的作业同时运行,通常只装入10%~30%的作业后便启动。

(5)实现虚拟存储器的最常用的算法是最佳适应算法OPT。

(6)由于有了虚拟存储器,于是运行用户使用比内存更大的空间
11. 一个计算机的虚拟存储器的最大容量是由(A)确定的,其实际容量是由(B)确定的。

A,B:(1)计算机字长;(2)内存容量;(3)硬盘容量;(4)内存和硬盘容量之和;(5)计算机的地址结构。

A(5) B(4)
12. 在请求调页系统中,若逻辑地址中的页号超过页表控制寄存器中的页表长度,则会引起(A);否则,若所需的页不在内存中,则会引起(B)。

A,B:(1)输入/输出中断;(2)时钟中断;(3)越界中断;(4)缺页中断。

A(3) B(4)
二、附加题
3.在请求分页系统中,为什么说一条指令执行期间可能产生多次缺页中断?
答:因分页虚拟管理方式中,只要作业的部分页在内存,该作业就能执行,而在执行过程中发现所要访问的指令或者数据不在内存时,则产生缺页中断,将所需的页面调入内存。

在分页虚拟存储管理系统中,一条指令(如Copy A to B )可能跨了两个页,而其中要访问的操作数可能也跨了两个页。

当要执行这类指令,而相应的页都不在内存时,就将产生多次缺页中断(如Copy A to B可能产生6次缺页中断)。

合集下载

《操作系统》第三版第四章课后答案

《操作系统》第三版第四章课后答案
设备驱动程序是驱动外部设备和相应的控制器等,使其可以直接和内存进行I/O操作的子程序的集合。它是I/O进程与设备控制器之间的通信程序
2、Spooling技术
也备的技术
六、简答题
1、操作系统设备管理的目标是什么?
*提高I/O设备和CPU的利用率
*提高I/O速度
*为用户使用设备提供方便、统一的界面
3、引入Spooling系统有哪些好处
*提高了I/O速度,将独占设备改造成共享设备,实现了虚拟设备功能,提高了系统的并行性,减少了用户进程的等待时间,提高了进程的推进速度。
5、什么是设备独立性?引入设备独立性有哪些好处?
*设备独立性也称设备无关性,指应用程序与实际使用的物理设备无关,亦即它独立于具体的物理设备。用户程序中使用逻辑设备,由操作系统完成逻辑设备到物理设备的映射
第四章(与磁盘相关不做)
一、填空题
1:字符、块、字符
2:设备驱动
3:缓冲
5:输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程
6:中断源
7:中断、DMA、通道
二、单项选择题
1、B
2、B C
6、C
7、A
三、多项选择题
1、BC
2、AB
3、AB DE
四、判断题
1、×
2、√
3、√
4、×
五、名词解释
1、设备驱动程序
*好处:设备分配时的灵活性、易于实现I/O重定向、方便用户编程

操作系统第四章参考答案

操作系统第四章参考答案

第四章参考答案4、为了实现对空闲分区的分配和链接,在每个分区的起始部分,用两个字段设置一些用于控制分区分配的信息(如分区的大小和状态位),以及用于链接其它分区的前向指针;在分区尾部,用两个字段设置了一个后向指针,为了检索方便也设置了控制分区分配的信息。

然后,通过前、后向指针将所有的分区链接成一个双向链表。

5、在连续分配内存方式中,会出现不能被利用的“零头”或“碎片”,为了利用这些“零头”或“碎片”,就必须进行数据或程序的移动—“紧凑”,因此相应的这些程序或数据在内存中的位置就必须进行修改,否则就无法执行。

从本质上讲引入动态重定位,就是在连续分配内存方式下,进一步提高内存利用率的一种方法。

实现技术动态重定位必须获得硬件支持。

只有具有动态重定位硬件机构的计算机系统,才有可能采取动态重定位可变分区多道管理技术,系统的硬件包括重定位寄存器和加法器8、为了实现进程对换,系统必须具备对换空间的管理,进程换入、换出等三项功能。

9、p113.不是,只换出进程的程序与数据,PCB不换出(只进行修改,表示该进程在外边)。

10、页表寄存器11、分段存储管理方式的引入是为了满足用户下列要求(1)便于编程通常用户常常把自己的作业按照逻辑关系划分成若干个段,每个段都有自己的名字,且都从零开始编址,这样,用户程序在执行中可用段名和段内地址进行访问。

例如:LOAD 1,[A] | <D> 这条指令的含义是将分段A中的D单元内的值读入寄存器1。

(2)信息共享(分段共享)在实现程序和数据的共享时,常常以信息的逻辑单位为基础,而分页系统中的每一页只是存放信息的物理单位,其本身没有完整的意义,因而不便于实现信息的共享,而段却是信息的逻辑单位,有利于信息的共享。

(3)分段保护信息保护是对相对完整意义的逻辑单位(段)进行保护。

(4)动态连接通常一个源程序经过编译后所形成的若干个目标程序,还需再经过链接,形成可执行代码后才能运行,这种在装入时进行的链接称为静态链接。

《操作系统》第4章教材习题解答

《操作系统》第4章教材习题解答

第4章存储管理“练习与思考”解答1.基本概念和术语逻辑地址、物理地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、碎片、碎片紧缩、虚拟存储器、快表、页面抖动用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为相对地址或逻辑地址。

内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为绝对地址或物理地址。

由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。

由内存中一系列存储单元所限定的地址范围称作内存空间,也称物理空间或绝对空间。

程序和数据装入内存时,需对目标程序中的地址进行修改。

这种把逻辑地址转变为内存物理地址的过程称作重定位。

静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。

动态重定位是在程序执行期间,每次访问内存之前进行重定位。

这种变换是靠硬件地址转换机构实现的。

内存中这种容量太小、无法被利用的小分区称作“碎片”或“零头”。

为解决碎片问题,移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区留在另一端。

这种技术称为紧缩(或叫拼凑)。

虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。

为了解决在内存中放置页表带来存取速度下降的矛盾,可以使用专用的、高速小容量的联想存储器,也称作快表。

若采用的置换算法不合适,可能出现这样的现象:刚被换出的页,很快又被访问,为把它调入而换出另一页,之后又访问刚被换出的页,……如此频繁地更换页面,以致系统的大部分时间花费在页面的调度和传输上。

此时,系统好像很忙,但实际效率却很低。

这种现象称为“抖动”。

2.基本原理和技术(1)存储器一般分为哪些层次?各有何特性?存储器一般分为寄存器、高速缓存、内存、磁盘和磁带。

CPU内部寄存器,其速度与CPU一样快,但它的成本高,容量小。

操作系统第四章课后习题解答答案免费范文精选

操作系统第四章课后习题解答答案免费范文精选

P152第四章作业5. 运行时动态链接方式,是装入时链接方式的一种改进,将对某些模块的链接推迟到程序执行时才进行。

亦即,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由 OS 去找到该模块,并将之装入内存,将其链接到调用者模块上。

优点:凡是在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这样不仅能加快程序的装入过程,而且可节省大量的内存空间。

7.程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程序还能正常执行,必须对程序和数据的地址加以修改,即重定位。

引入重定位的目的就是为了满足程序的这种需要。

要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序在内存中的起始地址。

程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。

13.在多道环境下,一方面,在内存中的某些进程由于某事件尚未发生而被阻塞,但它却占用了大量的内存空间,甚至有时可能出现在内存中所有进程都被阻塞而迫使 CPU 停止下来等待的情况;另一方面,却又有着许多作业在外存上等待,因无内存而不能进入内存运行的情况。

显然这对系统资源是一种严重的浪费,且使系统吞吐量下降。

为了解决这一问题,在操作系统中引入了对换(也称交换)技术。

可以将整个进程换入、换出,也可以将进程的一部分(页、段)换入、换出。

前者主要用于缓解目前系统中内存的不足,后者主要用于实现虚拟存储。

15.系统应具备三方面功能:对换空间管理,进程换出,进程换入。

24.在段页式系统中,为了便于实现地址变换,须配置一个段表寄存器,其中存放段表始址和段长TL。

进行地址变换时,首先利用段号 S,将它与段长TL 进行比较。

若 STL,表示未越界,利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得到该段的页表始址,并利用逻辑地址中的段内页号 P 来获得对应页的页表项位置,从中读出该页所在的物理块号 b,再利用块号 b 和页内地址来构成物理地址。

最新操作系统第四章作业答案

最新操作系统第四章作业答案

第四章作业(存储器管理)第一次作业:1、对于首次适应算法,请回答下列问题:(1)应如何将各空闲分区链接成空闲分区链?为了实现对空闲分区的分配和链接,在每个分区的起始部分,设置一些用于控制分区分配的信息,以及用于链接各分区所用的前向指针;在分区尾部则设置一后向指针,通过前、后向链接指针,可将所有的空闲分区链接成一个双向链。

为了检索方便,在分区尾部重复设置状态位和分区大小表目。

当分区被分配出以后,把状态位由0改为1,此时,前、后向指针已无意义。

(2)在回收内存时,可能出现哪几种情况?应怎样处理这些情况?(1回收区与插入点的前一个空闲分区F1相邻接,此时应将回收区与插入点的前一分区合并,不必为回收分区分配新表项,而只需修改其前一分区F1的大小。

(2回收分区与插入点的后一空闲分区F2相邻接,此时也可将两分区合并,形成新的空闲分区,但用回收区的首址作为新空闲区的首址,大小为两者之和。

(3回收区同时与插入点的前、后两个分区邻接,此时将三个分区合并,使用F1的表项和F1的首址,取消F2的表项,大小为三者之和。

(4 回收区既不与F1邻接,又不与F2邻接。

这时应为回收区单独建立一新表项,填写回收区的首址和大小,并根据其首址插入到空闲链中的适当位置。

(3)请对该算法的内存管理性能进行分析。

该算法倾向于优先利用内存中低地址,从而保证了高地址部分的大空闲去。

这给以后达的大作业分配大的内存空间创造的条件。

起缺点是低址部分不断被划分,会留下许多难以利用的小空闲分区,每次查找都从低址开始,会增加查找空闲分区的开销。

2分页和分段存储管理有何区别?答:主要表现在(1)页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率。

或者说,分页仅仅是由于系统管理的需要而不是用户的需要。

段则是信息的逻辑单位,它含有一组其意义相对完整的信息。

分段的目的是为了能更好地满足用户的需要。

(2)页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小的页面;根据信息的性质来划分。

《操作系统》第章教材习题解答

《操作系统》第章教材习题解答

第4章存储管理“练习与思考”解答1.基本概念和术语逻辑地址、物理地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、碎片、碎片紧缩、虚拟存储器、快表、页面抖动用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为相对地址或逻辑地址。

内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为绝对地址或物理地址。

由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。

由内存中一系列存储单元所限定的地址范围称作内存空间,也称物理空间或绝对空间。

程序和数据装入内存时,需对目标程序中的地址进行修改。

这种把逻辑地址转变为内存物理地址的过程称作重定位。

静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。

动态重定位是在程序执行期间,每次访问内存之前进行重定位。

这种变换是靠硬件地址转换机构实现的。

内存中这种容量太小、无法被利用的小分区称作“碎片”或“零头”。

为解决碎片问题,移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区留在另一端。

这种技术称为紧缩(或叫拼凑)。

虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。

为了解决在内存中放置页表带来存取速度下降的矛盾,可以使用专用的、高速小容量的联想存储器,也称作快表。

若采用的置换算法不合适,可能出现这样的现象:刚被换出的页,很快又被访问,为把它调入而换出另一页,之后又访问刚被换出的页,……如此频繁地更换页面,以致系统的大部分时间花费在页面的调度和传输上。

此时,系统好像很忙,但实际效率却很低。

这种现象称为“抖动”。

2.基本原理和技术(1)存储器一般分为哪些层次?各有何特性?存储器一般分为寄存器、高速缓存、内存、磁盘和磁带。

CPU内部寄存器,其速度与CPU一样快,但它的成本高,容量小。

操作系统 第三章,第四章,第九章课后习题整理

第3章进程描述和控制复习题:什么是指令跟踪?答:指令跟踪是指为该进程而执行的指令序列。

通常那些事件会导致创建一个进程?答:新的批处理作业;交互登录;操作系统因为提供一项服务而创建;由现有的进程派生。

(详情请参考表3.1)对于图3.6中的进程模型,请简单定义每个状态。

答:运行态:该进程正在执行。

就绪态:进程做好了准备,只要有机会就开始执行。

阻塞态:进程在某些事件发生前不能执行,如I/O操作完成。

新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。

退出态:操作系统从可执行进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消。

抢占一个进程是什么意思?答:处理器为了执行另外的进程而终止当前正在执行的进程,这就叫进程抢占。

什么是交换,其目的是什么?答:交换是指把主存中某个进程的一部分或者全部内容转移到磁盘。

当主存中没有处于就绪态的进程时,操作系统就把一个阻塞的进程换出到磁盘中的挂起队列,从而使另一个进程可以进入主存执行。

为什么图3.9(b)中有两个阻塞态?答:有两个独立的概念:进程是否在等待一个事件(阻塞与否)以及进程是否已经被换出主存(挂起与否)。

为适应这种2*2的组合,需要两个阻塞态和两个挂起态。

列出挂起态进程的4个特点。

答:1.进程不能立即执行。

2.进程可能是或不是正在等待一个事件。

如果是,阻塞条件不依赖于挂起条件,阻塞事件的发生不会使进程立即被执行。

3.为了阻止进程执行,可以通过代理把这个进程置于挂起态,代理可以是进程自己,也可以是父进程或操作系统。

4.除非代理显式地命令系统进行状态转换,否则进程无法从这个状态中转移。

对于哪类实体,操作系统为了管理它而维护其信息表?答:内存、I/O、文件和进程。

列出进程控制块中的三类信息。

答:进程标识,处理器状态信息,进程控制信息。

为什么需要两种模式(用户模式和内核模式)?答:用户模式下可以执行的指令和访问的内存区域都受到限制。

这是为了防止操作系统受到破坏或者修改。

操作系统第4章习题


11
例题5 某进程的页面访问序列为: 例题5:某进程的页面访问序列为:1,2,3,4, 2,1,5,6,2,1,2,3,7,6,3,2,1,2, 假定分给该进程4个物理块, 3,6,假定分给该进程4个物理块,计算在采用 下列置换算法时的缺页中断次数和缺页中断率。 下列置换算法时的缺页中断次数和缺页中断率。 解答: 解答: OPT置换算法 (3)OPT置换算法 缺页中断次数=8 缺页中断率=8/20=40% =8, 缺页中断次数=8,缺页中断率=8/20=40%
分区号 1 2 3 4 5 大小 32K 10K 5K 218K 96K 空闲分区表 起始地址 100K 150K 200K 220K 0K,200K。 例题6:作业序列:96K,20K,200K。
分区 大小 起始 号 地址 1 2 3 4 5 32K 100K 10K 150K 5K 200K 1、采用最佳适应算法 、 申请96K,选中的是 号分区,大小 号分区, ① 申请 ,选中的是5号分区 一样,从空闲表中删除5号分区 一样,从空闲表中删除 号分区 申请20K时,选中 号分区,分配后 号分区, ② 申请 时 选中1号分区 还剩下12K. 还剩下 最后申请200K时,选中 号分区, 号分区, ③ 最后申请 时 选中4号分区 分配后还剩下18K. 分配后还剩下 分配后的空闲分区表: 分配后的空闲分区表: 分区号 218K 220K 96K 530K 1 2 3 4 大小 12K 10K 5K 18K 起始地址 100K 150K 200K 220K
解答: 解答: (2)将虚地址6E1CH转换成二进制,并从第11位 将虚地址6E1CH转换成二进制,并从第11位 6E1CH转换成二进制 11 页大小为2KB=2 ),高位部分为页号 高位部分为页号, (页大小为2KB=211B),高位部分为页号,低位部分 为页内地址: 为页内地址: 0 1 1 0 1 1 1 0 0 0 0 1 1 1 0 0 得页号为13,查页表,该进程没有第 页 得页号为 ,查页表,该进程没有第13页,产生越 界中断。 界中断。

操作系统第四章习题及答案

操作系统第四章习题及答案第四章进程管理1、⼀个由3个页⾯每页有2048个字节组成的程序,将它装⼊⼀个8个物理块组成的存储器中,装⼊的情况如下表所⽰:给出下列逻辑地址,请计算出2617对应的物理地址:2、某请求页式存储管理,允许⽤户编程空间为32个页⾯(每页1KB),主存为16KB, 如有⼀个⽤户程序有10页长,且某时刻该⽤户页⾯映射表如表所⽰。

如果程序执⾏时遇到以下的虚地址:0AC5H ,1AC5H 试计算对应的物理地址。

3、假设某分页系统中,主存储器的容量为1MB ,被分为256块,回答:1)主存地址应该⽤位来表⽰。

2)作业每⼀页的长度为;逻辑地址中的页内地址应该为位。

4、在段式管理系统中,段表为求下⾯逻辑地址对应的物理地址。

12 7 1 4 0 块号页号 95 1938 4 590 13503 90 100 220 2350 1 500 210 0 段长内存起始地址段号(1,10);(2,500);(3,400);(5,32)5、在⼀分页存储管理系统中,逻辑地址长度为16位,页⾯⼤⼩为4096字节,分别计算逻辑地址14AAH,235BH,3B4CH,78DDH所对应的物理地址,并指出可能发⽣何种中断?(8分)注:1表⽰可寻址,0表⽰在外存。

6、在⼀个请求分页系统中,假定系统分配给作业的物理块数为3,并且此作业的页⾯⾛向为2、3、2、1、5、2、4、5、3、2、5、2。

试⽤LRU算法计算出程序访问过程所发⽣的缺页次数和被替换的页⾯序列。

答案:1、P=int(2617/2048)=1 d=569物理地址=4*2048+569=87612、0AC5H的页号是2,对应的物理页号是4,所以物理地址应该为12C5H,1AC5H的页号是6,超过了页表的范围,所以该地址⾮法,产⽣越界中断3、假设某分页系统中,主存储器的容量为1MB,被分为256块,回答:1)主存地址应该⽤ 20 位来表⽰。

2)作业每⼀页的长度为 2048 ;逻辑地址中的页内地址应该为 12 位。

操作系统课后答案——第四章

第四章存储器管理1. 为什么要配置层次式存储器?这是因为:a.设置多个存储器可以使存储器两端的硬件能并行工作。

b.采用多级存储系统,特别是Cache技术,这是一种减轻存储器带宽对系统性能影响的最佳结构方案。

c.在微处理机内部设置各种缓冲存储器,以减轻对存储器存取的压力。

增加CPU中寄存器的数量,也可大大缓解对存储器的压力。

2. 可采用哪几种方式将程序装入内存?它们分别适用于何种场合?将程序装入内存可采用的方式有:绝对装入方式、重定位装入方式、动态运行时装入方式;绝对装入方式适用于单道程序环境中,重定位装入方式和动态运行时装入方式适用于多道程序环境中。

3. 何为静态链接?何谓装入时动态链接和运行时动态链接?a.静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开的链接方式。

b.装入时动态链接是指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的一种链接方式,即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找相应的外部目标模块,把它装入内存中,并修改目标模块中的相对地址。

c.运行时动态链接是将对某些模块的链接推迟到程序执行时才进行链接,也就是,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。

4. 在进行程序链接时,应完成哪些工作?a.对相对地址进行修改b.变换外部调用符号6. 为什么要引入动态重定位?如何实现?a.程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程序还能正常执行,必须对程序和数据的地址加以修改,即重定位。

引入重定位的目的就是为了满足程序的这种需要。

b.要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序在内存中的起始地址。

程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档