第4章-内存管理分析ppt课件.ppt

第4章-内存管理分析ppt课件.ppt

ID:58700963

大小:524.00 KB

页数:111页

时间:2020-10-04

第4章-内存管理分析ppt课件.ppt_第1页
第4章-内存管理分析ppt课件.ppt_第2页
第4章-内存管理分析ppt课件.ppt_第3页
第4章-内存管理分析ppt课件.ppt_第4页
第4章-内存管理分析ppt课件.ppt_第5页
资源描述:

《第4章-内存管理分析ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章内存管理(MemoryManagement)4.1概述4.2程序的连接与装入4.3实存储器管理4.4虚拟存储管理4.5小结一、存储器的层次结构4.1概述存储系统的设计目标可归纳成3个问题:容量,速度,成本容量:需求无止境速度:能匹配处理器的速度成本:成本和其他部件相比应在合适范围之内存储器的层次结构容量、速度和成本之间的矛盾:三个目标不可能同时达到最优,要作权衡存取速度越快,每一个位(Bit)的价格越高追求大容量,就要降低存取速度追求高速度,就要降低容量存储器的层次结构解决方案:采用层次化的存储体系结构当沿着层次向下时每位的价格下降容

2、量增大速度变慢Cache内存磁盘寄存器策略:较小、较贵的存储器由较大、较便宜的慢速存储器作为后援虚拟存储器降低较大、较便宜的慢速存储器的访问频率高速缓存存储器的层次结构Cache内存磁盘寄存器寄存器(Register):在CPU内部,用来暂存数据、地址以及指令信息。在计算机的存储系统中它具有最快的访问速度。速度比主存快得多造价高,容量一般都很小内存:速度尽量快到与CPU取指速度相匹配,大到能装下当前运行的程序与数据,否则CPU执行速度就会受到内存速度和容量的影响而得不到充分发挥高速缓存(cache):处于CPU和物理内存之间,访问速度快于内

3、存,但低于寄存器二、内存管理的目的4.1概述有效利用内存空间帕金森(parkinson)定律:内存有多大,程序就有多大考虑管理的开销:时间,空间应用程序不必考虑内存的大小三、内存管理的功能4.1概述记录内存的使用情况(是否空闲)进程所占内存空间的分配与回收当内存不足时,采取相应措施内存空间的共享与保护4.2程序的连接与装入一、程序连接的功能多个目标文件及库文件连接成1个完整的可执行文件。定位目标文件可能存在的一些外部符号浮动地址的重定位4.2程序的连接与装入二、程序连接的时机静态连接:静态的,只连接1次,多次运行装入时连接:装入后是静态的实

4、际运行时连接:调用时动态连接4.1程序的连接与装入装入方式:(1)完全静态装入(2)静态重定位装入(3)动态重定位装入三、程序的装入方式程序能否直接在外存中执行?不行!每个程序在运行前,必须装入内存。不一定一次全部装入。程序的装入方式1.完全静态装入程序装入时不作任何修改。即装入内存的每个字节与其可执行文件完全相同。例如,DOS操作系统下的.com文件。程序的装入方式2.静态重定位装入程序装入时进行一次地址重定位,运行时不变。重定位:程序中的相对地址(从0开始)绝对地址程序的装入方式逻辑地址(相对地址)用户的程序经过汇编或编译连接后形成可执

5、行代码,代码通常采用相对地址的形式,其首地址为0,指令中的地址都采用相对于首地址的偏移量机器是不能用逻辑地址在内存中读取信息的。物理地址(绝对地址)内存中存储单元的实际地址静态重定位装入MOVAX,[500H]......00fffh模块AMOVBX,[600H]......01fffh模块BMOVAX,[500H]......02fffh...MOVBX,[1600H]MOVAX,[10500H]......12fffh...MOVBX,[11600H]10000h连接装入程序的装入方式3.动态重定位装入真正执行到一条指令要访问某个内存地

6、址时,才进行地址重定位。好处:程序可以在内存中移动。如何实现动态重定位?一般设置1个重定位寄存器,存放当前进程在内存的起始地址绝对地址=相对地址+重定位寄存器的值动态重定位装入1000123456MOVAX,[200]0100200300...MOVAX,[200]123456逻辑地址空间110012001300物理地址空间200地址+1000重定位寄存器...............4.3实存储器管理程序的大小不能超过可用内存空间的大小。一、连续分配为每个进程分配连续的内存空间。1.单一连续区分配内存中只存在1个用户程序。整个用户区为该程

7、序独占。一般将内存划分为2个区:系统区:存放OS程序和数据用户区:存放用户程序和数据只能用于单用户、单任务OS。连续分配2.固定分区将内存的用户区预先划分为若干区域(分区)分区个数和每个分区的大小是固定的每个分区存放1个进程管理所需的数据结构:1个分区使用表(内存分配表),记录分区状态。固定分区存在的问题:(1)超过最大分区的程序无法装入;(2)存在内部碎片(Internalfragmentation):由于程序长度小于分区,使得分区内部有空间浪费。区号分区大小起始地址 状态18k32kUsed216k40kFree322k56kFree4

8、34k78kUsedOS进程A(6KB)进程B(28KB)032k40k56k78k分区使用表内部碎片连续分配3.可变分区(VariablePartition)或称动态分区。开始

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

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

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