第四章 存储器管理 课后习题

课后习题

2.可采用哪几种方式将程序装入内存?它们分别适用于何种场合?

(1)首先由编译程序将用户源代码编译成若干目标模块,再由链接程序将编译后形成的目标模块和所需的库函数链接在一起,组成一个装入模块,再由装入程序将装入模块装入内存;
(2)装入模块的方式有:绝对装入方式,可重定位方式和动态运行时装入方式;
(3)绝对装入方式适用于单道程序环境下;
(4)可重定位方式适用于多道程序环境下;
(5)动态运行时装入方式也适用于到多道程序环境下。

3.何谓静态链接?静态链接时需要解决两个什么问题?

在程序运行之前,先将各目标模块及它们所需的库函数连接成一个完整的装配模块,以后不再拆开。这种事先进行连接的方式称为静态链接方式。
要解决两个问题:对相对地址进行修改;变换外部调用符号

5.何谓运行时动态链接?运行时动态链接方式有何优点?

将某些模块的链接推迟到程序执行时才进行。
优点:加快程序的装入过程;节省大量的内存空间。

7.为什么要引入动态重定位?如何实现?

在动态运行时转入的方式中,作业装入内存后的所有地址仍然都是相对逻辑地址。而将相对地址转换为绝对(物理)地址的工作被推迟到程序指令要真正执行时进行。为使地址的转换不会影响到指令的执行速度,必须有硬件地址变换机构的支持,程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。
地址变换过程是在程序执行期间,随着对每条指令或数据的访问自动进行的,故称为动态重定位。当系统对内存进行了“紧凑”,而使若干程序从内存的某处移至另一处时,不需对程序做任何修改,只要用该程序在内存的新起始地址去置换原来的起始地址即可。

12.分区存储管理中常用哪些分配策略?比较它们的优缺点。

固定分区存储管理:
其基本思想是将内存划分为若干固定大小的分区每个分区中最多只能装入一个作业。当作业申请内存时系统按一定的算法为其选择一个适当的分区并装入内存运行。由于分区大小是事先固定的因而可容纳作业的大小受到限制而且当用户作业的地址空间小于分区的存储空间时造成存储空间浪费。
可变分区存储管理:
可变分区存储管理不是预先将内存划分分区而是在作业装入内存时建立分区使分区大小正好与作业要求的存储空间相等。这种处理方式使内存分配有较大的灵活性也提高了内存利用率。但是随着对内存不断地分配、释放操作会引起存储碎片的产生。

13.为什么要引入对换?对换可分为哪几种类型?

一方面,在内存中的某些进程由于事情尚未发生而被阻塞运行,但它却占用了大量的内存空间,甚至有可能出现内存中所有进程都被阻塞,而无可运行之进程,迫使CPU停止下来等待的情况;另一方面,却又有着许多作业,因内存空间不足,一直驻留在外存上,而不能进入内存运行。为此引入对换。
整体对换和页面(分段)对换。

15.为实现对换,系统应具备哪几方面的功能?

对对换空间的管理、进程的换入、进程的换出

18.什么是页面?什么是物理块?页面的大小应如何确定?

将用户程序的地址空间分为若干个固定大小的区域,称为“页”或“页面”。

19.什么是页表?页表的作用是什么?

在分页系统中,允许将进程的各个页离散地存储在内存的任一物理块中,为保证进程仍然能够正确地运行,即能在内存中找到每个页面所对应的物理块,系统又为每个进程建立了一张页面映像表,简称页表。
页表的作用是实现从页号到物理块号的地址映射。

20.为实现分页存储管理,需要哪些硬件支持?

地址变换机构。

21.在分页系统中是如何实现地址变换的?

利用地址变换机构实现从逻辑地址到物理地址的转变换,通过页表来实现从页号到物理块号的变换,将逻辑地址中的页号转换为内存中的物理块号。

22.具有快表时是如何实现地址变换的?

在CPU给出有效地址后,由地址变换机构自动地将页号P送入高速缓冲寄存器,并将此页号与高速缓存中的所有页号进行比较,若其中有与此所对应的物理块号,便表示索要访问的页表项在快表中。于是,可直接从快表中独处改也所对应的物理块号,并送到物理地址寄存器中。如在快表中未找到对应的页表项,则还需再访问内存中的页表,找到后,把从页表项中独处的物理块号送往地址寄存器;同时,再将此页表项存入快表的一个寄存器单元中,亦即,重新修改快表。但如果联想寄存器已满,则OS必须找到一个老的且已被认为是不再需要的页表项,将它换出。

posted @ 2022-06-01 12:07  Ankitone  阅读(83)  评论(0编辑  收藏  举报