第6 7章 存储管理课件.ppt
《第6 7章 存储管理课件.ppt》由会员分享,可在线阅读,更多相关《第6 7章 存储管理课件.ppt(73页珍藏版)》请在三一办公上搜索。
1、2023年1月17日星期二12时8分17秒,计算机操作系统,操作系统原理 Principles of Operating System,胡志刚中南大学信息科学与工程学院Central South UniversityCollege of Information Science and Engineering,2023年1月17日星期二12时8分17秒,计算机操作系统,目 录,REFERANCE第1章 操作系统引论第2章 进程的描述与控制第3章 进程的通信与同步第4章 调度与死锁第5章 存储器管理,2023年1月17日星期二12时8分17秒,计算机操作系统,目 录,第6章 虚拟存储器第7章 设备
2、管理第8章 文件系统第9章 磁盘存储器管理第10章 操作系统接口,2023年1月17日星期二12时8分17秒,计算机操作系统,第6章 存储器管理,6.1 存储管理功能 6.2 分区存储管理方式6.3 覆盖与交换技术6.4 分页存储管理方式6.5 分段存储管理方式6.6 段页式存储管理方式 实验二 主存空间的分配和回收,2023年1月17日星期二12时8分17秒,计算机操作系统,6.1 存储管理功能,1、存储管理的主要任务为多道程序的运行提供良好的环境和存储基础;方便用户使用存储器,提高存储器和CPU的利用率;从逻辑上来扩充主存储器2、存储管理功能主存空间分配和管理地址转换和重定位存储保护和共享
3、存储扩充,2023年1月17日星期二12时8分17秒,计算机操作系统,一、程序的装入和链接,用户编制的源程序成为可以在内存运行的程序通常要经历三个步骤:编译、链接和装入。,源程序,Compiler,系统源语句库,私有源语句库,目标模块,Linker,系统目标语句库,私有源语句库,装入模块,Loader,重定位,2023年1月17日星期二12时8分17秒,计算机操作系统,重定位的2种方式,1、程序的装入,补充:重定位的概念:相对地址:用户程序中使用的地址;绝对地址:系统为主存单元分配的地址;相对地址空间:绝对地址空间:例:0 LOAD AX,6;将6号单元内容入AX 2 ADD AX,8;AX与
4、8号单元内容相加 4 SRORE AX,10;AX内容入10号单元 6 A 8 B 10 A+B重定位:,修改程序中与地址相关的内容-将相对地址变为绝对地址的过程称为程序重定位。,2023年1月17日星期二12时8分17秒,计算机操作系统,1、静态重定位思想:程序入主存之前由编译/链接程序完成重定位,入主存可立即执行。例优缺点:,根据重定位的时机不同有2种方式,2、动态重定位思想:程序入主存之前不进行重定位,入主存执行到与地址相关项时,再进行重定位。例优缺点:,装入的3种方式,2023年1月17日星期二12时8分17秒,计算机操作系统,静/动态重定位示例,0 LOAD AX,6 2 ADD A
5、X,8 4 SRORE AX,10 6 A 8 B 10 A+B,1000 LOAD AX,10061002 ADD AX,10081004 SRORE AX,10101006 A1008 B1010 A+B,静态入1000,1000 LOAD AX,61002 ADD AX,81004 SRORE AX,101006 A1008 B1010 A+B,动 态重定位R 1000,执行:绝对地址=R+相对地址,2023年1月17日星期二12时8分17秒,计算机操作系统,装入模块装入内存的三种方式:,1、绝对装入方式(Absolute Loading Mode)思想:事先已经知道用户程序入主存后的位
6、置,故编译程序在编译时即可将相对地址改为绝对地址。装入程序按照装入模块中的地址,将程序和数据装入内存。,2、可重定位装入方式(Relocatable Loading Mode)思想:多道环境下,编译程序不能预知用户程序入主存后的位置,故编译后的目标模块的起始地址一般设为从0开始。可重定位装入程序根据内存使用情况,将装入模块重定位后装入内存。,3、动态运行时装入方式(Dynamic Run_time Loading)思想:装入程序按照装入模块中的地址,将程序和数据装入内存,执行时重定位。,程序的链接,2023年1月17日星期二12时8分17秒,计算机操作系统,链接程序的功能:将编译后得到的一组目
7、标模块以及它们所需要的库函数,装配成一个完整的装入模块。有三种链接方法:,2、程序的链接,一、静态链接(Static Linking)工作:1、修改相对地址;2、将外部调用符号,变换为相对地址;例,二、装入时动态链接(Load-Time Dynamic Linking)工作:边装入,边链接;,三、运行时动态链接(Run-Time Dynamic Linking)工作:程序执行时再链接;,2023年1月17日星期二12时8分17秒,计算机操作系统,程序的链接示例(P136 图5-4),模块ACALL B;Return;,模块BCALL C;Return;,模块CReturn;,0,0,0,L-1
8、,M-1,N-1,目标模块,链接,模块AJSR“L”Return;,模块BJSR“L+M”Return;,模块CReturn;,装入模块,0,L,L+M,L+M+N-1,2023年1月17日星期二12时8分17秒,计算机操作系统,6.2 分区存储管理方式,区分:实存管理/虚存管理6.2.1单一连续分配(单用户、单任务的OS)内存分为:系统区,用户区;存储保护:一般采用界限地址寄存器。,系统区1,用户区,上限地址寄存器,系统区2,下限地址寄存器,固定分区分配,2023年1月17日星期二12时8分17秒,计算机操作系统,思想:将内存地址空间划分为若干个固定大小的区域,每个分区装入一道作业运行。,6
9、.2.2固定分区分配,动态分区分配,一、分区划分 1、大小相等;2、大小不等;,二、数据结构 例 分区说明表:分区号,大小,起始地址,状态;,三、分配/回收 例,四、优缺点:“内零头”(Internal Fragmentation),OVER,2023年1月17日星期二12时8分17秒,计算机操作系统,固定分区示例,分区号 大小(KB)始址(K)状态 1 15 30 已/未 2 30 45 已/未 3 50 75 已/未 4 100 125 已/未,作业序列:A(10),B(50),C(25),B,D(30).,OS,1/A,2/C,3/B,4/,30K,45K,75K,125K,225K,0
10、K,2023年1月17日星期二12时8分17秒,计算机操作系统,6.2.3 动态分区分配,思想:主存预先不划分分区,作业入主存执行时再根据作业大小划分等额分区分配。,一、数据结构(例)1、空闲分区:空闲分区表/空闲分区控制块;空闲分区表:序号,大小,起始地址,状态;2、已分分区:已分分区表/已分分区控制块;,二、分区分配4算法 1、首次适应(First Fit);2、循环首次适应(Next Fit);3、最佳适应(Best Fit):4、最坏适应(Worst Fit);,分配/回收,2023年1月17日星期二12时8分17秒,计算机操作系统,1、分区分配按照分区分配算法,选择一个合适的未分分区
11、分配,并修改空闲/已分分区表。(例)“外零头”:系统中存在但无法使用的分区。克服外零头:设置不再分割的剩余区最小值Size,三、分区的分配/回收,2、分区回收说明:回收分区应与空闲分区合并。共有四种情况(P143图5-10)(例),动态重定位分区分配,2023年1月17日星期二12时8分17秒,计算机操作系统,动态分区分配示例(首次),进程序列:,A(10),B(50),C(25),B,D(48),序号 大小(KB)始址(K)状态 1 610 30 未 2 空表目 3 空表目 4 空表目.,OS,0,30,640,A(10),600 40,B(50),40,90,550 90,C(25),11
12、5,525 115,50 40 525 115,未,D(48),2 88 525 115,ALLOCATION OVER,C,552 88,空表目,OVER,2023年1月17日星期二12时8分17秒,计算机操作系统,6.2.4动态重定位分区分配,一、紧凑 移动内存中作业,将分散的多个可用分区合并成一个大的分区,这种方法称为紧凑。要求:采用动态重定位技术。二、动态重定位分区分配思想:当作业需进入主存时,若主存每一个可用分区都不能满足要求,而可用分区总和又可满足要求时,首先完成内存的“紧凑”,然后调入。书中算法流程,IBM-PC微机中的存储管理方式,2023年1月17日星期二12时8分17秒,计
13、算机操作系统,6.3 覆盖与交换技术,6.3.1 覆盖技术基本思想:将进程当前不运行的指令和数据只在需要时装入到该进程不需再使用的指令和数据所占用的内存空间中。引入目的:使在较小的可用内存空间上运行较大的程序成为可能,该技术常与分区存储管理技术配合使用。优点:缺点:,2023年1月17日星期二12时8分17秒,计算机操作系统,6.3.2 交换(Swapping)技术,引入目的:解决由于内存不足而无法同时调入多个作业的问题。,1、多道程序环境下的对换实现:通过中级调度。分类:进程对换:以整个进程为单位;页/段对换:虚存管理技术;,2、对换空间管理实现:将外存分为文件区和对换区,并设置数据结构记录
14、外存空间的使用情况,用于分配/回收。,2023年1月17日星期二12时8分17秒,计算机操作系统,6.4 分页存储管理方式,基本思想:(例)1、内存物理地址空间按2n等分成页框/架,并从0连续编号:0,1,2,.。2、作业的逻辑地址空间按页框大小等分成页,并从0连续编号:0,1,2,.。3、作业逻辑地址表示:v=(P,d)4、作业连续的页,可以分配不连续的页框;5、系统设置页表PMT(Page Mapping Table)保存作业各页入内存后的情况;主要有:页号、页框号6、设置一个页表地址寄存器,保存当前执行进程页表的起始地址和页表的长度。,地址变换,2023年1月17日星期二12时8分17秒
15、,计算机操作系统,分页存储管理方式示例,.,页框号,0,1,2,3,4,5,6,7,8,9,10,11,12,0123,0 21 32 63 8,页号 页框号,作业A,A0,A1,A2,A3,012,作业B,0 41 7 2 12,页号 页框号,B0,B1,B2,OVER,2023年1月17日星期二12时8分17秒,计算机操作系统,6.4.2地址变换,一、基本地址变换(直接地址映像)思想:借助PMT表、页表寄存器完成作业的逻辑地址(虚地址)到内存物理地址的变换。例问题:从虚地址转换为物理地址,然后再完成地址访问,共访问几次主存?效率为多少?,具有快表的地址变换,2023年1月17日星期二12时
16、8分17秒,计算机操作系统,分页基本地址变换示例,页框号,0,1,3,4,5,6,7,8,9,10,11,12,A0,A1,A2,A3,2,0 21 32 63 8,页号 页框号,作业A:V=(2,d),页表寄存器,B L,L,(6,d),偏移d,OVER,2023年1月17日星期二12时8分17秒,计算机操作系统,二、具有快表的地址变换(相关地址映像),思想:增设若干具有并行查询能力的特殊高速缓冲寄存器(联想寄存器/快表),保存当前执行进程的部分/全部页表表目。例如:IBM:变换后备存储器TLB(Translation Look-aside Buffer);NT:变换查找缓冲区;地址变换:先
17、查快表:找到:得出物理地址;未找到:查页表。例问题:由于联想寄存器较贵,系统配置数目有限,如Inter 80486有32个,如何提高从快表中找到的概率?,程序的局部性特征,有效访问时间示例,2023年1月17日星期二12时8分17秒,计算机操作系统,具有快表的地址变换示例,P b,页号 页框号,V=(P,d),页表寄存器,B L,L,(b,d),P b,快表,.,OVER,2023年1月17日星期二12时8分17秒,计算机操作系统,程序的局部性特征,遵循结构化设计的程序具有如下两个特征:时间局部性:刚被访问的主存单元,不久会再次被访问。空间局部性:刚被访问的主存单元,其临近单元不久会被访问。例
18、:For i=1 To 100 Do A(i)=0;,2023年1月17日星期二12时8分17秒,计算机操作系统,有效访问时间示例(P153),设:联想寄存器的访问时间为20ns,内存访问时间为100ns。不使用联想寄存器的访问时间为:t=100*2 若从联想寄存器找到的概率为80%,则有效访问时间为:t=20%*(20+100*2)+80%(20+100)=140ns,两级和多级页表,2023年1月17日星期二12时8分17秒,计算机操作系统,6.4.3两级和多级页表,现代大多数计算机系统都支持非常大的逻辑地址空间。如Windows NT是32位的OS,它为每一个进程提供的逻辑地址空间为23
19、2,即4000MB。对一个有32位逻辑地址空间的分页系统,若页面大小为4KB(212B),则每一个进程的页表项可达1兆个。设每一个表目占4个字节,则每个进程页表需4MB连续内存。为解决对内存高要求的问题,有两种思路:1、页表采用离散分配方式;2、部分页表表目入内存,其余仍在外存。,两级页表,2023年1月17日星期二12时8分17秒,计算机操作系统,两级页表(其余自学),思想:1、页表再按页框大小分页,0页、1页.编号;2、为页表再建立一张页表(外层页表),每个页表项记录页表页面的物理块号;3、设置外层页表寄存器,存放外层页表的起址;4、逻辑地址表示:V=(P1,P2,d)。例:对于32位,页
20、面大小为4KB(212)的系统,则共有220个表目。设每个表目占4字节,则:每页存放表目数为210个,共需210个外层页表。逻辑地址如下:,P1,P2,d,0,11,12,21,22,31,页内偏移212,外层页内地址210,外层页号210,见F5-20,OVER,2023年1月17日星期二12时8分17秒,计算机操作系统,6.5 分段存储管理,6.5.1分段存储管理方式的引入段:一组逻辑信息的集合。如:主程序段、子程序段、数据段、堆栈段等。目的:1、方便编程;2、分段共享;3、分段保护;4、动态连接;5、动态增长。,分段的基本原理,2023年1月17日星期二12时8分17秒,计算机操作系统,
21、6.5.2分段的基本原理,1、作业的逻辑地址空间分段,每个段有自己的段名,并从0连续编号:0,1,2,.。2、装入程序将分段装入时,为每一个分段分配一段号;3、作业逻辑地址表示:v=(S,w)4、以段为单位分配主存,每一分段分配连续的分区;5、系统设置段保存作业各段入内存后的情况;主要有:段号、段长、主存起址6、设置一个段表地址寄存器,保存当前执行进程段表的起始地址和长度。(F5-22,F5-23例)地址映像同分页系统,分页和分段的区别,2023年1月17日星期二12时8分17秒,计算机操作系统,一、分页分段的共享 可共享的代码应该是可重入的(Reentrant),可重入代码又称纯代码(Pur
22、e Code)。为保证共享代码是纯代码,设计时可将作业分成两部分:纯段、杂段。分段共享方便,分页共享较困难。,6.5.3共享与保护,二、分页分段的保护 分页与分段都有较完善的保护机制。分页系统,通过页表地址寄存器中的页表长度;分段系统,通过段表地址寄存器中的段表长度及段表中的段长项来实现存储保护。,2023年1月17日星期二12时8分17秒,计算机操作系统,1、页是信息的物理单位,为实现离散存储,提高内存利用率而引入;段是信息的逻辑单位,为满足用户要求而引入。,分页和分段的3个主要区别,2、页的大小固定且由系统确定;段长不定,取决于用户程序,并在编译时划分。,3、分页的作业地址空间是一维的;分
23、段的作业地址空间是二维的。,共享与保护,2023年1月17日星期二12时8分17秒,计算机操作系统,6.6段页式存储管理方式,基本思想:(例)1、内存物理地址空间等分成页框,并从0连续编号;2、作业的逻辑地址分段;3、作业各段按页框大小等分成页,并从0连续编号;4、作业逻辑地址表示:V=(S,P,d)5、作业各段连续的页,可以分配不连续的页框;6、系统为每个作业设置一个段表,每个分段再设置一个页表,分别保存作业各段及每段各页入内存后的情况;段表:段号、该段页表起址、该段页表长度 页表:页号、页框号7、设置一个段表地址寄存器,保存当前执行进程段表的起始地址和段表的长度。,2023年1月17日星期
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6 7章 存储管理课件 存储 管理 课件
链接地址:https://www.31ppt.com/p-2137938.html