操作系统内存管理分析课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《操作系统内存管理分析课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 内存 管理 分析 课件
- 资源描述:
-
1、15.3 覆盖与交换技术覆盖与交换技术(内存扩充内存扩充) 问题的提出 物理存储器 物理存储器结构是一维的线性空间,容量有限。 用户程序 用户程序的大小,可能比内存容量小,也可能比内存容量大,有时候要大得多。 解决办法 内存扩充2 实现内存扩充的方法: 采用覆盖技术 采用交换技术 采用虚拟存储技术3 覆盖技术 将程序结构分层 第0层设置为常驻内存区。 第一层起,为该层中的多个模块设置一个共享覆盖区,其容量与该层中最大模块的容量相当。程序执行到哪个模块就将该模块送到它所共享的覆盖区中。5.3.1 覆盖技术覆盖技术4A、B、C、D、E、F总计190K,实际分配110K5 采用交换技术 在系统盘上开
2、辟一个专门的空间作为内存的扩充,这部分磁盘空间称为“交换区”或“对换区”,由内存管理模块进行管理。 交换区的作用是当内存空间不够时,将暂时不用的进程映像调到磁盘交换区,以腾出内存空间,当再度用到被调出的这部分进程映像时再将其调回内存。5.3.2 交换技术交换技术6交换技术7 1虚拟存储器的基本思想 问题 作业在运行时暂时不用的程序和数据,全部驻留于内存中降低了内存利用率。 解决方法 当作业开始运行时,将当前使用的部分先装入内存,其余部分先存放在外存中,等到用到这些信息时,再由系统自动把它们装入到内存中,这就是虚拟存储器的基本思想。 概念:虚拟存储器(虚拟内存) 是操作系统采用虚拟技术,在不改变
3、物理内存实际大小的情况下提供的逻辑上被扩充了的内存。这种物理上不具备而逻辑上具备的内存就是虚拟内存。补充: 虚拟存储技术8 2. 虚拟存储技术的依据虚拟存储技术的依据 局部性理论(8/2原理) 时间局部性: 是指程序即将用到的信息可能就是目前正在使用的信息。 空间局部性: 是指程序即将用到的信息可能与目前正在使用的信息在空间上相邻或者临近。 局部性理论的应用意义 虚拟存储管理:程序执行时往往会遵循局部原理(时间、空间)访问内存,将部分进程存入内存,结合外存实现虚拟存储。9 3. 虚拟存储技术的硬件技术基础虚拟存储技术的硬件技术基础 相当数量的外存 足以存放多个用户程序 一定容量的内存 程序运行
4、过程中,必须有一部分放在内存 地址变换机构 实现逻辑地址到物理地址的变换105.4 页式管理页式管理5.4.1 页式管理的基本原理页式管理的基本原理页式管理的引入 分区存储管理的主要问题是碎片问题。 问题描述在采用分区存储管理的系统中,会形成一些非常小的分区,最终这些非常小的分区不能被系统中的任何用户程序利用而浪费。 问题产生原因 作业要求分配的空间连续,主存有足够的空间但因不连续而不能分配 解决问题的思路 程序适应主存。将程序分开存放分页存储管理技术。 11 分页的思想 页(虚拟页):程序地址空间分成大小相等的页面 块(内存块、页块、页祯、内存页面):把内存分成与页面大小相等的块。 思想:当
5、一个用户程序装入内存时,针对。一每一页分配一个内存块个作业的若干连续的页,可以分配到内存中若干不连续的块中。121. 内存页面分配与回收页式存储管理的数据结构(1)页表:页表包括用户程序空间的页面与内存块的对应关系。页表每个进程至少一张。5.4.2静态页面管理13 (2)请求表:表明各进程与其分页的页面之间的关联。请求表整个系统一张。图 5.16请求表示例14 (3)存储页面表:表示内存的分配情况。存储页面表一个系统一张,可用位示图表示。图 5.17位示图 155.4.2静态页面管理 2.分配算法 利用页表、请求表、位示图进行分配。图5.18页面分配算法流图163.页式地址变换(1)虚地址(线
6、性地址、逻辑地址)(2)分页地址映射机制 虚地址切分:页号与页内位移划分页号和页内地址的依椐:页的大小。 2X =页大小,X即为页号的最低位CPU字长为16位,页长为1K的地址分割17mov dx,3badh页号01234567第0页第1页01023010231页式管理的地址小结:页大小决定页内位移(地址)的位数,所以在地址划分时以页大小作为划分依据页内地址页大小为1K,以字节(B)为单位划分,可划分为1024个单位,进行编址,表示为0-1023,要表示1023需要10位二进制(11 1 1 1 1 1 1 1 1 ) , 1KB=210B 18二进制表示虚地址页号页内位移十六进制表示页号、页
7、内位移19(3)地址变换使用二进制方法求物理地址 将逻辑地址线性分割求出页号P和页内位移W:若逻辑地址以十六进制、八进制的形式给出,将逻辑地址转换成二进制;按页的大小分离出页号P和位移量W(低位部分是位移量,高位部分是页号); 将位移量直接复制到内存地址寄存器的低位部分; 以页号查页表,得到对应块号,将块号转换成二进制数填入地址寄存器的高位部分,从而形成内存地址。20mov dx,3badh页号01234567页号块号0F18233549546A7B0 0 1 1 1 0 1 1 1 0 1 0 1 1 0 1块号OS0123456798BACD0101115P=7HW=3ADH0 0 0 0
8、 0 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1虚地址3BAD,页面大小2K,用二进制方法求物理地址物理地址=5BADH21 使用十进制方法求物理地址 根据逻辑地址求出页号P和页内位移W; 页号P=逻辑地址 % 页大小(%表示整除) 页内位移W=逻辑地址 mod 页大小 根据页号查页表得块号B; 物理地址=块号B页大小+页内位移W 公式说明 物理地址块起始地址块内位移W 块起始地址块长块号 块长=页长 块内位移页内位移 22块号OS0123456798BACD第0块起始地址:0第1块起始地址:块号*页长=1*2K块大小:2K02K4K第2块起始地址:块号*页长=2*2K块起始地
9、址计算mov dx,3badh页号0123456723【例】:有一系统采用页式存储管理,有一作业大小是8KB,页大小为2KB,依次装入内存的第7、9、A、5块,试将虚地址0AFEH,1ADDH转换成内存地址。解:求虚地址0AFEH的物理地址:0000 1010 1111 1110P P1 W010 1111 1110MR0100 1010 1111 11104AFEH求虚地址1ADDH的物理地址:0001 1010 1101 1101P3 W010 1101 1101MR0010 1010 1101 11012ADDH24【例】:有一系统采用页式存储管理,有一作业大小是8KB,页大小为2KB,
10、依次装入内存的第7、9、10、5块,试将虚地址7145,3412转换成内存地址。解:转换虚地址 3412:P3412 2048 1W 3412 mod 2048 1364MR=9*2048+1364=19796转换虚地址 7145:P7145 2048 3W7145 mod 2048 1001MR=5*2048+1001=11241问题:块号若为十六进制的字母表示,MR如何计算?(十六进制转换成十进制)例:考虑一个由8个页面,每页有1024个字节组成的逻辑空间,把它装入到有32个物理块的存储器中,问:(1)逻辑地址至少需要多少二进制位表示? (2)物理地址至少需要多少二进制位表示?分析 :逻辑
11、地址结构由两个部分组成:前一部分表示该地址所在页面的页号P;后一部分表示页内地址(页内位移)W。物理地址中块号的地址位数决定了块的数量。由于页式存储管理内存空间块的大小与页面大小相同,所以物理地址中块内地址与逻辑地址中的页内地址位数相同。解 :因为页面数为8=23,故需要3位二进制数表示。每页有1024个字节,1024=210,于是页内地址需要10位二进制数表示。32个物理块,需要5位二进制数表示(32=25)。(1)页的逻辑地址由页号和页内地址组成,所以需要3+10=13位二进制数表示。(2)页的物理地址由块号和页内地址的拼接,所以需要5+10=15位二进制数表示。26相联存储器和快表 问题
12、提出 在页式存储技术中,每访问一次内存,就要做两次访问内存的工作: 查页表时(页表在内存中); 访问程序时。 为了提高查页表的速度,将当前常用的一部分页表内容存放到高速缓存(相联存储器)中,存放在相联存储器中的页表称之为快表(TLB-translation lookaside buffer)。 查表时首先在快表中查,只有当快表中没有时才访问内存中的页表,从而减少在内存查表的次数,达到提高查找速度的目的。27作业 习题:P134:5.2, 物理地址计算 有一系统采用页式存储管理,某个作业大小是4GB,页大小为4KB,依次装入内存的第6、5、3、2块, (1)画出页表; (2)试将虚地址5000,
13、12000转换成内存地址。285.4.3 动态页式管理(请求页式管理) 复习: 5.3 覆盖与交换技术 实现内存扩充的方法: 采用覆盖技术 采用交换技术 采用虚拟存储技术 常用的虚拟存储技术 请求分页存储管理 请求分段存储管理 请求段页式存储管理29动态页式管理的思想及实现 分页内存管理方式 静态分页管理 动态分页管理 静态分页管理 基本思想:进程开始执行前,将全部页装入内存。 动态分页管理(请求页式管理) 基本思想:进程开始执行前,只需装入即将运行的页面,然后根据需要载入其他页面。30 请求分页管理要解决的问题 不在内存的页什么时候调入内存?(调入策略) 如何知道要访问的页不在内存?不在内存
展开阅读全文