L19_E:存储管理(基本概念与连续分配)
操作系统内存管理系统

操作系统存管理1. 存管理方法存管理主要包括虚地址、地址变换、存分配和回收、存扩充、存共享和保护等功能。
2. 连续分配存储管理方式连续分配是指为一个用户程序分配连续的存空间。
连续分配有单一连续存储管理和分区式储管理两种方式。
2.1 单一连续存储管理在这种管理方式中,存被分为两个区域:系统区和用户区。
应用程序装入到用户区,可使用用户区全部空间。
其特点是,最简单,适用于单用户、单任务的操作系统。
CP/M和DOS2.0以下就是采用此种方式。
这种方式的最大优点就是易于管理。
但也存在着一些问题和不足之处,例如对要求存空间少的程序,造成存浪费;程序全部装入,使得很少使用的程序部分也占用—定数量的存。
2.2 分区式存储管理为了支持多道程序系统和分时系统,支持多个程序并发执行,引入了分区式存储管理。
分区式存储管理是把存分为一些大小相等或不等的分区,操作系统占用其中一个分区,其余的分区由应用程序使用,每个应用程序占用一个或几个分区。
分区式存储管理虽然可以支持并发,但难以进行存分区的共享。
分区式存储管理引人了两个新的问题:碎片和外碎片。
碎片是占用分区未被利用的空间,外碎片是占用分区之间难以利用的空闲分区(通常是小空闲分区)。
为实现分区式存储管理,操作系统应维护的数据结构为分区表或分区链表。
表中各表项一般包括每个分区的起始地址、大小及状态(是否已分配)。
分区式存储管理常采用的一项技术就是存紧缩(compaction)。
2.2.1 固定分区(nxedpartitioning)。
固定式分区的特点是把存划分为若干个固定大小的连续分区。
分区大小可以相等:这种作法只适合于多个相同程序的并发执行(处理多个类型相同的对象)。
分区大小也可以不等:有多个小分区、适量的中等分区以及少量的大分区。
根据程序的大小,分配当前空闲的、适当大小的分区。
优点:易于实现,开销小。
缺点主要有两个:碎片造成浪费;分区总数固定,限制了并发执行的程序数目。
连续分配存储管理方式

7
固定分区分配示例
某系统的内存容量为256K,操作系统占用低地址的20K,其 余空间划分成4个固定大小的分区。如下图:
8
固定分区分配
例:在某系统中,采用固定分区分配管理方式,内存分区(单位字节) 情况如图所示,现有大小为1K、9K、33K、121K的多个作业要求进入内 存,试画出它们进入内存后的空间分配情况,并说明主存浪费多大?
适用于控制多个相同对象的场合 缺乏灵活性,小程序浪费空间,大程序无法装入 2. 分区大小不等 为了解决灵活性问题,将内存分为多个大小不等
的分区:小分区(较多),中等分区(适量),大分 区(少量)
4
固定分区分配
每个用户作业占用一个连续分区,作业的程序和数据一旦装 入分区后就不能再移动,通常采用静态地址重定位。
收。在可变式分区中,应该检查回收区与内存中前后空 闲区是否相邻,若相邻,则应进行合并,形成一个较大 的空闲区,并对相应的链表指针进行修改;若不相邻, 应将空闲区插入到空闲区链表的适当位置。
回收时的几种情况:
(1)上邻空闲区:合并,改大小 (2)下邻空闲区:合并,改大小、首地址。 (3)上、下邻空闲区:合并,改大小,取消下邻空闲区
5
固定分区分配
分区号 1 2 3 4
分区说明表示例
大小(KB) 始址
8
20
32
28
64
60
132
124
状态 已分配 已分配 已分配 未分配
6
固定分区分配
缺点: 分区数量是固定的,每个分区只能装入一道作业, 限制了系统能容纳的作业数。 分区大小是固定的,每个分区只能装入一道作业, 剩余空间无法再利用,造成浪费。
4.3 连续分配方式
第十一讲存储器管理之连续分配方式

