网络操作系统第8章 存储管理2

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
18
8.5.4虚拟存储器的容量
虚拟存储器的容量并非无限大,一个虚拟存储器的 容量由两个因素决定:
①受CPU的寻址能力的限制,由计算机CPU地址总 线结构确定的,决定虚拟存储器的最大容量。例如: CPU地址总线长度为32位,则CPU可以寻址范围是 0~232-1。
②由内存和外存对换区之和所确定。外存的容量可 能很大(如200G),但我们不可能全部作为外存对 换区。
)。
A、用分段方法来分配和管理物理存储空间,用分页方法来管理
用户地址空间。
B、用分段方法来分配和管理用户地址空间,用分页方法来管理
物理存储空间。
C、用分段方法来分配和管理主存空间,用分页方法来管理辅存
空间。
D、用分段方法来分配和管理辅存空间,用分页方法来管理主存
空间。
14
8.5 虚拟存储器的基本概念
为了更好地满足用户的需要,存在外碎片问题。 ③页的大小固定且由系统硬件决定,将逻辑地址划分为页号和偏移量两部分。
段的长度不固定且由用户决定,通常由编译系统在对源程序进行编译时,根 据信息的性质来划分。 ④分页系统程序地址空间是一维的,即该地址空间是单一的线性地址空间, 程序员只需利用一个标识符,即可表示一个地址。分段系统程序地址空间是 二维的,程序员在标识一个地址时,既需给出段名,又需给出段内偏移。 ⑤分页对于用户是透明,它仅仅用于对内存的管理,分段则对用户是可见的。 ⑥分段存储管理可以利用段的共享来实现内存共享,分页存储管理较难实现 内存共享。
17
⑵请求分段存储管理 请求分段存储管理在分段存储管理的基础上,增加了请求调
段或段的动态链接等功能。地址空间中各程序段在运行时并 不全部装入内存,而是调入一个或少数几个程序段运行,在 运行过程中需要调用到哪段时,就根据该段长度在内存分配 一个连续的分区给它使用。若内存中没有足够大的空闲分区, 则考虑进行段的紧凑或将某段淘汰出去。这种存储管理技术 称为请求分段存储管理。 ⑶请求段页式存储管理。 请求段页式存储管理是请求分页和请求分段存储管理的结合。 请求段页式存储管理的内存分配单位是帧。逻辑地址是由段 号、段内页号、页内偏移地址三部分组成的。在地址变换的 过程中会产生缺段中断和缺页中断两种不同类型的中断。
16
3. 虚拟存储器定义
是指系统以透明的方式提供给用户一个比实际内存大 得多的作业地址空间.它不是任何实际的物理存储器,而是一 个容量非常大的存储器,用户可以在非常大的地址空间内,放 心的安排自己的程序和数据,就仿佛他真正拥有这么大的内 存空间一样.
8.5.3虚拟存储器的分类 ⑴请求分页存储管理 请求分页存储管理在分页存储管理的基础上,增加了请求 调页等功能。与分页存储管理不同,请求分页管理系统只 需进程的部分页面调入内存即可以运行。
②内存分配管理方法
段为内存分配的基本单位,为每段分配连续的内存储存空间, 每段的逻辑地址由0地址开始连续编址,段与段之间是离散 的,物理内存的管理采用分区式存储管理方法。
③段表
为了实现分段管理,系统为每个进程建立一个段表,用于描 述组成进程地址空间的各个段在内存的物理位置,来实现进 程的逻辑地址空间到内存存储空间的映射。段表的表项称为 段描述子,一般包括:段号s、段长、段基址(base address) 等。
20
1、在存储管理中常用虚拟存储器方式来摆脱主存容量的限制。
2、虚拟存储技术是(B )。
A.补充内存物理空间的技术 B.补充相对地址空间的技术
C.扩充外存空间的技术
D.扩充输入输出缓冲区的技术
(√)在虚拟存储方式下,程序员编制程序时不必考虑主存的
容量,但系统的吞吐量在很大程度上依赖于主存储器的容量;
8.5.1
早在1968年, Denning.P就曾指出:
(1) 程序执行时, 除了少部分的转移和过程调用指令外, 在大多数情况下仍是顺序执行的。
(2) 过程调用将会使程序的执行轨迹由一部分区域转至另 一部分区域, 但经研究看出,过程调用的深度在大多数情况 下都不超过5。
(3) 程序中存在许多循环结构, 这些虽然只由少数指令构 成, 但是它们将多次执行。
页号 帧号 状态位 修改位 访问字段 存取控制 外存地址
1.页描述子的扩充
①页号、页面号 ②状态位用于指示该页是否已经调入了内存,“1”表示该页
在内存中,“0”该页不在内存中。若不在内存之中,则产生 缺页中断。
③修改位:供换出页面时使用。表示该页中数据是否被修改, 若被修改,则换出时需存盘。0:否;1:是
③即将要访问的页面不在内存,由缺页中断机构就立即产生 中断信号,将缺页装入内存。缺页中断机构由硬件和软件组 成。
④进程运行需要内存页帧,如果内存没有空闲帧时,由页面 置换算法将一些老页从内存中淘汰出局,为即将被调入的新 页腾出空位。即老页与新页在内外存的对换。
22
8.6.2请求分页存储管理的实现机制
13
1、在段页式存储管理系统中,面向用户的地址空间是段式划分, 面向物理实现的地址空间是页式划分。
2、( )实现了段式、页式两种存储方式的优势互补。
A.请求分页管理
B.可变式分区管理
C.段式管理
D.段页式管理
3、段页式存储管理汲取了页式管理和段式管理的长处,其实现
原理结合了页式和段式管理的基本思想,即(
120K 760K 480K 370K
段长度
40K 30K 20K 20K
一逻辑地址为(2,154)的实际物理地址为多少? 答:逻辑地址(2154)表示段号为2,即段首地址为 480K,154为单元号,则实际物理地址为480K+154。
9
8.4.6段页式存储管理
分页管理和分段管理各有所长,将分页与分段结合 形成段页式存储管理技术。
访问内存,第一次访问内存段表取得页表始址,第二次访问页表取得帧号, 形成物理地址,第三次访问内存中的操作数。
12
3、优缺点
优点: (1)具有虚存功能 (2)不需内存紧缩,内存利用率很高 (3)便于处理变化的数据结构,段可动态增长 (4)便于共享 (5)能实现动态链接 (6)便于控制存取访问 缺点(1)需要更多硬件支持 (2)增加了软件复杂性和管理开销 (3)存在页内碎片
8.4 分段存储管理方式
8.4.1分段存储管理系统的基本原理
把程序按内容或过程(函数)关系分成段,每段 有自己的名字;系统按段分配内存空间,一个进 程的程序的各段在内存中可以是不连续的。程序 的虚拟地址用段名和段地址来描述,它是一个二 维地址;指令地址场中的虚拟地址用段号和段内 地址来描述。为实现内存分配和地址变换,必须 设置段表和段表地址寄存器
5
8.4.4 段的共享
当进程需要共享内存中的某段程序或数据时,只要 使用相同的段名在段表中填入段的其始地址,并置 以适当的读写控制权。
6wk.baidu.com
8.4.5 分段与分页系统的区别
但在概念上两者也有很多区别,主要表现在: ①页是信息的物理单位,分页仅仅是系统管理的需要,以解决内存的外碎片,
提高内存的利用率。 ②段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是
表,每个段设置一个页表
11
2.段页式存储管理地址变换过程
如图8-29所示段页式存储管理地址变换过程如下: ①从段表寄存器读取段表始址,找到段表。 ②段号+段表始址,得到段描述子地址。 ③从段描述子读取页表始址,页号+页表始址,得到页描述子地址。 ④从页描述子读取帧号。 ⑤由帧号f和偏移量拼成物理地址。 在段页式存储管理中,CPU每次访问一个在内存中的操作数,需要要三次
21
8.6请求分页存储管理
其实现原理如下:
①内存按分页管理。请求分页系统和分页系统一样,将进程 的地址空间划分为大小同等的页,也可以称为虚页,内存储 存空间划分为与页相同大小相等的物理块,称为页帧。虚拟 地址结构为:虚页号p|偏移量d。
②根据局部性原理,进程的部分页面装入内存即可运行,进 程的全部页面均有机会获得到内存执行的机会。
①在指令的执行期间产生和处理缺页中断信号。通常的CPU 外部中断是在每条指令执行完毕后检查是否有中断请求到达。 而缺页中断是在一条指令的执行期间发现要访问的指令和数 据不在内存时产生和处理的。
1
8.4.2分段存储管理系统的实现
1、段式虚拟空间 (1)、进程的虚拟地址:段号、段内地址,它是二维地
址 (2)各段长度可以不等,段的划分和长度都由用户确定 (3)每个段是首地址为0的、连续的一维线性空间。
2
2、分段存储管理具体如下: ①逻辑分段
段是一组逻辑信息的集合。将一个进程按照其不同的功能, 分成若干个相对独立的段,为每个段命名,并编排段号。
④虚拟性。虚拟存储器在逻辑上扩充内存,物理内存并没有发生 变化,为用户提供了一个大于实际物理内存的虚拟存储空间,这 使在较小的可用内存中可以执行较大的进程。而且,在内存中使 更多的进程并发执行。与覆盖技术相比,虚拟存储技术的一个显 著的优点是不影响编程时的进程结构,也就是说,虚拟存储器对 用户是透明的。
空间时,则需淘汰在内存中的一段或几段,淘汰算法同 请求页式管理。
4
8.4.3分段存储管理地址变换机构
进程的地址空间是二维的,即其逻辑地址有段号和段内偏移 两部分。如图所示,为了完成进程逻辑地址到物理地址的映 射,CPU会查找内存中的段表,由段号得到段的基址,加 上段内偏移,得到实际的物理地址。
(4) 程序中还包括许多对数据结构的处理, 如对数组进行 操作, 它们往往都局限于很小的范围内。
15
(1) 时间局限性。是指某个位置最近被访问了, 那么往往很快又要被再次访问。比如:程序中的循环、 常用子程序、堆栈、常用变量等。
(2) 空间局限性。是指一旦某个位置最近访问 了,那么它附近的位置也要被访问。比如:数组处理、 顺序代码的执行及常用变量存放在一起等。 ◆程序运行的局部性原理是操作系统中实现虚拟存储器 的理论基础。
段号 始址 长度 存取方式 内/外 访问位
3
3、段式管理的内存分配和释放 (1)以段为单位分配内存 (2)每段分配一个连续内存区 (3)各段在内存中不要求连续 (4)请求段式管理的内存分配和释放是在作业或进程
的执行过程中进行的。 (5)分段策略同动态分区管理 (6)在请求段式管理中,若需调入一段而系统无足够
④访问位:供页面被置换时使用。表示该页在最近期间是否 被CPU访问过。0:否;1:是。
⑤外存地址:供调入页面时使用。记录该页在磁盘等外存上 的地址
23
2.缺页中断机制
在请求分页系统中,CPU硬件一定要提供对缺页中断的支持, 根据页描述子中的状态位判断是否产生缺页中断。缺页中断 是一个比较特殊的中断,这主要体现在以下两方面:
7
1、分段保护中的越界检查是通过段表寄存器 中存放
的段表长度 和段表中的段长
等数
据项。
2、分段管理提供( )维的地址结构。
A.1 B.2 C.3 D.4
3、页是信息的物理单位,进行分页是出于系统管理
的需要;段是信息的逻辑单位,分段是出于用户 的
需要。
8
某段表内容如下:
段号 0 1 2 3
段首地址
19
8.5.5虚拟存储器的特征
主要特征如下:
①离散性。虚拟存储器必须建立在离散分配的基础上,在分页、 分段、段页式存储管理的基础上才能实现虚拟存储器。
②多次性。基于局部性原理,虚拟存储器将一个进程分成多次调 入内存,多次性是虚拟存储器最重要的特征。
③对换性。在进程运行期间,虚拟存储器允许将需要运行的进程 部分装入内存,进程就可以运行。允许将那些暂不运行的部分程 序进程或数据从内存调出并装入外存对换区,将那些需要运行的 部分程序或数据从外存对换区装入内存,从而能有效地提高内存 利用率。
在段页式系统中,一个进程的地址空间被分成若干 段,每段又被分成若干固定大小的页面。
10
1、段页式存储管理基本原理如下: (1)等分主存为页面,并从0开始编号 (2)进程的虚拟地址空间分段 (3)每段按页大小分成页,并从0开始编号 (4)逻辑地址结构:段号、页号、页内地址 (5)主存分配:以页面为单位 (6)为实现内存分配和地址变换,系统为每个进程设置一个段
相关文档
最新文档