1. 首页
  2. 文档大全

操作系统课件第4章

上传者:5****1 2022-07-10 01:16:13上传 PPT文件 1.54MB
操作系统课件第4章_第1页 操作系统课件第4章_第2页 操作系统课件第4章_第3页

《操作系统课件第4章》由会员分享,可在线阅读,更多相关《操作系统课件第4章(48页珍藏版)》请在文档大全上搜索。

1、第四章存储器管理4.1 存存 储储 器器 的的 层层 次次 结结 构构多级存储器结构多级存储器结构存储层次:存储层次:CPU寄存器寄存器,主存主存,辅存辅存。高档计算机中:寄存器、高速缓存、主存储器、磁盘缓存、固定高档计算机中:寄存器、高速缓存、主存储器、磁盘缓存、固定磁盘、可移动存储介质。磁盘、可移动存储介质。计算机系统存储层次示意计算机系统存储层次示意 在存储层次中越往上,存储在存储层次中越往上,存储介质的访问速度越快,价格也介质的访问速度越快,价格也越高,相对存储容量也越小。越高,相对存储容量也越小。CPU寄存器寄存器主存主存辅存辅存n3主存储器主存储器主存储器主存储器( (内存内存)

2、)保存进程运行时的程序和数据。保存进程运行时的程序和数据。 寄存器访问速度最快寄存器访问速度最快,协调协调CPU工作,价格昂贵,容量很小。工作,价格昂贵,容量很小。n1. 寄存器寄存器n2 2高速缓存高速缓存容量大于寄存器容量大于寄存器,小于主存。小于主存。 访问速度比主存快。将经常访访问速度比主存快。将经常访问的信息存放在高速缓存中。问的信息存放在高速缓存中。n4磁盘缓存磁盘缓存利用主存中的存储空间,暂时存放从磁盘中读出利用主存中的存储空间,暂时存放从磁盘中读出(或写入或写入)的的信息。信息。台式台式PCPC机内存插槽和内存条机内存插槽和内存条4.2 程程 序序 的的 装装 入入 和和 链链

3、 接接 编译,源代码编译,源代码目标模块。目标模块。 链接,目标模块,库函数链接,目标模块,库函数装入模块。装入模块。 装入,装入模块装入,装入模块内存。内存。第一步第一步编译程序编译程序产生的目产生的目标模块标模块库库内存内存链接链接程序程序装入装入程序程序装入模块装入模块 第二步第二步第三步第三步 程序的装入程序的装入n1. 绝对装入方式绝对装入方式按照按照绝对地址绝对地址装入。装入。只适用于单道程序环境。只适用于单道程序环境。n2可重定位装入方式可重定位装入方式首址可以首址可以平移。平移。装入时地装入时地址修改。址修改。整体搬移整体搬移连续存放连续存放。n3动态运行时装入方式动态运行时装

4、入方式装入内存后的所有地址都是相对地址。地址修改推迟到程序执装入内存后的所有地址都是相对地址。地址修改推迟到程序执行时进行行时进行 ,动态重定位。,动态重定位。装入装入时地时地址不址不变,变,运行运行时地时地址修址修改。改。LOAD 1,2500365LOAD 1,2500365100001100012500150005000250010000作 业 地 址 空 间内 存 空 间程序的链接程序的链接 1. 静态链接方式(在外存形成装入模块)静态链接方式(在外存形成装入模块)模块 ACALL B;Return;0L 1模块 BCALL C;Return;0M 1模块 CReturn;0N 10模

5、块 AJSR“L”Return;L 1模块 BJSR“L M”Return;LL M 1L ML M N 1模块 CReturn;(a) 目标模块(b) 装入模块2. 装入时动态链接(进内存后形成装入模块)装入时动态链接(进内存后形成装入模块)装入时动态链接方式有以下优点:装入时动态链接方式有以下优点:(1)便于修改和更新。便于修改和更新。 (2) 便于实现对目标模块的共享。便于实现对目标模块的共享。 高档操作高档操作系统流行系统流行方式方式Windows Windows LinuxLinux等通等通用技术用技术OSOS下存有下存有大量的大量的DLLDLL动态连接动态连接库文件。库文件。3.