第十一讲存储器管理之连续分配方式连续分配是指将存储器中的空间按照一定的方式连续划分给进程使用的一种存储器管理方式。
常见的连续分配方式有三种:单一连续分配方式、固定分区分配方式和动态分区分配方式。
单一连续分配方式是最简单的分配方式,每个进程只有一个连续的存储区域。
操作系统将整个存储器分成两部分,一部分为操作系统占用,另一部分为用户程序占用。
优点是实现简单,缺点是无法有效利用存储器空间和不能同时运行多个程序。
2.固定分区分配方式固定分区分配方式是将存储器划分成若干个固定大小的区域,每个区域对应一个作业或进程。
每个进程的大小必须小于等于所分配的存储区域大小。
操作系统为每个进程分配存储空间时,优先从大小与所需存储空间最接近的空闲分区开始分配。
优点是管理简单,缺点是会导致存储空间的浪费和外部碎片的产生。
3.动态分区分配方式动态分区分配方式是将存储器分为多个大小不等的存储块,每个进程可以根据需要分配不同大小的存储块。
当新的进程需要存储空间时,操作系统从存储器的起始地址开始查找,找到第一个可用空闲块,并将其分配给进程。
优点是存储空间利用率高,可以同时运行多个进程,但缺点是会导致内部碎片的产生。
对于动态分区分配方式,还可以采用三种具体的分区算法:a. 首次适应算法(First Fit):从前向后遍历所有空闲分区,找到第一个大小大于或等于所需存储空间的空闲分区进行分配。
优点是速度快,但容易产生较多的碎片。
b. 循环首次适应算法(Next Fit):与首次适应算法类似,但从上一次分配的位置开始查找,减少了空闲分区的时间。
可以避免每次都从头开始,但仍会产生较多的碎片。
c. 最佳适应算法(Best Fit):从所有空闲分区中找到最小且大于所需存储空间的空闲分区进行分配。
优点是最大限度地避免碎片,但速度相对较慢。
综上所述,连续分配方式是一种常见的存储器管理方式。
根据应用场景和需求不同,可以选择合适的连续分配方式来管理存储器,以实现存储空间的高效利用和进程的有效管理。
连续分配存储管理方式

连续分配存储管理方式什么是连续分配存储管理方式连续分配存储管理方式指的是将内存空间划分为一系列连续的块,并按照一定的规则将这些块分配给进程使用。
这种存储管理方式广泛应用于操作系统中的进程管理和文件系统管理等领域。
连续分配存储管理的常见算法1. 首次适应算法(First Fit)首次适应算法是按照内存空间的地址顺序,从低地址到高地址依次查找可用的空闲块,并将进程分配到第一个满足大小要求的空闲块中。
该算法简单直接,但容易产生碎片。
2. 最佳适应算法(Best Fit)最佳适应算法是在所有可用的空闲块中选择最小且能满足进程大小要求的空闲块进行分配。
该算法能够充分利用内存空间,但是搜索过程较为复杂,效率较低。
3. 最坏适应算法(Worst Fit)最坏适应算法是在所有可用的空闲块中选择最大的空闲块进行分配,这样可以最大程度地保留大块空闲空间。
但是这种策略可能导致产生更多的碎片。
4. 快速适应算法(Next Fit)快速适应算法是首次适应算法的改进版本,在分配空闲块时,从上次分配的位置开始搜索。
这样可以避免每次都从头开始搜索,提高了搜索的效率。
连续分配存储管理的优点和缺点优点1.实现简单:连续分配存储管理算法相对而言比较简单,易于实现和理解。
2.内存利用率高:连续分配存储管理可以充分利用内存空间,减少空闲空间的浪费。
3.顺序访问性好:由于连续分配存储管理方式将内存空间划分为连续的块,所以对于顺序访问的进程来说,访问效率较高。
缺点1.碎片问题:连续分配存储管理容易产生内部碎片和外部碎片。
内部碎片是指分配给进程的内存块比进程所需的内存块大,造成内存空间浪费。
外部碎片是指内存空闲块的分布不连续,无法满足大块连续内存需求,导致内存的浪费。
2.分配效率低:由于需要搜索可用的空闲块,连续分配存储管理的分配效率相对较低。
3.控制粒度难以调整:连续分配存储管理方式中,分配块的大小通常是固定的,难以根据进程的需要进行灵活调整。
第十一讲存储器管理之连续分配方式

