![[操作系统]4--非连续分配_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-6/11/fd33c2da-2cbe-4ef3-8f67-6d1e8ff0ba94/fd33c2da-2cbe-4ef3-8f67-6d1e8ff0ba941.gif)
![[操作系统]4--非连续分配_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-6/11/fd33c2da-2cbe-4ef3-8f67-6d1e8ff0ba94/fd33c2da-2cbe-4ef3-8f67-6d1e8ff0ba942.gif)
![[操作系统]4--非连续分配_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-6/11/fd33c2da-2cbe-4ef3-8f67-6d1e8ff0ba94/fd33c2da-2cbe-4ef3-8f67-6d1e8ff0ba943.gif)
![[操作系统]4--非连续分配_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-6/11/fd33c2da-2cbe-4ef3-8f67-6d1e8ff0ba94/fd33c2da-2cbe-4ef3-8f67-6d1e8ff0ba944.gif)
![[操作系统]4--非连续分配_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-6/11/fd33c2da-2cbe-4ef3-8f67-6d1e8ff0ba94/fd33c2da-2cbe-4ef3-8f67-6d1e8ff0ba945.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北京交通大学海滨学院1操作系统操作系统第四章第四章 存储器管理存储器管理 * * 存储器的层次:分为分为寄存器寄存器、主存(内存)主存(内存)和和 辅存(外存)辅存(外存)三个层次。三个层次。 主存:高速缓冲存储器、主存储器、磁盘缓冲存储器,高速缓冲存储器、主存储器、磁盘缓冲存储器, 主存又称为可执行存储器;主存又称为可执行存储器; 辅存:固定磁盘存储器、可移动的外部存储器;固定磁盘存储器、可移动的外部存储器; 其可长期保存数据,但不能被处理器直接访问。其可长期保存数据,但不能被处理器直接访问。 本章针对的是主存(内存)的管理 * * 存储器管理的主要功能 内存(主存)空间的分配与回收内存(主
2、存)空间的分配与回收 逻辑地址到物理地址的转换逻辑地址到物理地址的转换 内存信息(数据)的共享与保护内存信息(数据)的共享与保护 内存的逻辑扩充(虚拟存储器的实现)内存的逻辑扩充(虚拟存储器的实现)一、相关概念逻辑地址:目标代码的相对编址逻辑地址:目标代码的相对编址物理地址:内存存储单元的编址物理地址:内存存储单元的编址逻辑地址空间:目标代码用逻辑地址编址对应的区域逻辑地址空间:目标代码用逻辑地址编址对应的区域内存存储空间:内存若干存储单元用物理地址编址对应内存存储空间:内存若干存储单元用物理地址编址对应 的区域的区域重定位:逻辑地址转换为物理地址的操作(过程)重定位:逻辑地址转换为物理地址的
3、操作(过程) 为什么要进行重定位例:例:地址空间地址空间0100025005000LOAD 1, 2500365存储空间存储空间 01000011000LOAD 1, 25001250015000365+1 0 0 0 0重定位寄存器重定位寄存器 若不进行地址转换,将会发生运行错误。若不进行地址转换,将会发生运行错误。 重定位的方式静态重定位:目标代码装入内存时,一次性进行目标代码装入内存时,一次性进行 逻辑地址到物理地址的逻辑地址到物理地址的地址转换。地址转换。动态重定位:目标代码装入内存时,先不进行地址目标代码装入内存时,先不进行地址 转换(即原代码装入),在执行时转换(即原代码装入),在
4、执行时, , 再实施地址转换。再实施地址转换。 二、程序的链接与装入 * * 程序的链接(模块拼接)D静态链接:装入前先链接静态链接:装入前先链接D动态链接:装入时(或在执行时)才进行链接动态链接:装入时(或在执行时)才进行链接* * 程序的装入D绝对装入:目标代码与装入位置地址相一致绝对装入:目标代码与装入位置地址相一致;D静态重定位装入:一边装入,一边实现地址转换静态重定位装入:一边装入,一边实现地址转换;D动态重定位装入:原代码装入,待执行时再进行动态重定位装入:原代码装入,待执行时再进行 地址转换。地址转换。 无论采用何种方式装入,均涉及到内存共享与分配问题无论采用何种方式装入,均涉及
5、到内存共享与分配问题 * * 分配方式 连续分配:为作业(进程)分配地址连续的存储空间连续分配:为作业(进程)分配地址连续的存储空间 离散分配:为作业(进程)分配不连续存储空间离散分配:为作业(进程)分配不连续存储空间 三、连续分配存储管理方式D 单一连续分配单一连续分配D 固定分区分配固定分区分配D 可变(动态)分区分配可变(动态)分区分配D 可重定位分区分配可重定位分区分配内内 存存O.S0max用户区用户区1 1)单一连续分配适用于早期单用户单任务适用于早期单用户单任务OSOS2 2)固定分区分配* * 算法思想 内存可用区划分成若干个大小固定的存区,每个内存可用区划分成若干个大小固定的
6、存区,每个存区分别装入一道作业的代码(数据)。存区分别装入一道作业的代码(数据)。* * 算法实现建立分区说明表,记录各分区大小、地址及分配情况建立分区说明表,记录各分区大小、地址及分配情况 例:例:分配:查分区说明表,找到一个足够大分配:查分区说明表,找到一个足够大 的空闲分区分配之;的空闲分区分配之;回收:将回收分区对应的分区说明表状回收:将回收分区对应的分区说明表状态改为态改为“空闲空闲”。* * 优、缺点:优、缺点: 内存可同时装入多道作业代码,算法实现简单;内存可同时装入多道作业代码,算法实现简单; 存在浪费(分区一次性全部分配出去)。存在浪费(分区一次性全部分配出去)。O.S作业作
7、业A作业作业B作业作业C 空闲空闲内存内存20k32k64k128k256k0 3 3)动态(可变)分区分配* * 算法思想 事先不划分分区,待作业需要分配内存时,再按需事先不划分分区,待作业需要分配内存时,再按需分配划分分区(分区的大小及个数不固定)。分配划分分区(分区的大小及个数不固定)。* * 算法实现 建立相关数据结构,根据分配策略(或算法)设定建立相关数据结构,根据分配策略(或算法)设定算法程序。算法程序。D 数据结构空闲分区表或空闲分区表或空闲分区链表空闲分区链表例:例:记录空闲分区的大小、地址等数据记录空闲分区的大小、地址等数据空闲分区链表情况:空闲分区链表情况:PL080k11
8、0k 50k350k 100k580k 60k分配:查空闲分区链表,找到第一个足够大的分配:查空闲分区链表,找到第一个足够大的 分区,将其一分为二分配之;分区,将其一分为二分配之;回收:先将回收分区与相邻空闲分区合并再修回收:先将回收分区与相邻空闲分区合并再修 改空闲分区链表。改空闲分区链表。例:回收作业例:回收作业4 4先与空闲区先与空闲区3 3合并,再修改链表合并,再修改链表080k110k160k300k350k450k500k580k640k80k50k100k60k作业作业3作业作业5作业作业9作业作业4作业作业7D 分配策略(算法) 首次适应算法首次适应算法循环首次适应算法循环首次
9、适应算法最佳适应算法最佳适应算法最差适应算法最差适应算法D 分配程序实现分配的算法程序实现分配的算法程序D 回收算法前邻接合并前邻接合并后邻接合并后邻接合并前、后邻接合并前、后邻接合并不邻接处理不邻接处理实为空闲分区的排列方法实为空闲分区的排列方法 * * 优、缺点按需分配,可解决浪费问题;按需分配,可解决浪费问题;分配算法复杂,会产生碎片;分配算法复杂,会产生碎片; 邻接合并系统开销大。邻接合并系统开销大。 * * 碎片问题 碎片: :可变分区分配过程中形成的若干个非常小的无法可变分区分配过程中形成的若干个非常小的无法 再利用的小分区。再利用的小分区。 解决方法:自然消除(邻接合并)自然消除
10、(邻接合并)拼接技术(可重定位分区分配)拼接技术(可重定位分区分配)离散分配(分页或分段分配)离散分配(分页或分段分配)4 4)可重定位分区分配 * * 算法思想 在可变分区分配算法的基础上,采用动态重在可变分区分配算法的基础上,采用动态重定位方式装入程序(数据)。当无足够大的分区定位方式装入程序(数据)。当无足够大的分区供分配时,供分配时,若总空闲存储容量够用若总空闲存储容量够用,则将各分区,则将各分区中的内容向内存一端移动(紧凑),使另一端形中的内容向内存一端移动(紧凑),使另一端形成一个大的空闲分区,然后再分配。成一个大的空闲分区,然后再分配。例:前例若要为作业例:前例若要为作业1010
11、分配分配120k120k的存储空间,因无足够的存储空间,因无足够 大分区(总空闲容量大分区(总空闲容量290k290k),则先进行合并处理。),则先进行合并处理。030k170k220k270k350k640k作业作业3作业作业5作业作业9作业作业4作业作业7290k合并后空闲分区链为:合并后空闲分区链为:350k290k PL此时,就可为作业此时,就可为作业1010分配分区空间分配分区空间 * * 算法实现D 为每个作业(分区)设置一个重定位寄存器,用以为每个作业(分区)设置一个重定位寄存器,用以 存放对应分区首地址;在进行移动拼接后,只需将存放对应分区首地址;在进行移动拼接后,只需将 重定
12、位寄存器的值修改为新的地址即可;重定位寄存器的值修改为新的地址即可;D 为方便移动(搬家)建立相应的数据结构(静态链表、为方便移动(搬家)建立相应的数据结构(静态链表、作业表等)。作业表等)。 * * 优、缺点 既可实现动态分区分配,又适时解决了碎片问题;既可实现动态分区分配,又适时解决了碎片问题; 但移动内存需增加系统开销。但移动内存需增加系统开销。 可采用离散分配方式解决此问题四、基本分页存储管理方式 1 1)算法思想和算法实现 * * 算法思想D作业(进程)地址空间被分成大小相同的若干页作业(进程)地址空间被分成大小相同的若干页D内存存储空间被分成大小与页相同的若干块内存存储空间被分成大
13、小与页相同的若干块D将连续的页分配并存放到不连续的若干内存块中将连续的页分配并存放到不连续的若干内存块中D建立页表,记录每一页对应的存储块的块号建立页表,记录每一页对应的存储块的块号 例:例:作业作业0页页1页页2页页3页页0块块1块块2块块3块块4块块5块块8块块内存内存 * * 算法实现D 建立辅助数据结构页表:每个作业(进程)一张表每个作业(进程)一张表空闲块链表:记录所有未分配空闲块情况(供分配用)记录所有未分配空闲块情况(供分配用)存储分块表:记录内存每一块的使用情况记录内存每一块的使用情况D 确定分页的页面大小太大:存在页内碎片存在页内碎片太小:页表占用空间太多页表占用空间太多D
14、采用动态重定位装入作业(进程)代码 即在执行时才进行地址转换即在执行时才进行地址转换2 2)地址变换过程和地址变换机构* * 工作原理考察逻辑地址考察逻辑地址20562056,假定一页大小为,假定一页大小为1K1K(1024B1024B)可计算得到物理地址:可计算得到物理地址:逻辑地址逻辑地址/ /页大小页大小 取整取整页号页号 块号块号逻辑地址逻辑地址/ /页大小页大小 取余取余页内位移量页内位移量 块号块号* *页大小页大小+ +页内位移量页内位移量 物理地址物理地址查页表10232047204830710页页1页页2页页3页页0块块8块块01024307220562048205682页页
15、819282002056内存内存物理地址物理地址8192+8=82002056位于第位于第2页页相对偏差(位移)为相对偏差(位移)为8 * * 转换过程分析 逻辑地址机内表示(以逻辑地址机内表示(以1616位为例)位为例)若用块号值代替高位的页号值,则0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 01510 90整体整体16位的值为位的值为8200物理地址物理地址0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 020561511 10 9 81 00 0 0 0 1 0 0 0 0 0 0 0 1 0 0 01510 9高位=2低位=8页号页内位移量0无需计算,只需用
16、块号代替高位的页号,就可立即得无需计算,只需用块号代替高位的页号,就可立即得到对应的物理地址到对应的物理地址页号页号页内位移量页内位移量块号块号 页内位移量页内位移量 * * 地址变换机构页表寄存器页表寄存器页表始址页表始址页表长度页表长度+越界中断越界中断页号页号块号块号02132538页号页号P页内位移量页内位移量W块号块号W逻辑地址逻辑地址物理地址物理地址页表页表拼接拼接 * * 地址变换过程及改进的地址变换机构 逻辑地址逻辑地址截取高位获得页号截取高位获得页号用页号查页表,用页号查页表, 得到块号得到块号拼接地址拼接地址 此过程需增加一次内存访问此过程需增加一次内存访问(查页表)(查页
17、表) 利用快表(具有并行查寻能力的一组高速缓冲寄存器)利用快表(具有并行查寻能力的一组高速缓冲寄存器) 存放页表(或存放常用的部分表项)存放页表(或存放常用的部分表项) 具有快表的地址变换机构如P133P133图4-144-14所示:* * 两级和多级页表(不要求)3 3)内存的分配与回收 * * 分配过程 计算作业(进程)所需的页面数计算作业(进程)所需的页面数查存储分块表,查存储分块表,是否有足够块数的内存供分配是否有足够块数的内存供分配 查空闲块链表,分配查空闲块链表,分配内存块内存块分配页表空间,建立页表分配页表空间,建立页表 修改存储分块表修改存储分块表对应表项数据。对应表项数据。
18、* * 回收过程 根据页表,回收(释放)各内存块根据页表,回收(释放)各内存块 回收页表回收页表 修改存储分块表等表格。修改存储分块表等表格。 若够若够4 4)分页分配不足之处 分割分配并存放,使逻辑上完整的模块物理上不完整分割分配并存放,使逻辑上完整的模块物理上不完整 不利于内存信息(数据)共享和保护。主程序主程序子程序子程序数据数据0页页1页页2页页3页页五、基本分段存储管理方式 1 1)算法思想D 作业(进程)地址空间按用户设计的逻辑结构分成作业(进程)地址空间按用户设计的逻辑结构分成若干自然段(每一段逻辑上是完整的);若干自然段(每一段逻辑上是完整的);D 采用可变分区分配算法为每一段
19、分配分区空间,段采用可变分区分配算法为每一段分配分区空间,段与段之间不一定连续存放;与段之间不一定连续存放;D 建立段表,记录每一段的段长及段在内存的起始地建立段表,记录每一段的段长及段在内存的起始地址(又称基址)。址(又称基址)。例:例:0段段1段段2段段作业作业030k018k025k0段段1段段2段段10k50k75k0内存内存2 2)地址结构和地址变换机构 * * 地址空间与地址结构 二维空间和地址:二维空间和地址:段号段号段内地址段内地址例:例:112k物理地址:物理地址:50k+12k=62k50k+12k=62k * * 地址变换机构 * * 改进的地址变换机构 与分页系统类似,
20、即用一组寄存器存放段表(快表)与分页系统类似,即用一组寄存器存放段表(快表)段表寄存器段表寄存器段表始址段表始址段表长度段表长度+越界中断越界中断段号段号段长段长02118k30k段号段号段内地址段内地址逻辑地址逻辑地址物理地址物理地址段段 表表25k段始址段始址10k50k75k+相加相加3 3)分页与分段存储管理的相同与不同之处 * *共同点:采用离散分配解决采用离散分配解决“碎片碎片”问题问题采用动态重定位及地址变换机构实现地址转换采用动态重定位及地址变换机构实现地址转换 * *不同之处(138138补充)分页分段D 地址空间划分物理(系统)物理(系统)逻辑(用户)逻辑(用户)D 存储空
21、间分配不连续的块不连续的块不连续的分区不连续的分区D 地址空间结构一维一维二维二维D 地址变换块号与页内位块号与页内位段始地址与段内段始地址与段内移量拼接移量拼接相对地址相加相对地址相加D 碎片问题基本解决基本解决仍存在碎片仍存在碎片D 共享(保护)不利于共享不利于共享利于共享(保护)利于共享(保护)六、段页式存储管理方式* *算法思想D 作业地址空间先分段,每段再分页作业地址空间先分段,每段再分页D 内存存储空间按页的大小分块内存存储空间按页的大小分块D 为每段的若干页分配存储块空间,并分块存放为每段的若干页分配存储块空间,并分块存放D 建立段表、页表记录作业段、页与内存块的对应信息建立段表
22、、页表记录作业段、页与内存块的对应信息* *算法实现D 段表存放段号、对应页表始址和页表长度段表存放段号、对应页表始址和页表长度D 逻辑地址采用二维结构逻辑地址采用二维结构D 建立地址变换机构实现地址转换建立地址变换机构实现地址转换 * *地址变换机构段表寄存器段表寄存器段表始址段表始址段表长度段表长度+越界中断越界中断段号段号页表始址页表始址页表页表页号页号页号页号块号块号段号段号页内位移量页内位移量逻辑地址逻辑地址物理地址物理地址段段 表表块号块号页表长度页表长度+页内位移量页内位移量存储分配与管理方式小结D 连续分配:单一连续分配单一连续分配固定分区分配固定分区分配 动态分区分配动态分区
23、分配 可重定位分区分配可重定位分区分配D 离散分配:基本分页分配基本分页分配 基本分段分配基本分段分配 段页式分配段页式分配共同点:作业必须一次性全部装入内存作业必须一次性全部装入内存D 问题:容量超过内存总容量的作业无法运行;容量超过内存总容量的作业无法运行; 多道作业总容量超过内存容量,无法同时多道作业总容量超过内存容量,无法同时装入内存运行。装入内存运行。D 解决:物理扩充存储器(容量);物理扩充存储器(容量); 逻辑扩充内存逻辑扩充内存虚拟存储器。虚拟存储器。七、虚拟存储器的基本概念与实现1 1)局部性原理 在一段时间内,运行的作业程序仅访问(涉及到)在一段时间内,运行的作业程序仅访问
24、(涉及到)一部分作业代码,即不会涉及整个地址空间。一部分作业代码,即不会涉及整个地址空间。 即在一段时间间隔内,仅装入一部分代码即在一段时间间隔内,仅装入一部分代码, ,作业照作业照样能正常运行样能正常运行2 2)虚拟存储器的引入 作业(进程)运行时,仅装入其代码的一部分到内作业(进程)运行时,仅装入其代码的一部分到内存,待需要时再装入其余部分,同时还可将不再运行的存,待需要时再装入其余部分,同时还可将不再运行的部分调出内存。部分调出内存。 变相地扩充了内存容量变相地扩充了内存容量, ,即实现了即实现了虚拟存储器虚拟存储器。3 3)虚存的概念与定义 呈现在用户面前的比实际内存大得多的经逻辑呈现
25、在用户面前的比实际内存大得多的经逻辑扩充的存储器。扩充的存储器。 或: 仅将作业(进程)的一部分调入内存,通过调仅将作业(进程)的一部分调入内存,通过调进、调出操作(交换技术),确保作业正常运行的进、调出操作(交换技术),确保作业正常运行的存储器系统。存储器系统。4 4)虚存的实现D 覆盖与交换技术覆盖与交换技术D 请求分页存储管理请求分页存储管理D 请求分段存储管理请求分段存储管理例:例:主程序主程序A20KB子程序子程序B50KB子程序子程序C30KB子程序子程序F30KB子程序子程序D20KB子程序子程序E40KB总需求容量总需求容量190KB作业常驻区作业常驻区A(20KB)覆盖区覆盖
26、区1(50KB)覆盖区覆盖区2(40KB)只需分配只需分配110KB存储空间存储空间八、请求分页存储管理 1 1)算法思想与实现* * 算法思想算法思想D作业分页,内存分块,页与块的大小相等作业分页,内存分块,页与块的大小相等D先装入部分页到内存先装入部分页到内存D待运行需要时再调入新的页,淘汰旧的页(交换)待运行需要时再调入新的页,淘汰旧的页(交换) * * 算法实现算法实现软、硬件支持: 系统有足够大的外存及内存;增加相关管理软件。系统有足够大的外存及内存;增加相关管理软件。D 扩充页表功能(增加页表表项)扩充页表功能(增加页表表项)D 增加缺页中断和缺页中断处理功能增加缺页中断和缺页中断
27、处理功能扩充后的页表表项如下: * * 地址变换及缺页中断处理地址变换及缺页中断处理地址变换流程:截取逻辑地址页号截取逻辑地址页号页号页号页表长度?页表长度?越界中断越界中断YN用页号检索快表用页号检索快表查到?查到?N查页表(慢表)查页表(慢表)及对应表项及对应表项在内存?在内存?缺页中断缺页中断NY该表项复制到快表该表项复制到快表修改页表表项内容修改页表表项内容用块号与位移量拼接用块号与位移量拼接成物理地址成物理地址Y 缺页中断处理流程:保存保存CPU现场信息现场信息内存有空内存有空闲块?闲块?YN选择一页淘汰(换出)选择一页淘汰(换出)被淘汰被淘汰页修改过?页修改过?YN将该页写回到外存
28、将该页写回到外存根据外存地址读入新的页根据外存地址读入新的页修改对应页表表项内容修改对应页表表项内容返回返回1 1)内存块的分配 所分配的最小内存块数应能保证进程的正常运行所分配的最小内存块数应能保证进程的正常运行。 * * 分配策略(物理块的分配策略)D 固定分配,局部置换固定分配,局部置换D 可变分配,全局置换可变分配,全局置换D 可变分配,局部置换可变分配,局部置换。* * 分配方法(物理块的分配方法) 平均分配平均分配 按比例分配按比例分配 根据优先权分配根据优先权分配分配策略、方法的好坏直接影响到系统的工作效率。分配策略、方法的好坏直接影响到系统的工作效率。2 2)页的调进时机D预调
29、入策略预调入策略D请求调入策略请求调入策略3 3)置换页在外存的位置D 外存文件区外存文件区D 外存对换区外存对换区内存内存外存外存文件区文件区对换区对换区每次置换需查找文件每次置换需查找文件仅为内存块与盘块的仅为内存块与盘块的直接存取操作直接存取操作4 4)页面置换(淘汰)算法 基本原则:被淘汰的页今后或短时间内不会再被调入被淘汰的页今后或短时间内不会再被调入常用算法:D 最佳算法最佳算法D 先进先出(先进先出(FIFOFIFO)算法)算法D 最近最久未使用(最近最久未使用(LRULRU)算法)算法D 最近最少使用(最近最少使用(LFULFU)算法)算法 * * 最佳算法举例假设某作业访问页
30、面引用序列为:假设某作业访问页面引用序列为: 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 10, 1, 7, 0, 1 采用固定分配,局部置换淘汰方式(分配三个内存块)77707012012032432032017010120 30423032120170 17被淘汰被淘汰淘汰淘汰1淘汰淘汰0淘汰淘汰4淘汰淘汰3淘汰淘汰2 * * 先进先出算法举例 77707012012312304304204230120 30043232120170
31、1淘汰淘汰7淘汰淘汰0淘汰淘汰1淘汰淘汰2淘汰淘汰3淘汰淘汰0023淘汰淘汰4023013淘汰淘汰2012淘汰淘汰3712淘汰淘汰0702淘汰淘汰1701淘汰淘汰2(接前行)(接前行)D 最佳算法置换最佳算法置换6 6次次,先进先出算法置换先进先出算法置换1212次次。 最佳算法需知晓页面引用序列,难以实现;最佳算法需知晓页面引用序列,难以实现; 先进先出算法尽管简单、直观,但性能较差。先进先出算法尽管简单、直观,但性能较差。 * * 最近最久未使用算法举例7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1D 最近最久未使用最近最久未使用算法置换算法置换9 9次次。
32、 采用栈结构实现,假定分配采用栈结构实现,假定分配5 5个内存块个内存块页面引用序列为:页面引用序列为:4, 7, 0, 7, 1, 0, 1, 2, 1, 2, 64, 7, 0, 7, 1, 0, 1, 2, 1, 2, 6。4474704704401407410210120707076221117换到栈顶换到栈顶0换到栈顶换到栈顶淘汰淘汰4, 61换换换到栈顶换到栈顶2换换77417421074621071换换2换换栈底栈底请求分段存储管理 1 1)算法思想与实现 * * 算法思想算法思想 在基本分段存储管理算法基础上,增加“缺段”中断及处理功能。 * * 算法实现算法实现 关键是扩充段
33、表功能和缺段中断处理。扩充后的段表表项如下扩充后的段表表项如下:段号段号段长段长段始址段始址存取存取方式方式访问访问字段字段修改修改位位存在位存在位外存外存地址地址 * * 地址变换及缺段中断处理地址变换及缺段中断处理 地址变换流程:段号段号段表长段表长?NY段内地址段内地址段长?段长?N越界中断越界中断分段越界中断分段越界中断Y符合符合存取方式?存取方式?N段存取保护中断段存取保护中断Y段在内存?段在内存?N缺段中断缺段中断Y地址变换处理地址变换处理 缺段中断处理流程:阻塞访问进程阻塞访问进程内存有合内存有合适空闲区?适空闲区?NY分配分区,调入请求段分配分区,调入请求段修改段表及空闲分区链表修改段表及空闲分区链表唤醒对应阻塞进程唤醒对应阻塞进程返回返回空闲区总空闲区总容量够分配?容量够分配?NY进行拼接处理进行拼接处理选择一段或若干选择一段或若干段淘汰,以形成段淘汰,以形成足够大空闲分区足够大空闲分区2 2)段的保护D 越界检查越界检查D 存取控制存取控制D 其他措施其他措施 3 3)段的共享* * 基本共享方法基本共享方法段号段号 段长段长 段始址段始址MP1段表段表段号段号 段长段长 段始址段始址MP2段表段表某共享段某共享段内存内存M:要求:要求:D 共享段之代码为共享段之代码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东理工大学《形体与舞蹈IV》2023-2024学年第二学期期末试卷
- 信阳农林学院《面向对象应用开发》2023-2024学年第二学期期末试卷
- 浙江电力职业技术学院《水工建筑物(上)》2023-2024学年第二学期期末试卷
- 兰州文理学院《模拟电子技术A》2023-2024学年第二学期期末试卷
- 燕山大学《英语4》2023-2024学年第一学期期末试卷
- 宿州航空职业学院《结构检验》2023-2024学年第一学期期末试卷
- 沈阳工业大学工程学院《数据库》2023-2024学年第二学期期末试卷
- 夏令营合作合同协议
- 工程人工承包合同
- 养老院聘用合同书
- 【企业会计信息化存在的问题及对策研究-以A销售公司为例6000字(论文)】
- 幼儿园中班语言《青蛙小弟睡午觉》微课件
- 道路竖曲线任意桩号高程自动计算表
- (新版)学生军训理论知识考试题库(含答案)
- AFC系统介绍教学课件
- 双流中学初一新生入学考试语文试题
- 乙烯的化学性质
- 二年级体育迎面接力跑与游戏教案 通用版
- 无人机航拍技术理论考核试题题库及答案
- 风电基础施工合同
- 升降压斩波电路
评论
0/150
提交评论