60 likes | 211 Vues
存储器管理. 在计算机系统中,对内存如何处理在很大程度上将影响整个系统的性能,所以,它也是关键资源。存储管理目前仍是人们研究操作系统的中心问题之一,以至操作系统的命名也往往取决于存储管理的策略。 存储管理中的概念 实存管理 虚存组织 虚存管理.
E N D
存储器管理 在计算机系统中,对内存如何处理在很大程度上将影响整个系统的性能,所以,它也是关键资源。存储管理目前仍是人们研究操作系统的中心问题之一,以至操作系统的命名也往往取决于存储管理的策略。 • 存储管理中的概念 • 实存管理 • 虚存组织 • 虚存管理
一、 存储器的层次 三级存储器结构,参看教材99页图4-2。理解高速缓存器是为了提高计算机运算速度、增强处理能力而采用的技术,它的出现缓解了内存的压力及内、外存存取速度不匹配的矛盾。二、 用户程序的主要处理阶段 用户的源程序(用高级语言或汇编语言编写的程序)进入计算机系统,到该程序在计算机上运行,主要经历5个处理阶段。1、 编辑阶段:利用计算机提供的编辑程序,入UNIX中的vi,将用户编好的程序输入到计算机内。生成源程序文件,如:file1.c。2、 编译阶段:把源程序经过翻译或汇编处理,生成目标代码。编译过程即把高级语言翻译成计算机理解的低级语言。目标代码文件为file1.o。3、 连接阶段:将编译后得到的一组目标模块以及它们所需的库函数装配成一个完整的装入模块。4、 装入阶段:将装入模块放入分到的内存区中。这时需要进行重定位,即将装入模块的逻辑地址转变为内存的实际物理地址。 5、 运行阶段:运行可执行的程序file1.exe。三、 存储器管理的相关概念--逻辑地址、物理地址、重定位1、逻辑地址--用户程序经编译后,每个目标模块以0为基地址进行的顺序编址。逻辑地址又称相对地址,相对基地址而言,。2、物理地址--内存中各物理存储单元的地址从统一的基地址进行的顺序编址。物理地址又称绝对地址,它是数据在内存中的实际存储地址。3、重定位--把逻辑地址转变为内存的物理地址的过程。 根据重定位时机的不同,又分为静态重定位(装入内存时重定位)和动态重定位(程序执行时重定位)。
一、 单一连续区分配 最简单的存储分配方法是单一连续分区,即整个主存区域的用户空间均归一个用户作业使用。二、分区管理 由于多道程序设计技术的产生,几个作业得以共享主存储区,因此可以采取分区法分配内存。分区法通常有:1、固定分区 在系统建立时确定每个分区的大小及分区的个数;2、动态分区 在转入作业时确定分区的个数及每个分区的大小;回收分区时,合并相邻空闲分区从而避免分区越来越小;3、可重定位分区 在装入作业时,根据需要及时地将空闲存储区拼接在一起,以消除碎片,满足作业对存储空间的要求; 解决碎片的方法是移动所有的占有区域,以使所有的空闲区域连成一片,这个过程称作紧凑。紧凑的开销很大,因为它不仅要修改被移动进程的地址信息,而且要复制进程空间,所以如不必要,尽量不做紧凑;通常仅在系统接收到进程所发出的申请命令,且每个空闲区域单独均不能满足,但所有空闲区域的和能够满足时才进行一次紧凑。三、 对换 当主存空间不能满足作业要求时,通过对换技术来解决。对换是指系统把内存中暂时不能运行的进程换出到外存上,腾出空间,把具备运行条件的进程从外存换入内存。对换是以时间来换取空间,减少对换的信息量和时间是设计时要考虑的问题 。
一、虚存组织 虚拟存储器(Virtual Memory)是一种存储管理技术,用以完成用小的内存实现在大的虚空间中程序的运行工作。虚拟存储器是由操作系统提供的一个假想的特大存储器。虚拟存储器所具有的基本特征是: (1)虚拟扩充:不是物理上、而是逻辑上扩充了内存容量; (2)部分装入:每个作业不是全部一次性地装入内存,而是只装入一部分; (3)离散分配:不必占用连续的内存空间,而是“见缝插针”; (4)多次对换:所需的全部程序和数据要分成多次调入内存。 二、页式存储组织 页式存储管理的基本原理是将逻辑地址空间分成大小相同的页,将存储地址空间分块,页和块的大小相等,通过页表进行管理。页式系统的逻辑地址分为页号和页内位移量。页表包括页号和块号数据项,它们一一对应。根据逻辑空间的页号,查找页表对应项找到对应的块号,块号乘以块长,加上位移量就形成存储空间的物理地址。每个作业的逻辑地址空间是连续的,而映象到内存空间后就不一定连续了。 此外,页表中还包括状态位(指示该页面是否在内存中)、外存地址、改变位(该页的内容在内存中是否修改过)、引用位(最近是否被引用)等。 页式存储管理的动态地址转换过程是:进程运行时,其页表地址已在系统的动态地址转换机构中的基本地址寄存器中,执行的指令访问逻辑地址(p,d)时,首先根据页号p查页表,由状态位可知,这个页是否已经调入主存。若调入主存,则可直接将虚地址转换为实地址,如果该页未调入主存,则产生缺页中断,以装入所虚的页。利用快表可加速地址转换。参见教材119页图4-19。
三、 段式存储组织 段式存储管理的基本原理是逻辑地址空间分段,一个作业是由若干个具有逻辑意义的段,如主程序、子程序、数据段、栈段等组成的。在分段系统中,允许作业占据主存中许多分离的分区,段内连续,段有段号,但段长可以相同,通过段表进行管理。段式系统的逻辑地址由段号和段内位移量两项组成。段表由若干表目组成,每一表目有段号、段长、在主存中的首地址、存取方式和状态位等项。作业访问虚存时,根据地址空间的段号,查找段表对应段号找到段的首地址,首地址加上位移量就是存储空间的物理地址。 段式系统的动态地址转换过程与页式系统的动态地址转换类似。另外,要注意分页与分段存储管理的区别。 四、段页式存储组织 汲取页式管理和段式管理的长处,可以形成段页式存储管理。在逻辑上,形成作业分段,段内分页,分配、管理地址空间。在物理上,内存分块,分配、管理存储空间。系统为每个作业建立一张段表,为每段建立一张页表。其地址转换过程见教材128页图4-25所示。
虚存管理--置换算法虚存中的置换算法只要指内存中页面、段的选择、换出算法。好的置换算法能适当降低页面更换频率。有4种常用的页面置换算法:(1)先进先出法(FIFO):先进入内存的页先被换出内存。(2)最佳置换法(OPT):选择将来不再被使用,或在最远的将来才被访问的老页换出。(3)最近最少使用置换法(LRU):选择最近最久没有使用过的页面换出。注意:OPT算法考查将要被访问的页面,而LRU算法考查已访问过的页面。从时间上考虑,前者是向前看的,后者是向后看的。(4)最近未使用置换法(NUR)虚存管理--置换算法虚存中的置换算法只要指内存中页面、段的选择、换出算法。好的置换算法能适当降低页面更换频率。有4种常用的页面置换算法:(1)先进先出法(FIFO):先进入内存的页先被换出内存。(2)最佳置换法(OPT):选择将来不再被使用,或在最远的将来才被访问的老页换出。(3)最近最少使用置换法(LRU):选择最近最久没有使用过的页面换出。注意:OPT算法考查将要被访问的页面,而LRU算法考查已访问过的页面。从时间上考虑,前者是向前看的,后者是向后看的。(4)最近未使用置换法(NUR)