1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级
2、第四级,第五级,*,*,操作系统原理第章存储管理段式存储管理,操作系统原理第章存储管理段式存储管理操作系统原理第章存储管理段式存储管理,4.4,基本分段存储管理方式,固定分区,动态分区,分页存储管理,提高内存利用率,知识回忆,分段存储管,理引入原因,满足用户,(,程序员,),在编程和使用上多方面的需要,方便,编程,分段,共享,分段,保护,动态,链接,动态,增长,4.4.1,分段存储管理方式的引入,1,基本分段存储管理的基本思想:,4.4.2,分段系统的基本原理,作业地址空间,一个作业被划分为分若干个段;,一个段拥有一个段名或段号;,一个段标识一个完整的信息单位,段号从,0,开始,依次编号到,
3、n,;,每一段段内从,0,开始连续编址;,作业的地址空间为二维的;,LOAD 1,A|,STORE 1,B|,主程序段,0,0,15K-1,7K-1,子程序段,1,0,8K-1,数据段,2,0,作业地址空间按逻辑分段,物理内存空间按段的实际大小分配,所有逻辑段运行前需要全部装入,分段地址结构:,内存分配思想:,以段为单位,为每个段分配一片连续的内存空间依次存放段的全部信息;,每个段分配的内存空间由其起始地址和段长度确定;,段之间为离散分配,即各段之间地址可以不连续;,段号 段内地址,31 16 15 0,分段存储分配的算法与特点:,动态分区分配:,采用空闲分区表或链表管理可用内存空间;分配策略
4、可采用首次适应、循环首次适应或最佳适应算法。,段内连续,段间离散:,分段式管理以,段,为单位为一个段分配一片连续存储空间;各段之间的内存分配可以是连续的,即段间离散。,缺点:,同样不可避免,碎片,问题。,2,段表:,为了,实现段的逻辑地址到物理地址的转换,必须为每个进程建立一个段表,用于记录各段的内存分配信息。,段号,段长,基址,0,30K,40K,1,20K,80K,2,15K,120K,3,10K,150K,段表示意图,段表的存储和隶属关系:,存储:,段表一般存放在内存中,由段表始址和段表长度唯一确定;,归属:,每个进程拥有一个段表;并在进程,PCB,记录段表的始址和段表长度;,目的:,实
5、现段的地址映射。,段表实现地址映射示意图,3,地址变换,地址变换机构:,段地址变换机构由,段表、段表寄存器、物理地址寄存器,等硬件设施以及相关,软件,组成;,段表寄存器:,存放段表始址和段表长度;,地址变换过程如下图所示:,段表寄存器,段表始址,段表长度,TL,2,100,段号,S,位移量,W,+,越界中断,段号,段长,始址,0,1,2,3,1k,600,500,200,6k,4k,8k,9200,+,8292,主存,物理地址,逻辑地址,段表,段式系统地址变换过程示意图,8k,W=TL,,越界处理;否则,由段表寄存器中的段表始址访问段表,并找到本段的段表项;,由段表项指定的本段页表起始地址访问
6、本段的页表,并根据逻辑地址的页号找到本页所在的存储块;,然后,由块号与页内地址(偏移)构成实际的物理地址;,最后根据物理地址获取实际信息数据。,注意:,在段页式存储系统中,获取一条指令或数据需要访问三次内存:段表、页表和实际数据。,段页式系统中的地址变换机构与过程示意图,逻辑地址,(,注意:是二维的,后两个构成段内偏移量,),S,TL,第一次访问内存,第二次访问内存,第三次访问内存,4.5,虚拟存储器的基本概念,4.5.1,虚拟存储器的引入,1.,常规存储器管理方式的特征,一次性:,作业在运行前必须一次性将程序、数据装入内存(包括运行期间不执行的部分)才能运行;,驻留性:,作业装入内存后,便一
7、直驻留于内存,直到作业运行结束。,缺点:,作业在运行过程中,不运行或暂时不运行的程序(数据)将一直呆在内存中。,2.,局部性原理,局部性原理:,早在,1968,年,,Denning.P,就曾指出:,程序在执行时将呈现局部性原理,即在一较短时间内,程序的执行仅局限于某个部分;相应地,它所访问的存储空间也局限于某个区域。,关于局限性的论证参考书上说明,请自学。,3.,虚拟存储器定义,虚拟存储器:,是指以软件的方法从逻辑上(非物理)上扩充内存的容量。,实现思想:,根据局部性原理,作业在运行前,没有必要将其程序(数据,),调入内存,而是,把当前要执行的部分(或页或段)调入内存便开始执行,;在执行过程中
8、陆续将要执行但又不在内存的部分程序(数据)调入内存;若内存不够时,也可陆续将暂时不运行的程序调出内存,以腾出内存空间。,功能要求:,实现虚拟存储器的核心是存储管理系统必须具备调入和换出功能。,4.5.2,虚拟存储器的实现方法,请求分页系统,实现方法是在分页系统的基础上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统。,1,)需要硬件支持:,请求分页的页表机制:,用于请求分页的数据结构;,缺页中断机构:,产生缺页中断,以请求,OS,将所缺的页调入内存;,地址变换机构:,实现逻辑地址到物理地址的变换(类似分页系统),2,)实现请求分页的软件:,在硬件的支持下,还需实现请求调页功能的软件
9、和实现页面置换功能的软件。,4.5.2,虚拟存储器的实现方法,请求分段系统,请求分段系统是在分段系统的基础上,增加了请求调段和分段置换功能所形成的段式虚拟存储系统。,1,)需要硬件支持:,请求分段的段表机制:,用于请求分段的段表数据结构;,缺段中断机构:,产生缺段中断,以请求,OS,将所缺段调入内存;,地址变换机构:,实现段逻辑地址到物理地址的变换,2,)实现请求分段的软件:,在硬件的支持下,还需实现请求调段功能的软件和实现分段置换功能的软件。,4.5.3,虚拟存储器的特征,多次性:一个作业被多次调入;,对换性:作业在运行期间可换进、换出;,虚拟性:从逻辑上扩充内存。,小结,分段系统的逻辑特征与物理实现;,分段系统的优点和缺点;,段页式系统的基本实现原理及优缺点;,虚拟存储系统的基本概念与实现原理;,谢谢观赏,