第十一讲存储器管理之连续分配方式所谓连续分配方式:是指为一个用户程序分配一个连续的内存空间。
又可把连续分配方式分为:单一连续分配,固定分区分配,动态分区分配,动态重定位分区分配,四种方式。
1 单一连续分配(单独分区分配)最简单的一种存储管理方式,但只能用于单用户、单任务的OS中。
概念:单一连续分配就是整个主存区域的用户空间均归一个用户作业使用。
存储管理方法:将内存分为系统区(内存低端,分配给OS用)和用户区(内存高端,分配给用户用)。
其中用户区是指除了系统区外的内存空间,提供给用户程序使用。
采用静态分配方式,即作业一旦进入内存,就要等待它运行结束后才能释放内存。
主要特点:管理简单,只需小量的软件和硬件支持,便于用户了解和使用。
但因内存中只装入一道作业运行,内存空间浪费大,各类资源的利用率也不高。
例子:一个容量为256KB的内存,操作系统占用32KB,剩下224KB全部分配给用户作业,如果一个作业仅需64KB,那么就有160KB的存储空间被浪费。
2 固定分区分配分区分配方式是满足多道程序设计需要的一种最简单的存储管理方法。
2.1 思想:将内存分成若干个分区(大小相等/不相等),除OS占一区外,其余的每一个分区容纳一个用户程序。
这样来实现多道并发。
2.2 分区划分方法:分区大小相等,分区大小不等。
但事先必须确定,在运行时不能改变。
即分区大小及边界在运行时不能改变。
2.3 内存分配:首先:要先建立一张分区说明表或使用表,以记录分区号、分区大小、分区的起始地址及状态(已分配或未分配)。
其次:当某个用户程序要装入内存时,由内存分配程序检索分区说明表,从表中找出一个满足要求的尚未分配的分区分配该程序,同时修改说明表中相应分区的状态;若找不到大小足够的分区,则拒绝为该程序分配内存。
第三:当程序执行完毕,释放占用的分区,管理程序将修改说明表中相应分区的状态为未分配,实现内存资源的回收。
2.4 特点主要特点:管理简单,但因作业的大小并不一定与某个分区大小相等,从而使一部分存储空间被浪费。
连续分配方式

(2) 分区大小不等。
2. 内存分配
图 4-4 固定分区使用表
1.3 动态分区分配
1. 分区分配中的数据结构 (1) 空闲分区表。
(2) 空闲分区链。
前
后
向
向
指
指
针
针
N
N个 字节 可 用 N
+
+
2
2
0
0
图 4-5 空闲链结构
30 KB
用户 程序6
14 KB 用户 程序9
26 KB
(a) 紧凑前
操作 系统 用户 程序1 用户 程序3 用户 程序6 用户 程序9
80 KB
(b) 紧凑后
2. 动态重定位的实现
0 10 0
LOA D1,2 500
25 00 36 5
相对地址 25 00
重定位寄存器 10 00 0
10 00 0 10 10 0 LOA D1,2 500
操作系统
连续分配方式
1.1 单一连续分配 这是最简单的一种存储管理方式,但只能用于单用户、 单任务的操作系统中。采用这种存储管理方式时,可把 内存分为系统区和用户区两部分,系统区仅提供给OS 使用,通常是放在内存的低址部分;用户区是指除系统 区以外的全部内存空间, 提供给用户使用。
1.2 固定分区分配
2. 对换空间的管理
为了能对对换区中的空闲盘块进行管理,在系统中应配 置相应的数据结构,以记录外存的使用情况。其形式与 内存在动态分区分配方式中所用数据结构相似,即同样 可以用空闲分区表或空闲分区链。在空闲分区表中的每 个表目中应包含两项, 即对换区的首址及其大小,它 们的单位是盘块号和盘块数。
计算机中的操作系统中的文件系统和存储管理有哪些策略

