欢迎来到天天文库
浏览记录
ID:58783273
大小:673.50 KB
页数:46页
时间:2020-10-03
《操作系统课件os04存储管理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、操作系统OperatingSystemsWINDOWSUNIXLINUXOS2VxWorksMacOS笫四章存储器管理笫四章存储器管理4.1存储器的层次结构4.2程序的装入和链接4.3连续分配方式4.4基本分页存储管理方式4.5基本分段存储管理方式4.6虚拟存储器的基本概念4.7请求分页存储管方式4.8页面置换算法4.9请求分段存储管理方式图4-1计算机系统存储层次示意制造成本趋高访问速度趋慢4.1存储器的层次结构物理地址空间把内存分成若干个大小相等的存储单元存储单元占8位,称作字节(byte)每个单元给一个编号这个编号称为内存地址物理地址、绝对地址、实地址物理地
2、址空间:物理地址的集合称为物理地址空间(主存地址空间)1000逻辑地址空间逻辑地址空间生成的目标程序占据一定的地址空间,称为程序的逻辑地址空间(简称逻辑空间)。每个目标程序都是以0为基址顺序进行编址的,在逻辑空间中每条指令的地址和指令中要访问的操作数地址统称为逻辑地址。LoadA50034560100500逻辑地址空间4.2程序的装入和链接4.2.1程序的装入4.2.1程序的装入绝对装入方式可重定位装入方式动态运行时装入方式1.绝对装入方式程序中的逻辑地址与实际内存地址完全相同。只能将目标模块装入内存中事先指定的位置。绝对装入方式只适用于单道程序环境。LoadA5
3、0034560100500逻辑地址空间LoadA50034560100500物理地址空间2.可重定位装入方式根据内存的当前情况,将装入模块装入到内存的适当位置。又称静态重定位:地址变换在装入时一次完成变为:LOAD1,12500可重定位装入方式特点可用于多道程序环境;可将装入模块装入到内存中任何允许的位置不允许程序运行时在内存中移动位置。在运行过程中它在内存中的位置可能经常要改变此时就应采用动态运行时装入的方式LoadA,250036502500逻辑地址空间LoadA,3651000012500物理地址空间1250020000LoadA,2250036522500
4、3.动态运行时装入方式在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址把这种地址转换推迟到程序真正要执行时才进行。装入内存后的所有地址都仍是相对地址。地址变换发生在程序执行过程中!动态重定位4.3连续分配方式单一连续分配固定分区分配动态分区分配伙伴系统动态重定位分区分配4.3.1单一连续分配只能用于单用户、单任务的操作系统中。如:MS-DOS把内存分为系统区和用户区两部分系统区仅提供给OS使用通常是放在内存的低址部分用户区是指除系统区以外的全部内存空间,提供给用户使用。4.3.2固定分区分配多道程序的存储管理固定分区存储管理的基本思想:主存空间
5、被划分成数目固定不变的分区,每个分区只装入一个作业,若多个分区中都装有作业,则它们可以并发执行。1.划分分区的方法分区大小相等。缺点是缺乏灵活性。这种划分方式仍被用于利用一台计算机去控制多个相同对象的场合。分区大小不等。把内存区划分成含有多个较小的分区、适量的中等分区及少量的大分区。可根据程序的大小为之分配适当的分区。2.内存分配通常将分区按大小进行排队,并为之建立一张分区使用表图4-5固定分区使用表20KB4.3.3动态分区分配动态分区分配是根据进程的实际需要,动态地为之分配内存空间。所用的数据结构分区分配算法分区的分配与回收操作。1.分区分配中的数据结构空闲分
6、区表。设置一张空闲分区表,用于记录每个空闲分区的情况。每个空闲分区占一个表目:包括分区序号、分区始址及分区的大小等数据项。空闲分区链。2.分区分配算法首次适应算法(FirstFit)循环首次适应算法(nextfit)最佳适应算法(bestfit)最坏适应算法(worstfit)快速适应算法(quickfit)首次适应算法(FF)要求空闲分区链以地址递增的次序链接。首次适应算法(firstfit)该算法倾向于优先利用内存中低址部分的空闲分区,从而保留了高址部分的大空闲区。为以后到达的大作业分配大的内存空间创造了条件。缺点低址部分不断被划分,会留下许多难以利用的、很小
7、的空闲分区每次查找又都是从低址部分开始,这无疑会增加查找可用空闲分区时的开销。循环首次适应算法(nextfit)该算法是由首次适应算法演变而成的。在分配内存空间时不再是每次都从链首开始查找,是从上次找到的空闲分区的下一个空闲分区开始查找直至找到一个能满足要求的空闲分区从中划出一块与请求大小相等的内存空间分配给作业应设置一起始查寻指针,用于指示下一次起始查寻的空闲分区,并采用循环查找方式循环首次适应算法(nextfit)使内存中的空闲分区分布得更均匀减少了查找空闲分区时的开销会缺乏大的空闲分区。最佳适应算法(bestfit)为了加速寻找,该算法要求将所有的空闲分区按
8、其容量以从
此文档下载收益归作者所有