视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
3.1 固定分区存储管理
2025-09-29 22:27:44 责编:小OO
文档
六安职业技术学院教案

2008~2009学年度第 1 学期编号__8__信息工程系计算机教研室任课教师曹维祥

课程名称操作系统

授课班级:应0701、02,维0701,软0701 授课日期:10.27~11.2

课型:理论课课时安排:2课时

教学内容:3.1 固定分区存储管理

3.2 可变分区存储管理

教学目标:1.掌握绝对地址、相对地址等概念

2.理解地址重定位的作用及静态和动态重定位的异同

3.掌握外部碎片、内部碎片的概念

4. 掌握单一连续分区、固定分区、可变分区存储管理

教学重点:1.绝对地址、相对地址等概念

2.地址重定位的作用

3. 外部碎片、内部碎片的概念

4.单一连续分区、固定分区、可变分区存储管理

教学难点:1.绝对地址、相对地址等概念

2.地址重定位的作用

教学方法:讲授

教学用具:无

教学过程:

[复习]

存储管理的功能[导入新课]

[新课]

一、基本概念

1.存储器的层次

三级存储器结构(粗分):

(1)寄存器――当前要执行的指令或要处理的数据

(2)内存――正在运行的程序和相关数据

(3)外存――“资料”长期保存

CPU不能直接去存取外存上的信息,外存上的程序或数据必须先移到内存中,才能被CPU访问。内存是一个大型的,由字节构成的一维数组,每一个单元都有自己的地址。

注:存储管理主要是对内存的管理、分配,涉及到的外存,也是对内存管理的支持。

2.地址重定位

(1)物理地址(绝对地址)

内存单元唯一的、真实的地址,CPU最终依据物理地址区分(存取)各单元。(2)逻辑地址(相对地址)

程序中相对本程序的“0”(开始)编址所产生的地址。

(3)地址空间

地址集合

物理地址空间――存储空间

逻辑地址空间――地址空间(4)地址重定位

相对地址转换为绝对地址的过程,称为地址重定位。

(5)为什么要地址重定位?

多道程序下,编写程序时无法事先知道内存区域中哪一部分是空闲的,哪一部分已被占用,也就无法在程序中直接使用物理地址,但程序不可避免的要使用地址。这之间有个矛盾,解决方法是编写(编译)程序时,使用相对地址,而在程序执行时(或者执行之前)将相对地址转换成绝对地址。

例:调用子程序的操作最终转化为跳转指令,跳到该子程序所在的第一条指令的地址。编写程序时并不知道这个子程序加载到内存的哪一个区域,也就无法直接指定该地址。

(6)地址的静态重定位

程序运行之前,为用户程序实行地址重定位的工作。一般由操作系统的加载程序完成。

特点:

A)程序运行之前

B)可完全由软件(操作系统)来实现,不需要硬件支持

C)一次性集中完成D)重定位后,不方便在内存中移动程序

二、单一连续分区管理

适用于单道系统,将内存分为2个连续区域:系统区、用户区。整个用户区只加载一个用户程序,且为该程序独占

系统区:由操作系统占用

用户区:由用户程序占用

1.主存空间的分配与回收

(1)分配:首先,从作业队列中取出一个作业;判断作业的大小是否大于用户区的大小,若大于则作业不能装入,否则,可以把作业装入用户区。它一次只能装入一个作业。

(2)回收:

作业一旦进入主存,就要等到它结束后才能释放主存,再装入第二个作业即可。2.地址转换与存储保护

(1)地址转换

它采用静态重定位方式。

(2)存储保护通过和界限寄存器的值进行比较,不满足时产生一个“地址越界”中断信号,由操作系统进行处理,以达到存储保护的目的。

注:只有用户程序与操作系统之间的保护,无用户程序之间的保护。

3.管理特点

(1)管理简单。

(2)资源利用率低。不管用户区有多大,它一次只能装入一个作业,这样造成

了存储空间的浪费,使系统整体资源利用率不高。

4.大作业与小作业

小作业:内部碎片――分配给用户程序了,但用户程序未使用的内存区域。(其它程序也不能使用)

大作业:覆盖技术

早期为程序设计人员提供的一种扩充内存的技术,其中心思想是允许一个作业的若干个程序段使用同一个存储区,被共用的存储区被称为“覆盖区”。(程序可能不会同时用到全部的子程序,用到各个子程序时,将该子程序加载到该“覆盖区”)

5.交换

早期内存容量不够大,在小内存下实现具有“多道”的效果的技术。