计算机中的操作系统中的文件系统和存储管理有哪些策略操作系统是计算机系统中最核心的软件之一,它负责管理和控制计算机硬件资源,并提供各种服务和功能。
其中,文件系统和存储管理是操作系统的重要组成部分,它们的设计和策略直接影响到计算机系统的性能和数据管理。
一、文件系统的策略文件系统是操作系统中负责管理存储设备上文件和目录的组织方式和访问方法。
以下是几种常见的文件系统策略:1. 文件命名和目录结构:文件系统通过给文件和目录命名以及组织它们的结构来管理数据。
常见的文件命名策略有扩展名法和索引节点法,扩展名法将文件的类型信息放在文件名的扩展部分,而索引节点法则将文件的元数据和数据分开存储。
目录结构包括层次结构、树状结构和散列结构等,不同的结构适用于不同的应用场景。
2. 文件分配方式:文件系统需要将文件的数据存储在物理设备上。
常见的文件分配方式有连续分配、链式分配和索引分配。
连续分配将文件存储在连续的磁盘块上,链式分配通过链表将文件的块分散存储在不同位置,索引分配则通过索引表来管理文件的块。
3. 缓存策略:为了提高文件的访问速度,文件系统通常会使用缓存来缓存最常访问的文件数据和元数据。
常见的缓存策略有最近最少使用(LRU)算法、先进先出(FIFO)算法和最不经常使用(LFU)算法。
4. 文件保护和权限控制:文件系统需要提供对文件的安全性和权限控制。
常见的策略包括访问控制列表(ACL)、文件权限位和角色基础访问控制(RBAC)等。
二、存储管理的策略存储管理是操作系统中负责管理内存和外存的组件,它包括内存管理和虚拟存储管理两个方面。
以下是几种常见的存储管理策略:1. 内存分配策略:内存管理负责为进程分配内存空间以及管理内存的分配和释放。
常见的内存分配策略包括连续分配、分区分配和分页分配。
连续分配将内存划分为连续的分区,分区分配将内存划分为固定大小的分区,分页分配则将内存划分为固定大小的页面。
2. 内存置换算法:当内存空间不足时,操作系统需要使用内存置换算法将一部分进程从内存中换出到外存中。
同济大学操作系统L18_E:存储管理(离散分配方式)

