《操作系统原理与实践教程(第二版)》第5章:存储管理.ppt

《操作系统原理与实践教程(第二版)》第5章:存储管理.ppt

ID:49472493

大小:1.05 MB

页数:99页

时间:2020-02-05

《操作系统原理与实践教程(第二版)》第5章:存储管理.ppt_第1页
《操作系统原理与实践教程(第二版)》第5章:存储管理.ppt_第2页
《操作系统原理与实践教程(第二版)》第5章:存储管理.ppt_第3页
《操作系统原理与实践教程(第二版)》第5章:存储管理.ppt_第4页
《操作系统原理与实践教程(第二版)》第5章:存储管理.ppt_第5页
资源描述:

《《操作系统原理与实践教程(第二版)》第5章:存储管理.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第5章存储管理5.1存储管理的概念5.2连续内存分配5.3内存不足时的管理5.4分页存储管理5.5分段存储管理5.6段页式存储管理5.7虚拟存储器5.8请求分页存储管理技术5.1存储管理的概念为了解决CPU和存储器之间速度上的不匹配,在现代计算机系统中,存储系统通常采用层次结构,存储层次可粗略分为三级:最高层为CPU寄存器,中间为主存,最底层是辅存。根据具体功能还可以细分为寄存器、高速缓存、主存储器、磁盘缓存、辅存储设备(固定磁盘、可移动存储介质)5层。5.1存储管理的概念操作系统的存储管理负责对存储器空间的分配、回收以及提供存储层次

2、间数据移动的管理机制。例如主存与磁盘缓存、高速缓存与主存间的数据移动等。5.1.1多级存储结构1.寄存器寄存器是中央处理器的组成部份。寄存器访问速度最快,完全能与CPU协调工作,价格昂贵,容量不大。寄存器可用来暂存指令、数据和地址。寄存器的长度一般以字(word)为单位。寄存器可以加速对存储器的访问速度,用途包括:(1)暂存执行算术及逻辑运算的数据;(2)用于寻址,存于寄存器内的地址可用来指向内存的某个位置;(3)用来读写数据到计算机的外围设备。5.1.1多级存储结构2.主存储器主存储器(简称内存或主存)是用于保存当前进程运行时的程序

3、和数据。CPU能直接随机存取内存中的数据和程序,CPU的控制部件从内存中读取数据并将它们装入到寄存器中,或者从寄存器存入到内存。CPU与外围设备交换信息一般也借助于主存储地址空间。内存以字节为基本存储单位,每个存储单元分配一个唯一的地址,称为内存地址。主存储器的访问速度远低于CPU执行指令的速度,为缓和这一矛盾,在计算机系统中引入了寄存器和高速缓存。5.1.1多级存储结构3.高速缓存高速缓存介于中央处理器和主存储器之间的高速小容量存储器,其容量大于寄存器而小于主存储器,访问速度要快于主存储器而低于寄存器。工作原理为:根据程序局部性原理

4、,正在使用的主存储器某一单元邻近的那些单元将被访问的可能性很大。由于高速缓存的速度越高价格也越贵,因此目前的计算机系统中多设置两级或多级高速缓存。两级缓存比一级缓存速度慢,但容量更大,主要用做一级缓存和内存之间数据临时交换的地方。缓存中存放的都是CPU频繁访问的数据,所以缓存越大处理器效率就越高,同时由于缓存的物理结构比内存复杂很多,所以其成本也很高。5.1.1多级存储结构4.磁盘缓存磁盘缓存是操作系统为磁盘输入输出而在普通物理内存中分配的一块内存区域。由于目前磁盘的I/O速度远低于主存的访问速度,因此根据程序局部性原理,将频繁访问的

5、一部分磁盘数据和信息,暂时存放在磁盘缓存中,可减少访问磁盘的次数,提高访问速度。磁盘缓存分为读缓存和写缓存。5.1.2程序的运行过程在多道程序环境下,要使程序运行,必须先为之创建进程。而创建进程的第一件事,便是将程序和数据装入内存。如何将一个用户源程序变为一个可在内存中执行的程序,简单的说,要经过编辑、编译、链接、装入和运行等几个阶段。5.1.2程序的运行过程1.编辑阶段在编辑阶段,用户使用某种编辑软件把程序代码输入到计算机中,并以文件的形式保存到指定的磁盘上,形成用户的源程序文件,即源文件。2.编译阶段计算机只能识别二进制语言,所以

6、源程序文件不能直接在计算机上运行,必须经过编译软件的编译,形成相应的二进制目标代码后才能被计算机识别。通常,用户程序的执行需要经过编译阶段,由初始的文本文件(file1.c)变成CPU可以识别的一系列二进制代码文件(file1.o)。5.1.2程序的运行过程3.链接阶段将编译或汇编后得到的一组目标模块以及它们所需的库函数装配成一个完整的装入模块的过程就是程序的链接阶段。根据链接时间的不同,链接可分为三种:(1)静态链接。在程序运行之前,先将各目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开。(2)装入时动态链接。用户

7、源程序编译后得到的一组目标模块,在装入内存时,采用边装入边链接的链接方式,即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找出相应的外部目标模块,并将它装入内存。(3)运行时动态链接。对某些目标模块的链接,是在程序执行中需要该模块时,才对它进行链接。运行时动态链接是装入时动态链接方式的一种改进,即在执行过程中,当发现一个被调用模块尚未装入内存时,立即由系统去找到该模块并将之装入内存,把它链接到调用模块上。5.1.2程序的运行过程4.装入阶段CPU在运行程序时,首先要把用户程序装入内存。为了保证程序的正确执行,程序在

8、装入内存时要进行重新定位,即将程序和数据捆绑到内存地址,以便CPU能够正确寻址。通常,程序装入内存的方式有以下3种:(1)绝对装入方式。在程序编译时如果就知道进程在内存中的驻留地址,那么就可以生成绝对地址。装入模块可以把

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。