欢迎来到天天文库
浏览记录
ID:40246364
大小:1.43 MB
页数:108页
时间:2019-07-29
《操作系统教程何樱 第3章存储器管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、操作系统教程主编何樱连卫民中国水利水电出版社第3章 存储器管理3.1存储器管理概述3.2单用户连续存储管理方式3.3固定分区存储管理方式3.4可变分区存储管理方式3.5分页式存储管理方式3.6分段式存储管理方式3.7段页式存储管理方式3.8虚拟存储管理方式3.1存储器管理概述存储管理的主要任务是尽可能方便用户和提高主存储器的使用效率,使主存储器在成本、速度和规模之间获得较好的权衡。3.1.1存储器管理的主要功能1.主存空间的分配和回收2.地址转换3.主存空间的共享与保护4.主存空间的扩充3.1.2存储器的层次目前,计算机均采用分层
2、结构的存储子系统,以便在容量、速度和价格等因素中获得较好的性价比。图中,上面的速度快,下面的容量大。寄存器、高速缓存、主存和磁盘缓存属于OS存储管理范围,掉电后数据丢失;固定磁盘和可移动存储介质属于设备管理范围,数据可长期保存;磁盘缓存本身并不是一种实际存在的存储介质,它依托于固定磁盘,提供对主存空间的扩充。寄存器高速缓存主存储器磁盘缓存固定磁盘可移动存储介质存储管理设备管理寄存器访问速度最快且最昂贵,它容量小,以字(word)为单位。一个计算机系统可能包括几十个至上百个寄存器,用于提高存储访问速度。比如,用寄存存放操作数,或用地
3、址寄存器加快地址转换速度。高速缓存的容量稍大,速度快于主存,利用它存放主存中马上要访问的指令,可大大提高执行速度。主存的速度为1µs,高速缓存为0.1µs。要执行的程序必须先装入主存,根据局部性原理,只要将程序的一部分装入主存就可以执行,其余部分放在磁盘缓存。高速缓存(cache)高速缓存是现代计算机结构中的一个重要部件。★有些cache由硬件实现如,指令cache,用于暂存下一条欲执行的指令,纯硬件cache不需要os控制。★有些cache由程序员、编译系统和os实现如,快表。在采用cache的系统中,要注意解决数据的一致性问题
4、。因为这时数据可能出现在不同的层次上。在多处理机的环境中,情况会更复杂。3.1.3地址转换源程序经过编译后得到的目标程序存在于它所限定的地址范围内,这个范围称为地址空间。它总是从0开始编址,是一个相对于实际起始地址的相对地址,也称为逻辑地址。当将其装入内存后得到的地址才是其真正的内存存储地址,这个地址称为物理地址或绝对地址。把程序和数据的逻辑地址转换为物理地址的过程称为地址转换或重定位。地址转换有两种方式,一种方式是在作业装入时由作业装入程序实现地址转换,称为静态地址转换;另一种方式是在程序执行时实现地址转换,称为动态地址转换。1
5、.静态重定位静态重定位是在程序执行之前,由作业装入程序将程序装入内存,同时实现地址转换。一旦确定下来的地址就不再改变。LOADA,1250036510000110001250015000LOADA,25003655000010002500图3-2作业装入主存时的情况作业主存特点:静态重定位程序在内存中不能移动,而且必须连续存放。优点:不需要增加硬件地址变换装置,实现简单。缺点:① 程序占用连续的存储空间。如果没有足够大的连续空间,作业只能等待。② 不能实现虚拟存储技术。因为程序只能一次完全装入内存。③ 无法实现程序的共享。不能寻址
6、存储区,每个程序的寻址范围只在自己的存储区范围内。2.动态重定位动态重定位是在程序执行过程中,随着每条指令和数据的访问自动地连续地进行转换,这种重定位的实现需要硬件的帮助,一般是靠硬件地址变换机构实现的。特点:动态重定位程序在内存中可不连续存放,并可在内存中移动。优点:① 可以对主存不连续分配,灵活、方便,存储效率高。② 可以实现虚拟存储技术。③ 可以实现程序的共享。缺点:① 需要增加硬件(界限寄存器、页表寄存器)。② 实现存储管理的软件算法比较复杂。3.1.4存储管理方式全部装入部分装入连续分配单用户连续存储管理方式分区分配固定
7、分区存储管理方式可变分区存储管理方式分页式存储管理方式分段式存储管理方式段页式存储管理方式非连续分配请求分页式虚拟存储管理方式请求分段式虚拟存储管理方式图3-3存储管理方式层次图3.2单用户连续存储管理方式3.2.1基本原理单用户连续存储管理方式是一种最简单的存储管理方式,在这种管理方式下,在主存中仅驻留一道程序,整个用户区为一个用户所独占。当用户作业空间大于用户区时,该作业不能装入。这种分配方式仅能用于单用户、单任务的操作系统中,不能用于多用户系统和单用户多任务系统中。3.2.2主存空间的分配与回收1.主存空间的分配主存空间分为
8、两个区:系统区和用户区。(1)系统区供操作系统使用,操作系统的常驻内存部分存放在这里。比如,DOS的command.com文件(内部命令解释程序)。(2)用户区存放用户作业。只能存放一道作业,并且这个程序不能大于内存容量。2.主存空间的回收程序执行
此文档下载收益归作者所有