《计算机操作系统》存储器管理-课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《计算机操作系统》存储器管理-课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机操作系统 计算机 操作系统 存储器 管理 课件
- 资源描述:
-
1、计算机操作系统第四章第四章 存储器管理存储器管理本章内容n4.1 存储器的层次结构存储器的层次结构n4.2 程序的装入和链接程序的装入和链接n4.3 连续分配方式连续分配方式n4.4 对换对换n4.5 分页存储管理方式分页存储管理方式n4.6 分段存储管理方式分段存储管理方式4.1 存存储储器器4.1.1 多级存储器结构多级存储器结构4.1.2 主主存存1主存储器主存储器n主存储器主存储器(简称内存或主存简称内存或主存)是计算机系统中一个是计算机系统中一个主要部件,用于主要部件,用于保存进程运行时保存进程运行时的程序和数据,的程序和数据,也称可执行存储器也称可执行存储器n CPU的控制部件只能
2、从的控制部件只能从主存储器主存储器中取得指令和中取得指令和数据,数据能够从主存储器读取并将它们装入到数据,数据能够从主存储器读取并将它们装入到寄存器中,或者相反寄存器中,或者相反n 主存储器的访问速度远低于主存储器的访问速度远低于CPU执行指令的速执行指令的速度,引入寄存器和高速缓存。度,引入寄存器和高速缓存。2寄存器寄存器n寄存器访问速度最快,完全能与寄存器访问速度最快,完全能与CPU协调工作,协调工作,但价格却十分昂贵,因此容量不可能做得很大但价格却十分昂贵,因此容量不可能做得很大n寄存器用于加速存储器的访问速度,如用寄存器寄存器用于加速存储器的访问速度,如用寄存器存放操作数,或用作地址寄
3、存器加快地址转换速存放操作数,或用作地址寄存器加快地址转换速度等度等4.1.3 高速缓1高速缓存高速缓存n高速缓存是现代计算机结构中的一个重要部件,其容量大于或远大于寄存器,而比内存约小两到三个数量级左右。1高速缓存(续)高速缓存(续)n根据程序执行的根据程序执行的局部性原理局部性原理,将主存中一些经常,将主存中一些经常访问的信息存放在高速缓存中,减少访问主存储访问的信息存放在高速缓存中,减少访问主存储器的次数,可大幅度提高程序执行速度。器的次数,可大幅度提高程序执行速度。n进程的程序和数据是存放在主存储器中,每当使进程的程序和数据是存放在主存储器中,每当使用时,被临时复制到一个速度较快的高速
4、缓存中。用时,被临时复制到一个速度较快的高速缓存中。n当当CPU访问一组特定信息时,首先检查它是否在访问一组特定信息时,首先检查它是否在高速缓存中,如果已存在,可直接从中取出使用,高速缓存中,如果已存在,可直接从中取出使用,以避免访问主存,否则,再从主存中读出信息。以避免访问主存,否则,再从主存中读出信息。2磁盘缓存磁盘缓存n由于目前由于目前磁盘的磁盘的I/O 速度远低于速度远低于对主存的访问速对主存的访问速度,因此将频繁使用的一部分磁盘数据和信息,度,因此将频繁使用的一部分磁盘数据和信息,暂时存放在磁盘缓存中,可减少访问磁盘的次数。暂时存放在磁盘缓存中,可减少访问磁盘的次数。n磁盘缓存本身并
5、不是一种磁盘缓存本身并不是一种实际存在的存储介质实际存在的存储介质,它依托于固定磁盘,提供对主存储器存储空间的它依托于固定磁盘,提供对主存储器存储空间的扩充,即利用主存中的存储空间,来暂存从磁盘扩充,即利用主存中的存储空间,来暂存从磁盘中读出中读出(或写入或写入)的信息。的信息。n主存也可以看做是辅存的高速缓存。主存也可以看做是辅存的高速缓存。n一个文件的数据可能出现在一个文件的数据可能出现在存储器层次的不同存储器层次的不同级别级别中,例如,一个文件数据通常被存储在辅中,例如,一个文件数据通常被存储在辅存中存中(如硬盘如硬盘),当其需要运行或被访问时,就必,当其需要运行或被访问时,就必须调入主
6、存,也可以暂时存放在主存的磁盘高须调入主存,也可以暂时存放在主存的磁盘高速缓存中。速缓存中。n大容量的辅存常常使用磁盘,磁盘数据经常备大容量的辅存常常使用磁盘,磁盘数据经常备份到磁带或可移动磁盘组上,以防止硬盘故障份到磁带或可移动磁盘组上,以防止硬盘故障时丢失数据。时丢失数据。2磁盘缓存(续)磁盘缓存(续)本章内容n4.1 存储器的层次结构存储器的层次结构n4.2 程序的装入和链接程序的装入和链接n4.3 连续分配方式连续分配方式n4.4 对换对换n4.5 分页存储管理方式分页存储管理方式n4.6 分段存储管理方式分段存储管理方式 n如何将一个用户源程序变成一个可在内如何将一个用户源程序变成一
7、个可在内存中执行的程序,通常要经过存中执行的程序,通常要经过3步骤:步骤:图4-2 对用户程序的处理步骤:由编译程序(由编译程序(Compiler)将用户源代码编译)将用户源代码编译成若个目标模块成若个目标模块 图4-2 对用户程序的处理步骤链接链接:由链接程序(由链接程序(Linker)将编译后形成的一组目)将编译后形成的一组目标模块,以及它们所需要的库函数链接在一起,标模块,以及它们所需要的库函数链接在一起,形成一个完整的装入模块形成一个完整的装入模块 图4-2 对用户程序的处理步骤:由装入程序(由装入程序(Loader)将装入模块装入内存。)将装入模块装入内存。4.2.1 n在将一个装入
8、模块装入内存时,可以有在将一个装入模块装入内存时,可以有绝对装入绝对装入方式、可重定位装入方式、动态运行时装入方式方式、可重定位装入方式、动态运行时装入方式。1绝对装入方式绝对装入方式 如果知道程序将驻留在内存的什么位置,那么,如果知道程序将驻留在内存的什么位置,那么,将产生绝对地址的目标代码。将产生绝对地址的目标代码。按照装入模块中的地址,将程序按照装入模块中的地址,将程序和数据装入内存。装入模块被装入内存后,由和数据装入内存。装入模块被装入内存后,由于程序中的于程序中的n为了便于程序的修改为了便于程序的修改,对编译的程序采用符号对编译的程序采用符号地址,然后在编译或汇编时,再将这些符号地地
9、址,然后在编译或汇编时,再将这些符号地址转换为绝对地址。址转换为绝对地址。n只适合单道程序环境。只适合单道程序环境。1绝对装入方式绝对装入方式 2可重定位装入方式可重定位装入方式 n目标模块的起始地址通常是从目标模块的起始地址通常是从0开始的,程序中开始的,程序中的其它地址也都是相对于起始地址计算的。的其它地址也都是相对于起始地址计算的。n由装入程序将装入模块装入内存后,装入模块中由装入程序将装入模块装入内存后,装入模块中程序所访问的所有逻辑地址与实际装入内存的物程序所访问的所有逻辑地址与实际装入内存的物理地址不同理地址不同,必须进行变换。,必须进行变换。示例:示例:作业装入内存时的情况作业装
10、入内存时的情况2可重定位装入方式可重定位装入方式(续)(续)n把在装入时对目标程序中把在装入时对目标程序中指令指令和和数据数据的变换过程的变换过程称为重定位。因为地址变换是在装入时一次完成称为重定位。因为地址变换是在装入时一次完成的,以后不再改变,故称为的,以后不再改变,故称为静态重定位。静态重定位。n采用静态重定位方法将程序装入内存采用静态重定位方法将程序装入内存,称为称为可重定可重定位装入方式。位装入方式。3动动态态运运n装装入入程程序序将将目目标标模模块块装装入入内内存存后,后,并并不不立立即即把把装装入入模模块块中中的的相相对对地地址址转转换换为为绝绝对对地地址,址,而而是是把把这这种
11、种地地址址转转换换推推迟迟到到程程序序执执行行时时进进行,行,在在硬硬件件地地址址变变换换机机构构的的支支持持下,下,随随着着对对每每条条指指令令或或数数据据的的访访问问自自动动进进行行地地址址变变换,换,故故称称为为动动态态重重定定位位。4.2.2源程序经过编译后,可得到一组目标模块,再利源程序经过编译后,可得到一组目标模块,再利用链接程序将这组目标模块链接形成装入模块。用链接程序将这组目标模块链接形成装入模块。,可把链接分成如下三种:,可把链接分成如下三种:n在程序运行之前,先将各目标模块及它们所需的在程序运行之前,先将各目标模块及它们所需的库函数,链接成一个完整的装配模块(又称执行库函数
12、,链接成一个完整的装配模块(又称执行模块),以后不再拆开。我们把这种事先进行链模块),以后不再拆开。我们把这种事先进行链接的方式称为静态链接方式。接的方式称为静态链接方式。B的起始地址变为的起始地址变为L,C的起始地址变为的起始地址变为L+M图图 4-4 程序链接示意图程序链接示意图(1)对相对地址进行修改)对相对地址进行修改 由编译程序产生的所有目标模块中,使用的都是相由编译程序产生的所有目标模块中,使用的都是相对地址,其起始地址都为对地址,其起始地址都为0,在链接成一个装入模块,在链接成一个装入模块时修改模块的相对地址。即把原时修改模块的相对地址。即把原B中的所有相对地址中的所有相对地址都
13、加上都加上L,把原,把原C中所有相对地址都加上中所有相对地址都加上LM。(2)变换外部调用符号)变换外部调用符号 将每个模块中所用的外部调用符号也都变换为相对将每个模块中所用的外部调用符号也都变换为相对地址。例如将地址。例如将call B 变换为变换为JSR“L”2、装入时动态链接、装入时动态链接n是指将用户源程序编译后所得到的一组目标模是指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的链接块,在装入内存时,采用边装入边链接的链接方式。方式。n装入一个目标模块时,若发生一个外部模块调装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找出相应的外部目用事件
14、,将引起装入程序去找出相应的外部目标模块,并将它装入内存。标模块,并将它装入内存。2、装入时动态链接、装入时动态链接n装入时动态链接方式有以下优点:装入时动态链接方式有以下优点:(1)便于修改和更新)便于修改和更新 u采用动态链接方式,由于各目标模块是分开存放的,采用动态链接方式,由于各目标模块是分开存放的,所以要修改或更新各目标模块,是件非常容易的事。所以要修改或更新各目标模块,是件非常容易的事。(2)便于实现对目标模块的共享)便于实现对目标模块的共享 u在采用静态链接方式时,每个应用模块都必须含有其在采用静态链接方式时,每个应用模块都必须含有其目标模块的拷贝,无法实现对目标模块的共享。目标
15、模块的拷贝,无法实现对目标模块的共享。u但采用装入时动态链接方式时,但采用装入时动态链接方式时,OS则很容易将一个目则很容易将一个目标模块链接到几个应用模块上,实现多个应用程序对标模块链接到几个应用模块上,实现多个应用程序对该模块的共享。该模块的共享。n这是指对某些目标模块的链接,是在程序执行中这是指对某些目标模块的链接,是在程序执行中需要该目标模块时,由需要该目标模块时,由OS去找到该模块并将之装去找到该模块并将之装入内存并把它链接到调用者模块上。入内存并把它链接到调用者模块上。:凡在执行过程中未被用到的目标模块,都凡在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这样
16、不不会被调入内存和被链接到装入模块上,这样不仅可加快程序的装入过程,而且可节省大量的内仅可加快程序的装入过程,而且可节省大量的内存空间。存空间。3、运行时动态链接、运行时动态链接本章内容n4.1 存储器的层次结构存储器的层次结构n4.2 程序的装入和链接程序的装入和链接n4.3 连续分配方式连续分配方式n4.4 对换对换n4.5 分页存储管理方式分页存储管理方式n4.6 分段存储管理方式分段存储管理方式 4.3 连续分配方式连续分配方式 n连续分配方式,是指为一个用户程序分配连续分配方式,是指为一个用户程序分配一个连续的内存空间。一个连续的内存空间。n连续分配方式有四种:连续分配方式有四种:单
展开阅读全文