欢迎来到天天文库
浏览记录
ID:51970898
大小:1.75 MB
页数:54页
时间:2020-03-26
《王万森全套配套课件计算机操作系统原理第2版 第6章 存储管理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章存储管理6.1存储管理的基本概念6.2实存储管理技术6.3虚拟存储系统的基本概念6.4分页存储管理6.5请求分段存储管理6.6段页式存储管理6.1存储管理的基本概念6.1.1存储器的层次中央处理器能直接访问的存储器称为内存储器,它包括高速的缓冲存储器和主存储器。中央处理器不能直接访问辅助存储器。从高速缓冲存储器到辅助存储器,容量越来越大,一般每级之间相差几个数量级。而访问数据的速度则越来越慢,价格也越来越便宜。cacheprimarymemorysecondarymemory6.1.2地址重定位(relocation)1.逻辑地址空间用户在
2、编程或编辑源程序时,将其源程序存于程序员建立的符号名字空间(简称名空间)内。编译后一个目标程序所限定的地址范围称为该作业的逻辑地址空间或相对地址。2.物理地址空间所谓物理地址空间(也称存储空间)是指主存中物理单元的集合。这些单元的编号称为物理地址或绝对地址。名空间、逻辑地址空间和物理地址空间由于一个作业装入到与其地址空间不一致的存储空间所引起的,对有关地址部分的调整过程称为地址的重定位。这个调整过程就是把作业地址空间中使用的逻辑地址变换成主存中物理地址的过程。这种地址变换也称为地址映射。3.地址重定位4.重定位类型(1)静态重定位静态重定位是在程
3、序运行之前由装配程序完成的。当操作系统为目标程序分配了一个以B为起始地址的存储空间后,重定位过程就是把每个与地址有关的项都加上B即可。主要缺点如下:①要求给每个作业分配一个连续的存储空间,且在作业的整个执行期间不能再移动,因而也就不能实现重新分配主存。不利于主存空间的充分利用。②用户必须事先确定所需的存储量,若所需的存储量超过可用存储空间时,用户必须考虑覆盖结构。③用户之间难以共享主存中的同一程序副本。(2)动态重定位动态重定位的主要优点如下:①用户作业不要求分配连续的存储空间。②用户作业在执行过程中,可以动态申请存储空间和在主存中移动。③有利于
4、程序段的共享。动态重定位的主要缺点如下:①需要附加的硬件支持。②实现存储管理的软件算法比较复杂。6.1.3存储管理的目的和功能目的:要尽可能地满足用户需求和提高主存储器的使用效率,使主存储器在成本、速度和规模之间获得较好的权衡。功能:存储分配(memoryallocation)地址变换(memorymap)“扩充”主存容量(Memoryextension)存储保护(memoryprotection)6.1.4存储分配方式静态分配要求在一个作业装入时必须分配所需的全部存储空间动态分配在其执行过程中可根据需要申请附加的存储空间。而且一个作业已占用的部
5、分存储空间不再需要时,可以请求归还给系统。6.2实存储管理技术6.2.1单一连续区管理存储器在概念上被分成两部分:一部分供操作系统使用;另一部分为用户空间给用户使用。单一连续区分配方案的优点是:方法简单,易于实现;缺点是:它仅适用于单道程序,因而不能使处理机和主存得到充分利用。6.2.2固定式和可变式分区存储管理1.固定式分区存储管理固定式分区的基本思想是在系统初始化时,把存储空间划分为若干个一样大小或任意大小的空间;每个空间分配给某一个作业使用。由于这些存储空间是在系统启动时划定的,在用户作业装入及运行过程中,其空间的大小和边界是不能改变的。所
6、以,称这种存储器的划分方式为固定式分区,也称为静态分区。2.可变分区存储管理随着作业一个个被调入主存运行,并且分给它们一个相应于作业大小的主存分区使用,直到作业完成后才释放其所占用的主存分区。由于各作业大小和完成的时间是各不相同的,这样经过一段时间后,主存就由原来一个完整的分区而变成了多个分区,这些分区中有些分区被作业占用,有些分区是空闲的。已分配分区表未分配分区表2.可变分区存储管理3.分配算法(1)最佳适应算法(bestfit)(2)最坏适应算法(worstfit)(3)首次适应算法(firstfit)(4)下次适应算法(nextfit)(5
7、)快速适应算法(quickfit)可变式分区分配程序流程回收区与空闲区的合并6.2.3可重定位分区存储管理“内存紧缩(compact)”技术可重定位分区分配算法6.2.4分区的存储保护界限寄存器保护法保护健法在程序状态字中则设置相应的保护键开关字段。对不同的进程赋予不同的开关代码以和被保护的存储块中的保护键匹配。保护键可设置成对读、写同时保护或只对读、写进行单项保护。6.3虚拟存储系统的基本概念6.3.1虚拟存储器(virtualmemory)广义地说,只要编程序时使用的不是实际主存地址,即可认为是使用了虚拟存储器。具体地说,虚拟存储器是系统为了
8、满足用户对存储器容量的巨大需求而虚构的一个非常大的地址空间,从而使用户在编程序时无需担心存储器的不足,似乎有一个无限大的存储器供用户使用
此文档下载收益归作者所有