存储管理(第3讲)

上传人:kms****20 文档编号:56960403 上传时间:2018-10-17 格式:PPT 页数:35 大小:1.44MB
返回 下载 相关 举报
存储管理(第3讲)_第1页
第1页 / 共35页
存储管理(第3讲)_第2页
第2页 / 共35页
存储管理(第3讲)_第3页
第3页 / 共35页
存储管理(第3讲)_第4页
第4页 / 共35页
存储管理(第3讲)_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《存储管理(第3讲)》由会员分享,可在线阅读,更多相关《存储管理(第3讲)(35页珍藏版)》请在金锄头文库上搜索。

1、Linux的操作系统教程,Operating System Course based on Linux,存储管理,主存储器一直计算机系统宝贵而紧俏的资源,主存的容量和是否能有效地、合理地使用主存,将直接影响到操作系统的性能。因此存储管理主要是研究对主存的管理,同时也涉及到主存和辅存交换信息的管理。,1: 存储管理的功能及几个概念,3.1 存储器管理,2: 分区存储管理方式,3: 页式存储管理方式,5: 虚拟存储器原理,4: 段式存储管理方式,6: Linux中的存储器管理,3.1.1:存储管理的功能及几个概念,存储管理的功能逻辑地址与物理地址静态重定位动态重定位,存储管理的功能,存储分配:主要

2、解决多道程序共享主存,如何进行主存分配与回收,如何提高主存的分配与回收速度的问题。以提高存储器的利用率和加快任务的执行地址变换:实现程序逻辑地址到物理地址的变换。存储保护:防止用户程序的错误破坏系统程序,以及防止各程序之间的相互干扰和破坏问题。存储扩充:利用存储管理软件为用户提供一个比实际内存大得多的存储空间,即所谓的虚拟存储技术。,逻辑地址与物理地址,逻辑地址:在用户作业的程序中,指令和数据的地址是相对于起始地址为零的地址,这个相对于某个基准量(通常以零作为基准量)编址时所使用的地址,称为逻辑地址,也称为相对地址(虚地址)。物理地址:指存储控制部件能够识别的主存单元编号(即存储器字节单元地址

3、),也就是主存单元的实际地址。物理地址也称为绝对地址(实际地址)。,静态重定位,地址重定位:CPU执行用户程序时,所要访问的指令和数据地址必须是实际的物理地址。这样必须把逻辑地址转换为绝对地址。这种把程序相对地址空间转换为存储空间的绝对地址的工作叫做地址重定位。 静态重定位:在装入作业时,由装入程序把用户程序中的指令地址和数据地址全部转换成存储空间的绝对地址。地址转换工作是在程序执行之前完成的。,静态重定位示例,动态重定位,概念:动态重定位是指在程序装入内存时,并不修改程序中的逻辑地址项,而是照原样装入,只是在执行到含有逻辑地址的指令时,才根据其中的相对地址以及装入起始位置的绝对地址而获得其绝

4、对地址,然后依此绝对地址去访问内存单元。也就是说,动态重定位的时机不是在程序执行之前,而是在每次访问内存单元之前才进行地址变换。,动态重定位示例,3.1.2: 分区存储管理方式(连续分配方式),单一连续分区固定式分区可变分区,Unit 标题,单一连续分区,这是最简单的一种存储管理方式,但只能用于单用户、单任务的操作系统中。采用这种存储管理方式时,可把内存分为系统区和用户区两部分,系统区仅提供给OS使用,通常是放在内存的低址部分;用户区是指除系统区以外的全部内存空间, 提供给用户使用。,固定式分区,基本原理:在程序未装入运行之前,即将用户程序区划分为若干分区。一旦划分好,在系统运行期间不再划分。

5、因而又称为静态分区。内存中分区的大小可划分为相同或不同,但是,一般应将内存的用户程序区域划分为大小不同的分区,这样做的目的是能够适应欲处理的作业的不同规模。,固定式分区示例,可变式分区,基本原理:在作业的处理过程中建立的分区,且分区大小可随作业或进程对内存的要求而改变。,可变式分区示例,3.1.3: 页式存储管理方式(非连续分配),基本原理 地址变换,Unit 标题,页式方式基本原理,基本原理:在分页存储管理方式中,将主存分成地址连续的、大小相等的、位置固定的许多区域,每个区域称为一块。与此相对应,作业的逻辑地址空间划分为连续的大小相等的片断,称之为页。页的大小与块的大小完全相同。一个作业若有