将作业信息都存放在辅助存储器上,根据单一连续分区存储管理的分配策略,每次只让其中的一个进入内存投入运行。当运行中提出输入输出请求或分配给的时间片用完时,就把这个程序从内存储器“换出”到辅助存储器,把辅助存储器里的另一个作业“换入”内存储器运行。这样,从宏观上看,系统中同时就有几个作业处在运行之中。

注:覆盖和交换均达到了“扩充”内存的目的。

三、固定分区存储管理

早期多道系统下采用的存储管理方式,系统启动后将用户内存区域划分为若干个大小不等的固定区域,每个区域称为一个分区,每个分区装入一个作业。

分区大小和数量均相对固定。

为什么大小不等?

方便装入大小不等的作业,减少内部碎片的影响。

1.主存空间的分配与回收

(1)采用的数据结构

一般设置了一张分区分配表。

分区分配表的内容包括:分区序号、起始地址、大小、状态。

状态栏的值为“0”表示分区空闲,可以装入作业;当装入作业后,其值改为作业名,表示这个分区被该作业占有。

(2)主存空间的分配

检查分区分配表,选择状态标志为“0”的分区,按某种分配策略(首次适应、最佳适应法)检查,若符合,则将作业装入该分区。

注:大作业不能装入。

(3)主存空间的回收

当作业运行结束时,根据作业名到分区分配表中进行检查,从状态栏的记录可知该作业占用的分区,把该分区的状态标志置成“0”,表示该分区就空闲了,可以用来装入新的作业。

2.地址转换与存储保护

(1)地址转换

采用静态重定位方式。

(2)存储保护

系统设置了一对寄存器,称为“下限寄存器”和“上限寄存器”记录当前在运行作业在主存储器中的下限和上限地址。

当CPU执行作业的指令时检查:“下限地址<=绝对地址<=上限地址”。

注:用户程序和操作系统之间;用户程序之间

3.特点(1)简单

(2)还是存在内部碎片;大作业不能装入

注:为什么会存在内部碎片?

分区大小固定

若空闲的内存大小(不连续)大小大作业,为什么大作业还是不能装入?

现在只是内部碎片,该分区已分配给其它程序。外部碎片时,原因:要求连续的存储空间。

四、可变分区存储管理

系统启动后不划分固定的分区,而是在作业要求装入主存时,根据作业的大小动态地划分分区,使分区的大小正好适应作业的要求。各分区的大小是不定的,主存中分区的数目也是不定的。

1.外部碎片

内存区域中未分配给任何作业,但因区域过小,又不能分配给作业的区域。

可变分区下解决了内部碎片,但又出现外部碎片。解决方法是合并空闲分区,这又要求程序能在内存移动。静态重定位的机制不适合程序在内存中的移动。

2.动态重定位

程序执行时,进行地址的转换。也就是说执行指令时,对指令中的地址进行转换工作。

特点:

A) 程序运行时(时间)

B) 要硬件支持(谁做)

C) 指令中涉及到地址时(怎么做)

D) 方便在内存中移动程序(结果)

3.空闲区的合并

一般有两种合并时机:

(1)当大作业要求未满足时

(2)作业结束时

注:合并是不得已而为之(严重影响系统效率)

4.分区的管理与组织

操作系统按什么方式记录、管理内存的使用情况。(1)表格法(2)单链表

(3)双链表

表格法实现简单,但要专门保留一块区域存放表格,表格多大?(可以存放多少项?,多了――浪费;少了――不够用

注:数据结构的知识,顺序表、链表等及特点

数据的逻辑形式、物理组织形式。

5.空闲分区的分配算法

按什么策略分配分区。

(1)最先适应法

分配最先找到的、满足存储需求的那个空闲分区

(2)最佳适应法

分配能够满足存储需求的、最小的空闲分区

(3)最坏适应法

分配能够满足存储需求的、最大的空闲分区

最佳适应法每次分配后,有可能造成一个很小的外部碎片,经过若干次后,系统中会存在很多很小外部碎片,系统必须频繁的合并分区;最坏适应法分配后,剩下的空闲区域相对比较大,可能能够装入另一个作业,形成碎片机率相对小。

6.地址的重定位与存储保护

(1)重定位

动态重定位

(2)存储保护

上限寄存器与下限寄存器

[小结]

总结:

单道→多道:固定分区→可变分区

内部碎片→出现外部碎片为什么可解决内部碎片?

根据作业大小,动态分配区域

静态重定位→动态重定位程序加载到内存后,相对地址不需

改动,可移动

不一定是真的要移动(为移动而移动),如交换时,作业再调入内存时,不需要加载到同样的位置

单一连续分区、固定分区、可变分区都要求程序在内存中战用连续的内存区域。若不要求占用连续存储区域,即可解决外部碎片。

[作业]

P81 2

[课后小结]

第13页下载本文

显示全文
专题