操作系统--精髓与设计原理(第八版)第七章复习题答案
操作系统--精髓与设计原理(第八版)第七章复习题答案
7.1内存管理需要满足哪些需求?
- 重定位
- 保护
- 共享
- 逻辑组织
- 物理组织
7.2为何需要重定位进程的能力?
在多道程序设计系统中,可用的内存空间通常被多个进程共享。通常情况下,程序员事先并不知道在某个程序执行期间会有其他哪些程序驻留在内存中。此外,我们还希望提供一个巨大的就绪进程池,以便把活动进程换入或换出内存,进而使处理器的利用率最大化。程序换出到磁盘中后,下次换入时要放到与换出前相同的内存区域会很困难。相反,我们需要把进程重定位(relocate) 到内存的不同区域。
7.3 为何不可能在编译时实施内存保护?
由于程序在内存中的位置不可预测,因而在编译时不可能检查绝对地址来确保保护。此外,大多数程序设计语言允许在运行时进行地址的动态计算。因此必须在运行时检查进程产生的所有内存访问。
7.4允许两个或多 个进程访问内存某一特定区域的原因是什么?
任何保护机制都必须具有一定的灵活性,以允许多个进程访问内存的同一部分。例如,多个进程正在执行同一个程序时,允许每个进程访问该程序的同一个副本,要比让每个进程有自己单独的副本更有优势。合作完成同一个任务的进程可能需要共享访问相同的数据结构。因此,内存管理系统在不损害基本保护的前提下,必允许对内存共享区域进行受控访问。我们将会看到用于支持重定位的机制也支持共享。
7.5 在固定分区方案中,使用大小不等的分区有何好处?
可缓解因程序太大而无法放到固定大小的分区和因程序太小产生大量内部碎片的问题。
7.6 内部碎片和外部碎片有何区别?
- 内部碎片:由于装入的数据块小于分区大小,因而导致分区内部存在空间浪费,这种现象称为内部碎片( internal fragmentation)。
- 外部碎片:随着时间的推移,内存中形成了越来越多的碎片,内存的利用率随之下降。这种现象称为外部碎片(external fragmentation),指在所有分区外的存储空间变成了越来越多的碎片,这与前面所讲的内部碎片正好对应。
7.7逻辑地址、相对地址和物理地址有何区别?
- 逻辑地址(logical address) 是指与当前数据在内存中的物理分配地址无关的访问地址,在执行对内存的访问之前必须把它转换为物理地址。
- 相对地址(relative address) 是逻辑地址的一个特例,它是相对于某些已知点(通常是程序的开始处)的存储单元。
- 物理地址( physical address) 或绝对地址是数据在内存中的实际位置。
7.8 页和页框有何区别?
- 页(page):一页指一系列的线性地址和包含于其中的数据。
- 页框(pageframe):分页单元认为所有的RAM被分成了固定长度的页框每个页框可以包含一页,也就是说一个页框的长度和一个页的长度是一样的。页框是内存的一部分,是一个实际的存储区域。页只是一组数据块,可以存放在任何页框中。
也就是说页对应的是线性(虚拟)地址的东西,而页框对应的是物理地址,是实际的存储区域。
7.9页和段有何区别?
页大小相等,段可以大小不等;分页对程序员来说是透明的,而分段通常是可见的。