6、n个页,那么就为它分配n个块,每页装入一块,页式存储管理内存分配示例,页式存储管理中的地址变换,作业的逻辑地址 :一维地址,可以解释为页号P和页内偏移W两部分。 页表:指出逻辑地址中页号与主存中块号的对应关系。一般包括页号与块号。 地址变换:通过页表实现动态重定位。,页式存储管理地址变换示例,3.1.4: 段式存储管理方式(非连续分配),基本原理 地址变换,Unit 标题,段式方式基本原理,用户在实际问题的处理中,往往出现模块化程序,例如一个程序往往有一个主程序段、若干子程序段、若干数据段和工作区段所组成,它们基本上是以段为单位出现,每个段具有完整的逻辑意义。为了与程序的这种逻辑结构相适应,提

7、出了将程序逻辑地址空间按模块分段组织管理的思想,即分段存储管理。 段的概念:具有完整的逻辑意义的程序的单位。 基本原理:在分段存储管理中,内存分配的单位是段。每段分配一个连续的内存区域,而各段之间可以分配不连续的内存区域。 在分段存储管理中,每个作业的地址空间都按照作业本身的内在逻辑,划分成若干段,即每个段是一组逻辑上完整的程序或数据。,段式方式的地址变换,段表:每个作业一张,基本内容包括段号、段长和段的内存起始地址。 地址变换:利用段表实现动态重定位。,段式存储管理地址变换示例,3.1.5虚拟存储器原理,问题:实际物理内存小于作业大小时,是否可以装入作业的一部分,从而运行改作业? 解决方法:

8、虚拟存储器程序执行的局部性原理:在几乎所有的程序的执行中,在一段时间内,处理器总是集中地访问程序的某一部分而不是随机地对程序所有部分具有平均访问的概率。(时间和空间)虚拟存储器的概念:以透明的方式给用户提供一个比实际内存大的多的作业地址空间。它不是任何实际的物理存储器,而是一个非常大的存储器的逻辑模型。,虚拟存储技术的实现思想,虚拟存储技术的实现思想:根据程序执行的局部性原理,在作业信息不全部装入内存的情况下,作业是可以运行的。例如对于一个4页大小的作业,当前只有3个空闲内存块,运行改作业的可行的办法就是将作业的3页装入内存的3个空闲块,先运行这3页,而将剩余的页暂时存放在外存上,待需要使用在

9、第4页上的信息时,再选中在内存中的一页交换出内存,从而让出一个内存块以便装入第4页。作业的页面在内存与外存上的交换这一过程对用户是透明的,它是由操作系统自动完成的,这也相当于利用外存的空间扩充了内存空间。这就是虚拟存储技术的实现思想。,页式虚拟存储管理,基本原理 淘汰算法,页式虚拟存储基本原理,基本思想:作业信息的副本存放在外存上,当作业被调度运行时,至少要将作业的第一页内容装入内存,在执行的过程当中,访问到不在内存的页时,再把它们调入内存。 页表:,缺页调度机制:缺页中断,淘汰算法,最佳(OPT)算法 :选择“在将来再也不被访问,或者是在最远的将来才被访问”的页进行淘汰。 先进先出(FIFO

10、)算法 :选择在内存中驻留时间最长的那一页(常驻的除外)进行淘汰。 最近很久未用(LRU)算法 :选择最近一段时间内最长时间未被使用的页进行淘汰。 最不经常使用(LFU)算法 :选择被访问次数最少的页进行淘汰。,段式虚拟存储管理,基本原理 段的动态连接,Unit 标题,基本原理,基本思想:为每个用户提供一个多段式的虚拟存储器,即作业都存放在外存中,当调入运行时,首先把该作业当前需要的若干段调入主存,执行中访问到不在内存的段时,再随时把它们装入内存。 段表:扩充后的段表一般包括段号、段长、状态位、内存地址、移动位、引用位、改变位、存取方式、外存地址等。 调不在内存的段的调入机制:缺段中断,段号,3.1.6 Linux中的存储管理,特点:采取的是分页存储管理方式,它采用的是“按需调页”的虚拟存储管理算法。,下一页,Linux中的内存分配与释放,使用Buddy最先适应算法来有效的分配与释放内存块。,返回本节首页,存储管理回顾,存储管理的功能 逻辑地址、物理地址、地址重定位的概念 页式存储管理方式 段式存储管理方式 虚拟存储器的原理,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号