6、运行时动态链接运行时动态链接执行过程中,当一个被调用模块尚未装入内存时,由执行过程中,当一个被调用模块尚未装入内存时,由OSOS找找到该模块并将之装入内存,到该模块并将之装入内存, 把它链接到调用者模块上。把它链接到调用者模块上。当前不用的目标模块,都不会进内存。加快程序的装入过当前不用的目标模块,都不会进内存。加快程序的装入过程,节省大量的内存空间。程,节省大量的内存空间。 高档操作系统流行方式高档操作系统流行方式Windows Windows 、LinuxLinux、SolarsSolars、MachMach等等OSOS通用的技术(使用通用的技术(使用DLLDLL文件)文件)4.3 连连

7、续续 分分 配配 方方 式式单一连续分配单一连续分配只能用于单用户、单任务操作系统中。内存分为系统区和用只能用于单用户、单任务操作系统中。内存分为系统区和用户区两部分。户区两部分。OSUSERAREA操作系统默认存操作系统默认存放在内存低端放在内存低端作业操作系统未用32 KB64 KB160 KB分配给用户作业的空间每次一个作业,每次一个作业,上一个完成退上一个完成退出,下一个才出,下一个才能进入能进入利用率极低利用率极低固定分区分配固定分区分配用户空间划分为若干个固定大小的区域,在每个分区中装入一用户空间划分为若干个固定大小的区域,在每个分区中装入一道作业,允许几道作业并发运行。道作业,允

8、许几道作业并发运行。 简单、可靠,但产生分区简单、可靠,但产生分区“内零头内零头”,内存利用效低。,内存利用效低。系统区系统区分区分区 1 1分区分区 4 4分区分区 5 5分区分区 2 2分区分区 3 3区号/键大小起址状态18 KB512K已分配232 KB520K已分配332 KB552K未分配4128 KB584K未分配5512 KB712K已分配系统区系统区作业作业 3 3分区分区 4 4作业作业 2 2作业作业 1 1分区分区 3 3动态分区分配动态分区分配根据进程的实际需要,动态地为之分配内存空间。根据进程的实际需要,动态地为之分配内存空间。(1)空闲分区表空闲分区表记录每个空闲

9、分区的情况。记录每个空闲分区的情况。 (2) 空闲分区链空闲分区链将所有的空闲分区链接成一个将所有的空闲分区链接成一个双向链双向链。前向指针0N个字节可用后向指针0N+2N+2当分区被分配出去以后,把状态当分区被分配出去以后,把状态位由位由“0”改为改为“1”,此时,前、,此时,前、后向指针已无意义。后向指针已无意义。OS区区Job1Job2Job3Job4Job5Job6OS区区Job1Job2Job3Job4Job5空闲分区链空闲分区链头指针头指针Job6分区分配算法分区分配算法1) 首次适应算法首次适应算法(first fit) 空闲分区链空闲分区链以地址递增的次序以地址递增的次序链接。

10、从链首开始顺序查找,直链接。从链首开始顺序查找,直至找到一个大小能满足要求的空闲分区为止;然后再按照作业至找到一个大小能满足要求的空闲分区为止;然后再按照作业的大小,从该分区中划出一块内存空间分配给作业,余下的空的大小,从该分区中划出一块内存空间分配给作业,余下的空闲分区仍留在空闲链中。闲分区仍留在空闲链中。 该算法的优缺点:该算法的优缺点:为大作业分配大的内存空间创造了条件。为大作业分配大的内存空间创造了条件。低址部分不断被划分,会留下许多难以利用的、很小的空闲低址部分不断被划分,会留下许多难以利用的、很小的空闲分区。分区。新作业装入内存时,按照一定的分配算法,从空闲分区表或新作业装入内存时

11、,按照一定的分配算法,从空闲分区表或空闲分区链中选出一分区分配给该作业。常用的分配算法:空闲分区链中选出一分区分配给该作业。常用的分配算法: 2) 循环首次适应算法循环首次适应算法(next fit) 将所有的将所有的空闲分区构成一个循环链表空闲分区构成一个循环链表。采用循环查找。采用循环查找方式,设置一个起始查寻指针,用于指示下一次起始查方式,设置一个起始查寻指针,用于指示下一次起始查寻的空闲分区。寻的空闲分区。该算法的优缺点:该算法的优缺点:能使内存中的空闲分区分布得更均能使内存中的空闲分区分布得更均匀,从而减少了查找空闲分区时的开销,但这样会缺乏匀,从而减少了查找空闲分区时的开销,但这样


文档来源:https://www.renrendoc.com/paper/212694212.html

文档标签:

下载地址