请计算该作业访问[0,432] , [1,010] , [2,500] , [3,400]时(方括号中第一个元
素为段号,第二个元素为吗? 51. 分页系统中,物理地址 20 位,逻辑地址中页号占 6 位,页大小 1KB,问:该系统的内 存空间大小为多少?每块大小为?逻辑地址共几位?0 页在 3 块中,1 页在 7 块中,2 页在 9 块中,逻辑地址 0420H 对应的物理地址为?
若逻辑地址为(2154) ,它对应的物理地址为____________。 A. 120K+2 B. 480K+154 C. 30K+154 D. 2+480K 13. 如果一个程序为多个进程所共享,那么该程序的代码在执行的过程中不能被修改, 即 程序应该是________。 A. 可执行码 B. 可重入码 C. 可改变码 D. 可再现码 14. 在段页式存储管理中,其虚拟地址空间是 A. 一维 B. 二维 C. 三维 空间。 D. 层次
23.
24.
25.
26. 27. 28. 29. 30.
31. 32.
33.
34. 35.
36.
37.
38.
一般每页长大约为 1~4KB。经过划分之后,进程的虚地址变为由页号 p 与页内地址 d 所 组成。内存空间划分成与页相等的片或块后,用户进程在内存空间内除了在每个页内地 址连续之外,每个页面之间不再连续。这样,不仅实现了内存中碎片的减少,而且实现 了由连续存储到非连续存储的飞跃。 ①页表 ②硬件地址变换机构 【说明】页表也称为页面映像表,最简单的页表由页号和内存块号组成。要实现页式虚 地址到内存物理地址的转换,除了页表外,还需要其他的硬件支持,如:页表始址和页 表长度寄存器等。 ①内存 ②2 【说明】由于页表放在内存中,一次访问页表以确定所取数据或指令的物理地址,另一 次是根据地址取数据或指令。 ①记录内存页面的分配情况 ②一张表 ③位示图法 【说明】位示图法是在内存中划分一块固定区域,每个单元的每个比特( bit)代表内 存的一个页面,如果该页面已分配,则对应的位置置 1,否则置 0。 ①页号及页内偏移地址 ②段号及段内偏移地址 段号、段在内存的起始地址、段长度等 页号和块号 ①段 ②页 ①段 ②连续的内存 ③不等 ④相临 【说明】段式管理是基于为用户提供一个方便灵活的程序设计环境而提出来的。其基本 的思想是把程序按内容或过程(函数)关系分成段,每段有自己的名字。一个用户作业 或进程所包含的段对应一个二维线性虚拟空间。段式管理按段为单位分配内存,然后通 过地址映射机构,把段式虚拟地址变换成实际的内存物理地址。 ①信息单位 ②共享 ③保护 ①页(块) ②大小相等的页, 【说明】在段页式管理中,一个进程中所包含的具有独立逻辑功能的程序或数据仍被划 分成段,并具有各自的段号,这反映和继承了段式管理的特征。其次,对于段中的程序 和数据,则按一定的大小将其划分为不同的页。和页式管理一样,最后不足一页的部分 仍占有一页。这反映了段页式管理中的页式特征。因此,段页式管理时的进程的虚拟地 址空间中的虚拟地址由三部分组成:段号 s,页号 p 和页内相对地址 d。对于程序员来 说,可见的仍然是段号 s 和段内相对地址 w,p 和 d 是由地址变换机构把 w 高位部分解 释成页号 P,以及把剩下的低位解释为页内地址 d 而得到的。 错误。 【说明】 地址越界保护可由地址变换机构对 “页表长度” 和所要访问的虚地址的 “页号” 相比较完成,当要访问的虚地址的“页号”大于“页表长度”时发生越界中断。 错误 【说明】页式存贮管理中地址空间是一维的,其页的划分对用户是透明的。 正确。 【说明】分区管理、页式管理存储方案为用户提供的是一个线性地址空间。这对于模块 化程序和变化的数据结构的处理,以及不同作业或进程之间对某些公共子程序或数据的 共享问题等的解决,都存在着较大的困难。另外,程序人员一般都希望把信息按其内容 或函数关系分段,每段都有自己的名字,且可以根据名字来访问相应的程序或数据段。 正确。 【说明】段式管理把一个作业或进程的虚拟地址空间设计成二维结构,即段号 S 与段内 相对地址 W。 正确。 【说明】例如,一个进程中的程序和数据可被分为主程序段、子程序段、数据段与工作 区段,每个段定义一组逻辑上完整的程序和数据。 正确。 【说明】在多道环境下,由于进程的并发执行,一段程序为多个过程共享时,该程序段 称为共享段,有时共享段也要被换出内存。但如果该共享段正在被某个进程使用或即将
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
L19_E:存储管理基本概念与连续分配方式1.存储管理基本概念一、单项选择题1.把作业地址空间中使用的逻辑地址变成内存中物理地址的过程称为____________。
A. 重定位B. 物理化C. 逻辑化D. 加载2.要保证一个程序在主存中被改变了存放位置后仍能正确执行,则对主存空间应采用____________技术。
A. 动态重定位B. 静态重定位C. 动态分配D. 静态分配3.设基址寄存器的内容为1000,在采用动态重定位的系统中,当执行指令“LOAD A,2000”时,操作数的实际地址是。
A. 1000B. 2000C. 3000D. 40004.动态重定位技术依赖于____________。
A. 重定位装入程序B. 重定位寄存器C. 地址机构D. 目标程序二、多项选择题5.存储管理主要完成的功能应包括________。
A. 内存空间的分配和回收B. 内存空间的共享与存储保护C. 地址映射(地址重定位)D. 内存扩充E. 外存空间管理三、填空题6.作业的地址空间指的是①,地址空间中的地址称为②。
内存地址的集合为③,它的地址称为④。
7.地址重定位技术分为①重定位和②重定位,两者最显著的区别是③不同。
8.将作业地址空间中的逻辑地址转换为主存中的物理地址的过程称为①。
9.把①_地址转换为②和地址的工作称为地址映射。
10.主存中一系列物理存储单元的集合称为_ ①_。
11.静态重定位在①_时进行;而动态重定位在②时进行。
四、简答题12.简述内存空间的分配和回收的含义与处理方法。
13.内存空间的共享的含义与基本要求。
14.存储保护包括哪几方面。
15.什么叫地址重定位,它有哪两种基本方法。
16.什么是“程序局部性原理”?17.对采用动态重定位方式装人主存的作业,在任何时刻都可改变它在主存中的存放位置吗?为什么?2.连续分配方式一、单项选择题18.在固定分区的系统中,程序的重定位由完成。
A. 地址总线B. 定位寄存器C. 连接装入程序D. 作业调度程序19.设内存的分配情况如下图所示。
若要申请一块40K字节的内存空间,若采用最佳适应算法,则所得到的分区首址为______________。
A. 100KB. 190KC. 330KD. 410K100k180k190k280k330k390k410k512k-120.在可变式分区存储管理中的拼接技术可以_______________。
A. 集中空闲区B. 增加主存容量C. 缩短访问周期D. 加速地址转换21.分区管理中采用“最佳适应”分配算法时,宜把空闲区按____ ____次序登记在空闲区表中。
A. 长度递增B. 长度递减C. 地址递增D. 地址递减22.在固定分区分配中,每个分区的大小是_________________。
A. 相同B. 随作业长度变化C. 可以不同但预先固定D. 可以不同但根据作业长度固定23.首次适应算法的空闲区是________________。
A. 按地址递增顺序连在一起B. 始端指针表指向最大空闲区C. 按大小递增顺序连在一起D. 寻找从最大空闲区开始24.固定分区存储管理把主存储器划分成若干个连续区,每个连续区称一个分区。
经划分后分区的个数是固定的,各个分区的大小____________。
A. 是一致的B. 都不相同C. 可以相同,也可以不相同,但根据作业长度固定D. 在划分时确定且长度保持不变25.采用固定分区方式管理主存储器的最大缺点是____________。
A. 不利于存储保护B. 主存空间利用率不高C. 要有硬件的地址转换机构D. 分配算法复杂26.在可变分区存储管理中,某作业完成后要收回其主存空间,该空间可能要与相邻空闲区合并。
在修改未分配区表时,使空闲区个数不变且空闲区始址不变的情况是_________空闲区。
A. 无上邻也无下邻B. 无上邻但有下邻C. 有上邻也有下邻D. 有上邻但无下邻二、填空题27.分区式分配可分为①和②。
28.固定分区,一般采用①重定位法;可变分区,一般采用②重定位法。
29.可变分区的主存分配算法有①、②和③。
30.分区分配中的存储保护通常采用①方法。
31.对下图所示的内存分配情况(其中,阴影部分表示一占用块,空白部分表示空闲块),若要申请30K的存储空间,使首地址最大的分配策略是①。
100k180k190k280k330k390k410k512k-1四、是非判断题32.存储管理中的“最坏适应算法”的性能最不好。
()33.在可变分区中,采用动态重定位进行地址转换,重定位寄存器(基址寄存器)的值可以变化。
()34.在单用户、单任务系统中,在任何时候都只有一个程序运行,内存中只能放一道用户程序,也只有在一个程序运行完毕之后,才能装入下一个程序。
()35.在可变分区存储管理中,采用“最佳适应算法”找到的空闲区是最佳的。
()36.存储管理中“地址重定位”是指程序在内存中的浮动。
()三、简答题37.给出固定分区存储管理中对作业进行内存分配与回收方法。
38.固定分区存储管理如何进行存储保护?39.给出可变分区内存的分配与回收过程。
40.可变分区存储管理可采用的存储分配算法有哪几种?41.简述固定分区存储管理和可变分区存储管理的区别。
42.用可变分区方式管理主存时,假定主存中按地址顺序依次有五个空闲区,空闲区的大小依次为32K,10K,5K,228K,100K。
现有五个作业J1,J2,J3, J4和J5,它们各需主存量为1K,10K,108K,28K和115K。
若采用首次适应分配算法,能把这五个作业按J1~J5的次序全部装人主存吗?按怎样的次序装人这五个作业可使主存空间利用率最高?L19_E:存储管理基本概念与连续分配方式参考答案与说明1. A2. A3. C【说明】:操作数在内存空间的物理地址是基址寄存器的内容1000加上地址空间的逻辑地址2000。
4. B5. A B C D【说明】:采用多道程序设计技术,就要在内存中同时存放多道程序,这就要求存储管理解决以下四个重要问题,以达到尽可能方便用户使用和充分利用内存以提高内存利用率的目的。
一、内存空间的分配和回收二、内存空间的共享与存储保护三、地址映射(地址重定位)四、内存扩充(这里所提到的“扩充”是利用虚拟存储技术实现的)“外存空间管理”不属于“存储管理”的功能,所以,选择(A)、(B)、(C)、(D)。
6.①目标程序所占据的空间②逻辑地址或相对地址,③内存空间或物理地址空间④物理地址或绝对地址【说明】:在多道程序设计的环境下,对于多道运行的诸作业的存储空间的分配,一般是推迟到作业装入或运行时才确定的,即采用的是静态或动态存储分配。
为了实现这两种存储分配策略,需要采用两种技术手段:把逻辑地址与物理地址分开;对逻辑地址采用地址重定位。
7.①静态②动态③重定位时机【说明】重定位技术分为“静态重定位”和“动态重定位”,静态重定位是在程序装入内存时进行的重定位,而动态重定位是在程序运行时进行的重定位,两者最显著的区别是重定位时机不同。
8.①地址变换9.①逻辑②物理10.①存储空间11.①程序装入内存②程序执行12.【参考答案】:一个作业进入内存时操作系统需将其变为进程,并为进程分配内存空间。
进程运行结束时,操作系统应将其所占用的内存空间收回。
存储管理设置一张表格记录内存的使用情况,即哪些区域尚未分配,哪些区域已经分配以及分配给哪些进程等。
系统根据申请者的要求按一定策略找出足够的空间分配给申请者。
若不能满足申请要求,则让申请者处于等待内存资源的状态,直到有足够的内存空间时再实施分配。
当内存中某个作业撤离或主动归还内存时,存储管理要进行一系列操作回收内存空间,使之成为可供分配的空闲区域(也叫自由区)。
13.【参考答案】:内存共享是指两个或多个进程共用内存中相同的区域,存储共享的内容可以是程序的代码,也可以是数据。
如果是代码共享,则共享的代码必须是纯代码,或称“可再入程序”,即它在运行过程中不修改自身。
代码共享的目的是节省内存,通过数据共享也可以达到节省内存的目的,同时还可以实现进程间通信。
14.【参考答案】:在多道程序系统中,内存中既有操作系统,又有许多进程。
为使系统正常运行,避免内存中各程序相互干扰,必须对内存中的程序和数据进行保护。
存储保护包括两方面的内容:(1)防止地址越界:每个过程都具有其相对独立的进程空间,如果进程在运行时所产生的地址超出其地址空间,则发生地址越界,侵犯其他进程的空间,也可能侵犯操作系统空间,导致系统混乱。
(2)防止非法操作:对于允许多个进程共享的公共区域,每个进程都有自己的访问权限。
例如,有些进程可以执行写操作,而其他进程只能执行读操作等等。
因此,必须对公共区域的访问加以限制和检查。
存储保护一般以硬件保护机制为主,软件为辅,因为完全用软件实现系统开销太大,速度成倍降低。
当发生越界或非法操作时,硬件产生中断,进入操作系统处理。
15.【参考答案】:在多道程序系统中,每个用户不可能用内存的物理地址来编写程序。
程序在装入内存之前,为逻辑地址形式,有时甚至在装入内存后,仍为相对地址形式。
为了保证CPU执行程序指令时能正确访问存储单元,需要将程序中的逻辑地址转换为运行时可由机器直接寻址的物理地址,这一过程称为地址映射或地址重定位。
地址映射又可分成两类:(1)静态地址映射。
在程序被装入到内存的过程中实现逻辑地址到物理地址的转换,这种方式又称静态重定位。
(2)动态地址映射。
当执行程序过程中要访问指令或数据时,才进行地址变换,把逻辑地址转换为要访问的物理地址,这种方式又称为动态重定位。
采用静态重定位时,程序被装入到内存后其位置是不能移动的。
动态重定位需要依靠硬件地址映射机制完成,一般需要硬件提供寄存器等资源,但程序在内存中是可以移动的。
16.【参考答案】:进程运行时往往呈现出高度的局部性,包括时间局部性和空间局部性。
(1)时间局部性是指某一单元被访问,则在不久的将来,它可能再被访问;(2)空间局部性是指一旦一个存储单元被访问,那么它附近的单元也将很快被访问。
进程的某些程序段在进程整个运行期间,可能根本不使用,如出错处理等,因而没有必要调入内存;互斥执行的多个程序段在进程运行时,根据系统只执行其中一段,没有必要同时驻留内存;在进程的一次运行中,有些程序段执行完毕,从某一时刻起不再用到,因而没有必要再占用内存区域。
可以看出:程序局部性原理是虚拟存储技术引入的前提。
17.略18.C【说明】:在固定分区的系统中,程序的重定位采用静态重定位,即程序的重定位是在程序装入内存时进行的,由连接装入程序完成。
19.C20.A21.A22.C23.A24.C25.B26.D27.①固定分区②可变分区【说明】固定式分区就是把内存固定地划分为若干个大小不等的区域。