《电子科技大学计算机操作系统—第四章-存储管理ppt课件.ppt》由会员分享,可在线阅读,更多相关《电子科技大学计算机操作系统—第四章-存储管理ppt课件.ppt(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.1 存储管理的基本概念(一)存储管理的基本概念(一)这里只讨论内存管理,外存管理在设备中讨论。这里只讨论内存管理,外存管理在设备中讨论。这里只讨论内存管理,外存管理在设备中讨论。这里只讨论内存管理,外存管理在设备中讨论。存存存存储储储储器器器器是是是是价价价价格格格格昂昂昂昂贵贵贵贵,数数数数量量量量不不不不足足足足的的的的资资资资源源源源。存存存存储储储储管管管管理理理理的的的的效效效效率率率率直直直直接接接接影影影影响响响响到到到到系系系系统统统统的的的的性性性性能
2、能能能,也也也也最最最最能能能能够够够够反反反反映映映映一一一一个个个个操操操操作作作作系系系系统统统统的的的的特特特特色色色色。因因因因此此此此,存存存存储储储储管管管管理理理理的的的的问问问问题题题题是是是是操操操操作作作作系统的核心问题。系统的核心问题。系统的核心问题。系统的核心问题。存储管理的目的存储管理的目的存储管理的目的存储管理的目的1.1.1.1.为用户使用存储器提供方便。为用户使用存储器提供方便。为用户使用存储器提供方便。为用户使用存储器提供方便。在逻辑空间编程在逻辑空间编程在逻辑空间编程在逻辑空间编程 提供足够大的存储空间提供足够大的存储空间提供足够大的存储空间提供足够大的存
3、储空间2.2.2.2.充分发挥内存的利用率。充分发挥内存的利用率。充分发挥内存的利用率。充分发挥内存的利用率。许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.1 存储管理的基本概念存储管理的基本概念存储管理的功能存储管理的功能 内存分配内存分配 内存保护内存保护 地址映射地址映射 内存扩充内存扩充装入装入装入程序装入程序链接链接装入装入 链接链接 运行运行编译编译 内存分配内存分配许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.1 存储管理
4、的基本概念存储管理的基本概念 调入策略调入策略 确定装入时机确定装入时机 (预调、请调)(预调、请调)放置策略放置策略 如何分配空闲内存区的原则如何分配空闲内存区的原则(算法、连续、(算法、连续、不连续)不连续)淘汰策略淘汰策略 当使用当使用请调请调策略时,确定淘汰哪些信息,策略时,确定淘汰哪些信息,以腾出内存空间,以便调入需要的信息。以腾出内存空间,以便调入需要的信息。可分为相等和不相等的内存块可分为相等和不相等的内存块内存分配与回收内存分配与回收内存分配与回收内存分配与回收分配策略分配策略内存划分内存划分内存回收内存回收回收进程所释放的存储空间回收进程所释放的存储空间存储管理的功能存储管理
5、的功能许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.1 存储管理的基本概念存储管理的基本概念 1.地址空间和存储空间地址空间和存储空间 程序经过编译所形成的目标代码,一般使用程序经过编译所形成的目标代码,一般使用相相对地址;对地址;即其首地址为即其首地址为 0 ,其它指令的地址是相,其它指令的地址是相对首地址而定。相对地址又称为对首地址而定。相对地址又称为逻辑地址逻辑地址。该目标代码相对地址的全体称为程序的该目标代码相对地址的全体称为程序的地址空地址空间间,或或逻辑空间。逻辑空间。实际的内存物理地址的集合称为实际的
6、内存物理地址的集合称为物理空间物理空间,或存,或存储空间。储空间。地址映射地址映射存储管理的功能存储管理的功能许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.1 存储管理的基本概念存储管理的基本概念 2、重定位重定位(RelocationRelocation)为了保证程序的执行,操作系统必须将执行过程要为了保证程序的执行,操作系统必须将执行过程要访问的逻辑地址转换为物理地址。这种地址的转换过程访问的逻辑地址转换为物理地址。这种地址的转换过程称为称为重定位重定位或地址或地址映射。映射。地址映射地址映射存储管理的功能存储
7、管理的功能重定位分为重定位分为静态、动态静态、动态两种:两种:静态静态重定位重定位 程序装入过程中一次完成地址程序装入过程中一次完成地址映射。运行过程中,地映射。运行过程中,地址空间不允许改变。址空间不允许改变。优点:软件实现,无需硬件支持。优点:软件实现,无需硬件支持。缺点:分配连续空间,程序不能移动。缺点:分配连续空间,程序不能移动。许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.1 存储管理的基本概念存储管理的基本概念 动态动态重定位重定位 重定位发生在程序执行过程中,在访问指令或数据重定位发生在程序执行过程中
8、,在访问指令或数据时,才进行地址变换。需要硬件地址变换机制实现。时,才进行地址变换。需要硬件地址变换机制实现。5001000VRBR+100011001500LOAD 1,5001 2 3 4 5内存空间内存空间LOAD 1,50001005001 2 3 4 5地址空间地址空间LOAD 1,500许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.1 存储管理的基本概念存储管理的基本概念一。程序的装入和链接一。程序的装入和链接 绝对装入方式绝对装入方式绝对装入方式绝对装入方式 装入程序按照装入模块中的绝对地址将装入程序
9、按照装入模块中的绝对地址将装入程序按照装入模块中的绝对地址将装入程序按照装入模块中的绝对地址将程序和数据装入内存。程序和数据装入内存。程序和数据装入内存。程序和数据装入内存。可可可可重重重重定定定定位位位位装装装装入入入入方方方方式式式式 装装装装入入入入模模模模块块块块为为为为相相相相对对对对地地地地址址址址(逻逻逻逻辑辑辑辑地地地地址址址址),装装装装入入入入程程程程序序序序按按按按照照照照当当当当前前前前内内内内存存存存使使使使用用用用的的的的情情情情况况况况,将将将将装装装装入入入入模模模模块块块块装装装装入入入入内内内内存存存存的某个物理地址。但是装入后不允许移动。的某个物理地址。但
10、是装入后不允许移动。的某个物理地址。但是装入后不允许移动。的某个物理地址。但是装入后不允许移动。重定位重定位重定位重定位将逻辑地址转换为物理地址的过程将逻辑地址转换为物理地址的过程将逻辑地址转换为物理地址的过程将逻辑地址转换为物理地址的过程,也称为地址,也称为地址,也称为地址,也称为地址变换或地址映射。变换或地址映射。变换或地址映射。变换或地址映射。由于地址变换是在装入时一次完成的,又称为由于地址变换是在装入时一次完成的,又称为由于地址变换是在装入时一次完成的,又称为由于地址变换是在装入时一次完成的,又称为静态重定位静态重定位静态重定位静态重定位。1 1 1 1。程序的装入方式。程序的装入方式
11、。程序的装入方式。程序的装入方式 动态运行时装入方式动态运行时装入方式动态运行时装入方式动态运行时装入方式 将装入模块装入内存后,运行时才进行地址变换,又将装入模块装入内存后,运行时才进行地址变换,又将装入模块装入内存后,运行时才进行地址变换,又将装入模块装入内存后,运行时才进行地址变换,又称为动态重定位。称为动态重定位。称为动态重定位。称为动态重定位。许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.1 存储管理的基本概念存储管理的基本概念 静态静态链接链接 事先将所需目标模块链接生成一个完整的事先将所需目标模块链接
12、生成一个完整的装入模块(装入模块(.exe)运行时直接装入内存。运行时直接装入内存。动态动态链接链接 装入时装入时链接链接 边装入时边链接。即装入一个目标模块后,再将它所调用边装入时边链接。即装入一个目标模块后,再将它所调用的外部模块装入,可存放在内存的任何地方,并修改目标模的外部模块装入,可存放在内存的任何地方,并修改目标模块中的相对地址。块中的相对地址。运行时运行时链接链接 延迟到运行时,才将当前被调用的目标模块装入延迟到运行时,才将当前被调用的目标模块装入,并链接。并链接。链接链接由由链接程序将目标模块及其所需的库函数,装配链接程序将目标模块及其所需的库函数,装配 链接生成链接生成装入模
13、块的过程装入模块的过程。2.2.2.2.程序的程序的程序的程序的链接链接链接链接许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.1 存储管理的基本概念存储管理的基本概念 实存方案实存方案 分区分配管理分区分配管理 分页管理分页管理 分段管理分段管理 虚存虚存方案方案 请求式分页管理请求式分页管理 请求式分段管理请求式分段管理 段页式管理段页式管理二。存储管理的机制二。存储管理的机制内存分配策略内存分配策略地址映射机制地址映射机制内存保护机制内存保护机制虚拟存储机制虚拟存储机制许家珆寒假来临,不少的高中毕业生和大学在校
14、生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.2 4.2 4.2 4.2 分区存储管理分区存储管理分区存储管理分区存储管理一。固定一。固定分区(分区(Fixed PartitionsFixed Partitions)将内存固定划分为相等或不等的区域,称为分区,分区将内存固定划分为相等或不等的区域,称为分区,分区一旦划定,在执行过程中分区长度和个数将不再变化。建立一旦划定,在执行过程中分区长度和个数将不再变化。建立内存分配表内存分配表记录分区分配的情况。记录分区分配的情况。简单、可靠,但产生简单、可靠,但产生分区分区“内零头内零头”。内存利用效低。内存利用效
15、低。分区存储管理的基本思想:分区存储管理的基本思想:将内存划分为若干分区,对用户作业进行连续分配。将内存划分为若干分区,对用户作业进行连续分配。分区号分区号大小大小(K)始址始址(K)状态状态1234153050100304575125已分配已分配已分配已分配已分配已分配未分配未分配操作系统操作系统进程进程A(6K)进程进程B(25K)进程进程C(36K)0304575125内零头内零头1234许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.2 4.2 4.2 4.2 分区存储管理分区存储管理分区存储管理分区存储管理
16、二、可变二、可变二、可变二、可变分区分区分区分区(Variable PartitionsVariable PartitionsVariable PartitionsVariable Partitions)1.1.1.1.数据结构数据结构数据结构数据结构 。已分配分区表。已分配分区表。已分配分区表。已分配分区表 。未分配分区表。未分配分区表。未分配分区表。未分配分区表 通常表项由存储控制块通常表项由存储控制块通常表项由存储控制块通常表项由存储控制块MCBMCB(区号、长度、始址等)(区号、长度、始址等)(区号、长度、始址等)(区号、长度、始址等)描述。描述。描述。描述。并按照某种次序构成并按照某
17、种次序构成并按照某种次序构成并按照某种次序构成链结构链结构链结构链结构。许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多2.2.2.2.分区分区分区分区分配算法分配算法分配算法分配算法 首次适应算法首次适应算法首次适应算法首次适应算法FFFFFFFF(First FitFirst FitFirst FitFirst Fit)未分配分区按照地址从小到大排列。分配时顺序查找,未分配分区按照地址从小到大排列。分配时顺序查找,未分配分区按照地址从小到大排列。分配时顺序查找,未分配分区按照地址从小到大排列。分配时顺序查找,选择第一
18、个满足要求的分区进行分配。选择第一个满足要求的分区进行分配。选择第一个满足要求的分区进行分配。选择第一个满足要求的分区进行分配。循环循环循环循环首次适应算法首次适应算法首次适应算法首次适应算法RFFRFFRFFRFF 分配时从上次已分配分配时从上次已分配分配时从上次已分配分配时从上次已分配分区分区分区分区的下一空闲的下一空闲的下一空闲的下一空闲分区开始查找。分区开始查找。分区开始查找。分区开始查找。查找到查找到查找到查找到链尾后,又从链首开始链尾后,又从链首开始链尾后,又从链首开始链尾后,又从链首开始查找。查找。查找。查找。最佳最佳最佳最佳适应算法适应算法适应算法适应算法BFBFBFBF(Be
19、st FitBest FitBest FitBest Fit)按照空闲区大小升序排列,按照空闲区大小升序排列,按照空闲区大小升序排列,按照空闲区大小升序排列,分配时顺序查找,选择第分配时顺序查找,选择第分配时顺序查找,选择第分配时顺序查找,选择第一个满足要求的最小分区进行分配。一个满足要求的最小分区进行分配。一个满足要求的最小分区进行分配。一个满足要求的最小分区进行分配。最坏最坏最坏最坏适应算法适应算法适应算法适应算法WFWFWFWF(Worst FitWorst FitWorst FitWorst Fit)未分配分区按照大小从大到小排列。分配时顺序选择未分配分区按照大小从大到小排列。分配时顺
20、序选择未分配分区按照大小从大到小排列。分配时顺序选择未分配分区按照大小从大到小排列。分配时顺序选择当前最大区。当前最大区。当前最大区。当前最大区。许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多分配算法分配算法小结 名名 称称 未分配区组织未分配区组织 策策 略略 优优 点点 缺缺 点点首次适应算法首次适应算法循环循环首次适应算法首次适应算法最佳最佳适应算法适应算法最坏最坏适应算法适应算法 名名 称称 未分配区组织未分配区组织 策策 略略 优优 点点 缺缺 点点首次适应算法首次适应算法循环循环首次适应算法首次适应算法最佳
21、最佳适应算法适应算法最坏最坏适应算法适应算法许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.2 4.2 4.2 4.2 分区存储管理分区存储管理分区存储管理分区存储管理(三)(三)(三)(三)3 3 3 3。分区的分配与回收操作。分区的分配与回收操作。分区的分配与回收操作。分区的分配与回收操作将分区分配给请求者将分区分配给请求者修改数据结构修改数据结构p110许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.2 4.2 4.2 4.2 分区
22、存储管理分区存储管理分区存储管理分区存储管理(四)(四)(四)(四)3 3。分区的分配与回收操作。分区的分配与回收操作(P143 P143 图图5-105-10)回收回收F1回收区回收区F1回收区回收区F2回收区回收区F1内存内存回收的三种情况回收的三种情况许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.2 4.2 4.2 4.2 分区存储管理分区存储管理分区存储管理分区存储管理(五)(五)(五)(五)三。动态三。动态重定位重定位分区分配分区分配 1.1.紧凑技术紧凑技术 也称为也称为“拼凑拼凑”技术,用于解决可变分
23、区中产生的技术,用于解决可变分区中产生的“外零头外零头”,即移动某些已分配分区,使,即移动某些已分配分区,使“外零头外零头”合并为一个大的连合并为一个大的连续空闲区。续空闲区。(P111 P111 图图4-8)4-8)2 2。分配算法。分配算法请求分配请求分配顺序查找顺序查找空闲空闲分区表分区表有可用有可用分区分区动态分配动态分配修改数据结构修改数据结构Y空闲区总空闲区总和和 需求需求 N紧凑紧凑修改数据结构修改数据结构Y返返回回N 显然,可变显然,可变分区分配克服了内零头,提高了内存的利率,但分区分配克服了内零头,提高了内存的利率,但产生了外零头。使小碎片得不到利用。产生了外零头。使小碎片得
24、不到利用。返回返回分区号分区号及首地址及首地址许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多思 考 题 1 1、说明重定位分区分配方式的地址转换机制?如何实现分区存储保护?2、为什么要引入对换技术?如何实现进程的对换?许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.3 4.3 4.3 4.3 分页存储管理分页存储管理分页存储管理分页存储管理(一)(一)(一)(一)离散式内存分配离散式内存分配 允许一个进程分配在不相连接的内存允许一个进程分配在
25、不相连接的内存 区域中,以利于提高存储效率。区域中,以利于提高存储效率。一。一。分页存储管理的基本思想分页存储管理的基本思想 将地址空间划分为大小相等的将地址空间划分为大小相等的页面页面,将内存空间也划分,将内存空间也划分为大小相等的为大小相等的物理块物理块,一个作业的所有页面,一个作业的所有页面一次装入一次装入,但,但可不连续存放可不连续存放。1 1、分页地址结构分页地址结构 页号页号 P P 位移量位移量 W3112 110内存连续分配的问题内存连续分配的问题 :产生内零头或者外零头。产生内零头或者外零头。采用紧凑技术增加额外开销。采用紧凑技术增加额外开销。页面大小通常为页面大小通常为2的
26、整数次幂(的整数次幂(512字节字节4K)。)。许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.3 4.3 4.3 4.3 分页存储管理分页存储管理分页存储管理分页存储管理(二)(二)(二)(二)页表页表PTPT(Page TablePage Table)页号页号 P P 位移量位移量 W逻辑地址逻辑地址LA 页框号页框号 位移量位移量 物理地址物理地址2 2、内存分配、内存分配 将地址空间连续划分为大小相等的将地址空间连续划分为大小相等的页面页面,将内存空间,将内存空间也划分为大小相等的也划分为大小相等的物理块物
27、理块(页框),一个作业的所有页(页框),一个作业的所有页面一次装入,但可不连续存放面一次装入,但可不连续存放。仅存在很少的页内零头。仅存在很少的页内零头。为每个进程建立一张页表,每页占据一个表项,页表通常为每个进程建立一张页表,每页占据一个表项,页表通常放在内存中。放在内存中。页号页号页框号(页框号(块号)块号)存取控制存取控制01.m:35.许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.3 4.3 4.3 4.3 分页存储管理分页存储管理分页存储管理分页存储管理(三)(三)(三)(三)二。二。地址地址映射机制映
28、射机制是通过是通过“页表页表”来实现来实现地址地址映射的。映射的。页页 号号 块块 号号 存取控制存取控制页描述子+如果页号如果页号页表页表长度,则中断,长度,则中断,否则继续否则继续.如果访问非法,如果访问非法,则中断,否则则中断,否则继续。继续。页页 号号 位移量位移量虚拟地址虚拟地址 LA 块块 号号 位移量位移量物理地址物理地址页表始址页表始址 长度长度页表寄存器页表寄存器PTR页页 表表 块号块号 存取控制存取控制页描述子页描述子页页 号号 0 1 .块块 号号位移量位移量许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工
29、的陷阱很多 4.3 4.3 分页存储管理分页存储管理(四)(四)由于页表存放在内存,每存取一个数据,由于页表存放在内存,每存取一个数据,CPU 要访要访两次内存,几乎降低了一半的计算速度,为了加快地址两次内存,几乎降低了一半的计算速度,为了加快地址变换的速度,在地址变换机构中建立一个变换的速度,在地址变换机构中建立一个高速缓冲存储高速缓冲存储器器,也称为,也称为联想存储器联想存储器(Associative MemoryAssociative Memory)或或快表快表。2 2。具有快表的。具有快表的地址变换机构地址变换机构三。分页系统中的超高速缓存(三。分页系统中的超高速缓存(三。分页系统中的
30、超高速缓存(三。分页系统中的超高速缓存(Cache MemoryCache MemoryCache MemoryCache Memory)在在CacheCache中,存放现行进程的页表副本,即记录现行进程中,存放现行进程的页表副本,即记录现行进程中最常用的页描述子。中最常用的页描述子。页表表目是在访问内存的过程中按需要动态装入快表的,页表表目是在访问内存的过程中按需要动态装入快表的,当进程切换时,快表被清零。当进程切换时,快表被清零。P153 P153 图图5-18 5-18 描述了具有快表的描述了具有快表的地址变换过程。地址变换过程。1 1。为什么要设置快表为什么要设置快表许家珆寒假来临,不
31、少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.3 4.3 4.3 4.3 分页存储管理分页存储管理分页存储管理分页存储管理(五)(五)(五)(五)在缓存中查找页在缓存中查找页 描述子,找到了描述子,找到了 则提取。则提取。快表的命中率可高达快表的命中率可高达80%90%80%90%。利用页描述子和位利用页描述子和位移量计算物理地址移量计算物理地址2在缓存中未找到,在缓存中未找到,从页表中读取,并从页表中读取,并存入缓存。存入缓存。利用页描述子和位利用页描述子和位移量计算物理地址移量计算物理地址页号页号 位移量位移量虚拟地址虚拟地址
32、具有超高速缓冲存储器的地址变换过程具有超高速缓冲存储器的地址变换过程275382。超高速缓存超高速缓存页表页表01234.首先访问高速缓首先访问高速缓存,确定需要的页描存,确定需要的页描述子是否在其中,如述子是否在其中,如果没有发现,再访问果没有发现,再访问存储器中的页表。同存储器中的页表。同时将从页表中读出的时将从页表中读出的页描述子更新高速缓页描述子更新高速缓存中旧的页描述子。存中旧的页描述子。许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.3 4.3 4.3 4.3 分页存储管理分页存储管理分页存储管理分页存
33、储管理(六)(六)(六)(六)问问 题题 许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.3 4.3 4.3 4.3 分页存储管理分页存储管理分页存储管理分页存储管理(七)(七)(七)(七)四。多级页表四。多级页表 设置多级页表是为了解决逻辑空间过大,所造成的页表设置多级页表是为了解决逻辑空间过大,所造成的页表过大,占有太大的连续内存空间的过大,占有太大的连续内存空间的 问题。问题。1 1。二级页表。二级页表 页表内再分页,分为外层页表和内层页表。页表内再分页,分为外层页表和内层页表。逻辑地址结构:逻辑地址结构:外
34、层页号外层页号 P1 P1内层页号内层页号 P2 P2页内地址页内地址 d d 31 22 21 12 11 0具有具有二级页表的地址变换机构:二级页表的地址变换机构:问题:问题:1.分别画出二级页表的页描述子的结构,你认为它们分别画出二级页表的页描述子的结构,你认为它们 应该存放在哪里?如何存放?应该存放在哪里?如何存放?2.画出二级页表地址转换机制的流程图。画出二级页表地址转换机制的流程图。许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.4 4.4 4.4 4.4 分段存储管理分段存储管理分段存储管理分段存储管
35、理(一)(一)(一)(一)一、一、分段存储管理的基本思想分段存储管理的基本思想1 1、什么是分段、什么是分段 页页是是信信息息的的物物理理单单位位,段段(segmentssegments)是是信信息息的的逻逻辑辑单单位位,在逻辑上是一组整体的信息,每个段都是从在逻辑上是一组整体的信息,每个段都是从0 0开始相对编址的。开始相对编址的。2、为什么引入为什么引入分段存储管理分段存储管理 方便用户编程和实现共享方便用户编程和实现共享 便于实现动态链接便于实现动态链接 许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.4 4
36、.4 4.4 4.4 分段存储管理分段存储管理分段存储管理分段存储管理(二)(二)(二)(二)3 3、分段地址、分段地址 在分段存储管理系统中,对所有地址空间的访问均要求两在分段存储管理系统中,对所有地址空间的访问均要求两个成分:(个成分:(1)段名;)段名;(2)段内地址。)段内地址。例如:例如:CALL X|转移到子程序的入口点转移到子程序的入口点Y。LOAD1,A|将数组将数组A A 的的D D单元的值读入寄存器单元的值读入寄存器1 1。STORE1 B|将将寄存器寄存器1 1的内容存入分段的内容存入分段B B的的C C 单元中。单元中。这些符号程序经汇编和装配后,指令和数据的单元地址由
37、这些符号程序经汇编和装配后,指令和数据的单元地址由两部分构成,一是表示段名的段号两部分构成,一是表示段名的段号S;一是位移量;一是位移量W,即段内,即段内地址。所以在分段系统中的地址结构有如下形式:地址。所以在分段系统中的地址结构有如下形式:一旦段号和段内位移量字段的长度确定后,一个地址空间一旦段号和段内位移量字段的长度确定后,一个地址空间中允许的最多段数及段的长度也就限定了。中允许的最多段数及段的长度也就限定了。段号段号S 段内位移量段内位移量W31 16 15 0 许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4
38、.4 4.4 4.4 4.4 分段存储管理分段存储管理分段存储管理分段存储管理(三)(三)(三)(三)分段分段地址变换由段表实现,在作业被调入时,为其地址变换由段表实现,在作业被调入时,为其建立一张段表建立一张段表ST(Segment Table)。)。由此可见:由此可见:二、二、分段分段地址变换地址变换许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.4 4.4 4.4 4.4 分段存储管理分段存储管理分段存储管理分段存储管理(四)(四)(四)(四)利用段表实现地址映射利用段表实现地址映射利用段表实现地址映射利用段
39、表实现地址映射许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.4 4.4 4.4 4.4 分段存储管理分段存储管理分段存储管理分段存储管理(五)(五)(五)(五)段号段号 段长段长 主存地址主存地址110K23+10340 段表始址段表始址 段表长度段表长度分段分段地址变换过程地址变换过程许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.4 4.4 4.4 4.4 分段存储管理分段存储管理分段存储管理分段存储管理(六)(六)(六)(六)三
40、、分段存储保护三、分段存储保护三、分段存储保护三、分段存储保护在进行地址转换时,将段号与段表寄存器中的段表长在进行地址转换时,将段号与段表寄存器中的段表长度进行比较,判断是否产生越界中断。度进行比较,判断是否产生越界中断。在进行存储访问时,将段地址的位移量与表目中段长在进行存储访问时,将段地址的位移量与表目中段长进行比较,如果超过段长,便发出越界中断信号。进行比较,如果超过段长,便发出越界中断信号。在段表的表目中,建立在段表的表目中,建立“存取控制存取控制”项进行段保护。项进行段保护。对非共享段,主要用于检查程序错误。对共享段尤其重要,对非共享段,主要用于检查程序错误。对共享段尤其重要,如对共
41、享的纯过程,要求禁止修改。如对共享的纯过程,要求禁止修改。有哪些存储保护措施?有哪些存储保护措施?许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.5 4.5 4.5 4.5 段页式存储管理段页式存储管理段页式存储管理段页式存储管理(一)(一)(一)(一)利用分段向用户提供二维的编程空间,利用分页来管理利用分段向用户提供二维的编程空间,利用分页来管理内存空间,以提高内存的利用率。内存空间,以提高内存的利用率。即对作业的地址空间分段,段内再分页。即对作业的地址空间分段,段内再分页。例如:例如:只有只有“内零头内零头”将
42、分页管理和分段管理的优点集中起来进行存储管理。将分页管理和分段管理的优点集中起来进行存储管理。0 4k 8k12k15k16k一段一段0 0页页1 1页页2 2页页3 3页页三段三段 0 4k 8k10k12k0 0页页1 1页页2 2页页二段二段 0 4k 8k0 0页页1 1页页许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.5 4.5 4.5 4.5 段页式存储管理段页式存储管理段页式存储管理段页式存储管理(二)(二)(二)(二)段页式地址变换段页式地址变换 由段表和页表实现。由段表和页表实现。通常,分段由程
43、序员完成,分页由系统自动完成。通常,分段由程序员完成,分页由系统自动完成。段页式地址结构段页式地址结构 实际上是一种三维地址,由实际上是一种三维地址,由(S,W )(S,P,W)段号段号S和段内相对地址和段内相对地址W W 其中:其中:S:段号;:段号;P:页号;:页号;W:页内位移量。:页内位移量。S P W许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 例:有一页式系统,其页表存放在主存中:例:有一页式系统,其页表存放在主存中:如果对主存的一次存取需要如果对主存的一次存取需要1.5 1.5 s,s,试问实现一次页面
44、访问试问实现一次页面访问的存取时间是多少的存取时间是多少?如果系统具有快表如果系统具有快表,平均命中率为平均命中率为85%,当页表项在快表中当页表项在快表中时时,其查找时间忽略为其查找时间忽略为0,试试问此时的存取时间是多少问此时的存取时间是多少?答:若页表存放在主存中,则要实现一次页面访问需两次访问答:若页表存放在主存中,则要实现一次页面访问需两次访问主存:一次是访问页表,确定所存取页面的物理地址(称为定主存:一次是访问页表,确定所存取页面的物理地址(称为定位)。第二次才根据该地址存取页面数据。位)。第二次才根据该地址存取页面数据。页表在主存的存取访问时间页表在主存的存取访问时间 =1.5*
45、2=3(s)=1.5*2=3(s)增加快表后的存取访问时间增加快表后的存取访问时间 =0.85*1.5+(1-0.85)*2*1.5=1.725(s)=0.85*1.5+(1-0.85)*2*1.5=1.725(s)许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多小小 结结比较几种实存管理方案的异同,并说明其特点。比较几种实存管理方案的异同,并说明其特点。内存分配内存分配 地址变换机制地址变换机制 存储保护和共享存储保护和共享 优点优点 缺点缺点分区存储分区存储分页存储分页存储分段存储分段存储段页存储段页存储许家珆寒假来
46、临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.6 4.6 4.6 4.6 虚拟存储的基本概念虚拟存储的基本概念虚拟存储的基本概念虚拟存储的基本概念 (一)一)一)一)虚拟存储技术,有效地解决了上述问题。虚拟存储技术,有效地解决了上述问题。实存管理方案存在以下主要问题:实存管理方案存在以下主要问题:1 1、要求作业一次装入,造成内存资源的浪费。、要求作业一次装入,造成内存资源的浪费。2 2、用用户户编编程程的的地地址址空空间间(逻逻辑辑空空间间)不不能能超超过过实实际际的的内内存空间。无法运行很大的应用程序。存空间。无法运行很
47、大的应用程序。尤其是对多道程序系统,以上问题更加突出。尤其是对多道程序系统,以上问题更加突出。虚拟存储管理的基本思想是:虚拟存储管理的基本思想是:虚拟存储管理的基本思想是:虚拟存储管理的基本思想是:用用用用大大大大容容容容量量量量的的的的外外外外存存存存来来来来扩扩扩扩充充充充内内内内存存存存,是是是是对对对对内内内内存存存存空空空空间间间间的的的的逻逻逻逻辑辑辑辑扩扩扩扩充充充充,为为为为用用用用户户户户提提提提供供供供一一一一个个个个比比比比实实实实际际际际内内内内存存存存空空空空间间间间大大大大得得得得多多多多的的的的虚虚虚虚拟拟拟拟内内内内存存存存空空空空间间间间。基基基基于于于于程程
48、程程序序序序的的的的局局局局部部部部性性性性原原原原理理理理,采采采采用用用用 “部部部部分分分分装装装装入入入入”、“部部部部分分分分交交交交换换换换”的策略。的策略。的策略。的策略。许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.6 4.6 4.6 4.6 虚拟存储的基本概念虚拟存储的基本概念虚拟存储的基本概念虚拟存储的基本概念 (二)二)二)二)注意:注意:虚拟存储管理的各种方案,建立在相应的虚拟存储管理的各种方案,建立在相应的实存方实存方案基础上。案基础上。虚拟存储方案:虚拟存储方案:请求分页式请求分页式
49、请求分段式请求分段式 请求段页式请求段页式 部分装入部分装入 作业在开始运行前,只装入部分,其余的作业在开始运行前,只装入部分,其余的 存放在外存,需要时再装入。存放在外存,需要时再装入。部分交换部分交换 当需要部分作业调入内存,而内存空间不当需要部分作业调入内存,而内存空间不 足时,需要将进程部分信息交换到外存,足时,需要将进程部分信息交换到外存,以腾出内存空间。以腾出内存空间。许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.6 4.6 4.6 4.6 虚拟存储的基本概念虚拟存储的基本概念虚拟存储的基本概念虚拟存
50、储的基本概念(三)三)三)三)请调策略请调策略 是指作业的某页面(段)何时装入内存。是指作业的某页面(段)何时装入内存。分为:请求式调入、预先调入两种。分为:请求式调入、预先调入两种。分配策略分配策略 调入的页面(段)放在何处,如何进行调入的页面(段)放在何处,如何进行 内存分配。内存分配。淘汰策略淘汰策略 也称为置换策略,按照某种算法选择淘也称为置换策略,按照某种算法选择淘 汰的页面(段)。汰的页面(段)。需要解决的问题需要解决的问题许家珆寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 4.7 4.7 4.7 4.7 请求