您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 北方工业大学 计算机操作系统 第10讲--存储管理
1第五章存储管理5.1存储管理的功能5.2分区存储管理5.3覆盖与交换技术5.4页式存储管理5.5段式与段页式管理25.3覆盖与交换技术5.3.1覆盖技术5.3.2交换技术3背景介绍引入的原因在多道环境下需要扩充内存的方法,以解决在较小的存储空间中运行较大程序的矛盾。应用的环境覆盖技术主要用在早期的操作系统中交换技术广泛用于现代操作系统中交换技术的发展导致了虚存技术的出现45.3.1覆盖技术把程序划分为若干个功能上相对独立的程序段,按照其自身的逻辑结构将那些不会同时执行的程序段共享同一块内存区域。程序段先保存在磁盘上,当有关程序段的前一部分执行结束,把后续程序段调入内存,覆盖前面的程序段(内存“扩大”了)。覆盖:一个作业的若干程序段,或几个作业的某些部分共享某一个存储空间。一般要求作业各模块之间有明确的调用结构,程序员要向系统指明覆盖结构,然后由由操作系统完成自动覆盖。5A8KE4KF10KC10KB8KD12K作业X的调用结构作业X的常驻区A(8K)覆盖区0(10K)覆盖区1(12K)BCDEF例图A6覆盖技术缺点对用户不透明,增加了用户负担。例子目前这一技术用于小型系统中的系统程序的内存管理上MS-DOS的启动过程中,多次使用覆盖技术75.3.2交换技术引入的原因多道程序环境中同时执行多个进程,内存中存在执行/就绪/等待的进程应把等待进程换出内存以节约存储空间交换先将内存某部分的程序或数据写入外存交换区,再从外存交换区中调入指定的程序或数据到内存中,并让其执行的一种内存扩充技术。交换进程换出进程换入进程8比较覆盖与交换技术共同点进程的程序和数据主要放在外存当前需要执行的部分放在内存内外存之间进行信息交换。不同点是否要求用户给出程序段之间的逻辑覆盖结构交换技术不需要覆盖技术需要是否发生在同一作业/进程之内交换技术发生在作业/进程之间覆盖技术发生在同一作业/进程之内95.4页式管理5.4.1页式管理的基本原理5.4.2静态页式管理5.4.3动态页式管理5.4.4请求页式管理中的置换算法5.4.5页式管理的优缺点105.4.1页式管理的基本原理分区存储管理的缺点作业/进程大小受分区大小或内存可用空间的限制作业/进程对应于不同的分区分区内各作业/进程连续存放存在碎片问题,内存利用率低不断的分配与回收分区空闲区的大部分已分配出去,余下碎小的空闲11划分逻辑空间各进程的逻辑空间被划分成若干个长度相等的页(page)逻辑空间的划分是由系统自动完成的,对用户是透明的每页长度和内存外存之间数据传输速度以及内存大小有关(一般1-4K)12逻辑地址表达0111231页号P页内位移量W编号0~1048575相对地址0~4095进程的逻辑地址由页号(高位部分)和页内地址(低位部分)所组成一般情况下一页的大小为2的整数次幂。13划分内存空间内存按页的大小划分为页面(物理块)这些物理块为系统中的任一进程所共享(操作系统区除外)用户进程在内存的每个页面内地址连续用户进程在内存的每个页面之间不再连续逻辑上相邻的页,物理上不一定相邻14管理页表:系统为每个进程建立一个页表,页表给出逻辑页号和具体内存物理块的对应关系。页表放在内存,属于进程的上下文信息空块管理——位示图15...01234560123456逻辑空间页面物理块页号页表内存物理块1603100110017…………空块管理——位示图12每页32bit1101017管理内存的分配与回收计算一个作业所需要的总块数N查位示图,看看是否还有N个空闲块如果有足够的空闲块,则页表长度设为N;申请页表区,把页表始地址和长度填入PCB依次分配N个空闲块,将页号和物理块号和填入页表修改位示图18页式管理实现原理1.将实际内存(物理)划分成位置固定、大小相同的“块”(即页面)2.将逻辑空间也分成同样大小的页(虚页面)。页式系统的逻辑地址分为页号和页内位移量3.建立页表(PMT):包括页号和页内地址。页表中还包括特征位(指示该页面是否在内存中)、外存地址、修改位(该页的内容在内存中是否修改过)等4.地址变换:根据逻辑空间的页号,查找页表对应项找到对应的物理页号,页号乘以页长,加上位移量就是物理地址。每个作业的逻辑地址是连续的,重定位到内存空间后就不一定连续了。5.请求调入和预调入:以此实现内外存的统一管理。内存只存放经常被执行或即将被执行的页。195.4.2静态页式管理在进程运行前把该进程的程序段和数据段全部装入到各个页面中静态页面管理的数据结构页表:基本页表包括:页号和页面号。每个进程至少一个页表请求表:进程需要的页面数、页表始地址、页表长度和分配状态。存储页面表:反映页面的使用情况。见后面的图示。20页号页面号116进程号请求页面数页表始址12010242341044318107842123进程请求表进程的页表页表长度203418状态已分配已分配已分配未分配000001100011000110001000000000011001110011110位示图21分配页表,将页表始址,长度送请求表,置状态为已分配请求n个页面空闲页面表中是否有N个空闲页面?搜索空闲页面表,分配N个页面,将页面号填入页表返回无法分配页面分配算法22地址变换给定页面长度和逻辑地址例如:页长=1K,逻辑地址=2500分解得到页号和页内相对地址页号=2,位移量=4522*1024+452=2500查找页表,由页号得到对应的内存页面号例如页号2对应页面号8组合页面号与页内相对地址,得物理地址8*1024+452=864423作业课后习题5.8,5.9
本文标题:北方工业大学 计算机操作系统 第10讲--存储管理
链接地址:https://www.777doc.com/doc-3324848 .html