版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第5章 内存管理,本章知识点: 5.1 概述 5.2 存储管理的基本技术 5.3 分页存储管理 5.4 分段存储管理 5.5 段页式存储管理 5.6 虚拟内存的置换算法 5.7 系统举例(略),2,5.1 概述,在计算机系统中,内存管理在很大程度上影响着这个系统的性能,这使得存储管理成为人们研究操作系统的中心问题之一。虽然随着硬件技术和生产水平的迅速发展,内存的成本急速下降,但是,内存容量仍是计算机资源中最关键且最紧张的资源。因此,对内存的有效管理仍是现代操作系统中十分重要的问题。,3,5.1.1 基本概念,1.存储器的层次,3级存储器结构,4,5.1.1 基本概念,2.存储管理 在单道程
2、序系统中,存储管理就是分配和回收内存区。 在多道程序系统中,要求存储管理具有内存空间管理、地址转换、内存扩充、内存保护和共享等功能。,5,5.1.2 虚拟存储器,虚拟存储器是具有请求调入和交换功能、能从逻辑上对内存容量进行扩充、给用户提供了一个比真实的内存空间大得多的地址空间,在作业运行前可以只将一部分装入内存便可运行的、以逻辑方式存在的存储器。虚拟存储器的核心,实质上是让程序的访问地址和内存的可用地址相脱离。虚拟存储器最显著的特性是虚拟性,在此基础上它还有离散性、多次性和交换性等基本特征。,6,5.1.3 重定位,把地址空间中使用的逻辑地址转换为内存空间中的物理地址的地址转换叫做重定位,也称
3、为地址映射或地址映像。根据地址转换的时间及采用技术手段的不同,把重定位分为静态重定位和动态重定位两种。,7,5.1.3 重定位,1. 静态重定位 静态重定位是由专门设计的重定位装配程序来完成的,是在目标程序装入到内存区时由装配程序来完成地址转换。 优点:无需增加地址转换机构 缺点 : 不能实现重新分配内存 用户必须事先确定所需的存储量 每个用户进程需各自使用一个独立的副本。,8,5.1.3 重定位,2. 动态重定位 动态重定位是在目标程序执行过程中,在CPU访问内存之前,由硬件地址映射机构来完成将要访问的指令或数据的逻辑地址向内存的物理地址的转换。 优点:内存的使用更加灵活有效;几个作业共享一
4、程序段的单个副本比较容易;无需用户干预,由系统来负责全部的存储管理。 缺点 :需附加硬件支持;实现存储器管理的软件比较复杂。,9,5.2 存储管理的基本技术,最基本的4种存储管理技术是分区法、可重定位分区法、覆盖技术、交换技术 。,10,5.2.1 分区法,分区管理是满足多道程序设计的一种最简单的存储管理方法。其基本原理是给每一个内存中的进程划分一块适当大小的存储块,以连续存储各进程的程序和数据,使各进程能并发进行。,11,5.2.1 分区法,1. 固定分区法 固定分区法就是把内存固定划分为若干个不等的区域,划分的原则由系统决定。在整个执行过程中保持分区长度和分区个数不变。 固定分区法管理方式
5、虽然简单,但内存利用率不高。,12,5.2.1 分区法,2. 动态分区法 动态分区分配是根据进程的实际需要,动态地为它分配连续的内存空间,各个分区是在相应作业装入内存时建立的,其大小恰好等于作业的大小。 为了实现分区分配,系统中设置了相应的数据结构来记录内存的使用情况,常用的数据结构形式有空闲分区表和空闲分区链,13,5.2.2 可重定位分区法,使用动态分区法会出现“碎片”问题,解决碎片问题的方法,是允许存储块的大小可动态变化,采用动态重定位技术可以较好地解决这个问题。 动态重定位分区分配算法,与动态分区分配算法基本上相同;差别仅在于:在这种分配算法中,增加了“紧凑”功能,通常是在找不到足够大
6、的空闲分区来满足用户需求时,进行紧凑处理。,14,5.2.2 可重定位分区法,动态重定位的实现过程,15,5.2.3 覆盖技术,覆盖是在程序运行过程中,把同一存储区在不同时刻分配给不同的程序段或数据段来共享的一种存储分配技术。 使用覆盖技术时的缺点是程序员必须小心地设计程序及其数据结构,使得要覆盖的段块具有相对独立性,不存在直接联系或相互交叉访问。,16,5.2.4 交换技术,交换是指将一个进程从内存拷贝到磁盘上,以腾出空间给其他进程使用。需要时,再将该进程调入内存。交换进程由换出和换进两个过程组成,换出是把内存中的数据和程序换到外存的交换区,而换进则是把外存交换区中的数据和程序换到内存的分区
7、中。 在交换系统中,交换所占用的时间相当多。,17,5.3 分页存储管理,分页管理也是解决碎片问题的一种有效办法,它允许程序的存储空间是不连续的,用户程序的地址空间被划分为若干个固定大小的区域。,18,5.3.1 基本概念,页面和物理块 在分页存储管理中,将一个进程的逻辑地址空间划分成若干个大小相等的部分,每一部分称为页面或页,并且每页都有一个编号。同样,将内存空间也划分成与页面大小相同的若干个存储块,即为物理块或页框。页面和物理块的大小由硬件即机器的地址结构所决定的。分页系统中的逻辑地址由页号P和页内位移d组成。,19,5.3.1 基本概念,2. 页表 每个进程都有自己的页面映象表,简称页表
8、,页表中包含每个帧的基址及相应的页号。页表的作用是实现从页号到物理块号的地址映射。 页表的表项中常设置一存取控制字段,用于对该存储块中的内容进行保护。如果要利用分页系统去实现虚拟存储器,还需要增加另外的数据项。,20,5.3.1 基本概念,3. 分页系统中的地址转换 地址转换机构就是将逻辑地址中的页号转换为内存中的物理块号。地址转换任务是借助于页表来完成的,所以人们有时也把页表称为地址变换表或地址映像表。,21,5.3.1 基本概念,(1)基本的地址转换,22,5.3.1 基本概念,(2)快表的地址转换,23,5.3.2 纯分页系统,纯分页系统的地址转换过程如下:,24,5.3.3 请求式分页
9、系统,请求式分页系统是目前常用的一种实现虚拟存储器的方式。其基本思想是,作业在运行之前,只把当前需要的一部分页面装入内存,当需要其他页面时,才自动选择一些页交换到辅存,同时调入所需的页到内存中。在请求式分页系统中,其地址转换类似于纯分页系统的地址转换,如果访问的页已在内存中,则与纯分页系统的地址转换过程类似;如果发生缺页,通常的作法是由硬件发出中断信号,再由操作系统的相应软件负责调入其所缺的页面。,25,5.3.4 硬件支持及缺页处理,为了实现请求式分页,系统必须有一定的硬件支持,这包括页表、快表硬件设施,除此之外,还需要依赖内存管理单元来完成地址转换的任务,并且当出现缺页时,在硬件方面,还须
10、增加缺页中断响应机构。,26,5.3.4 硬件支持及缺页处理,1. 页表 分页系统中的从逻辑地址到物理地址的转换是通过页表来实现的。页表是数组,每一表目对应进程中的一个虚页,页表表目通常为32位,它不仅包含该页在内存的基地址,还包含有页面、内存块号、改变位、状态位、引用位和保护权限等信息。,27,5.3.4 硬件支持及缺页处理,2. 快表 快表是为了加快地址转换速度而使用的一个联想高速缓存,使用快表进行地址转换的速度比页表要快很多倍。快表由硬件实现,每个表目对应一个物理页框,包含如下信息:页号、物理块号、数据快表、指令快表和保护权限。,28,5.3.4 硬件支持及缺页处理,3. 内存管理单元
11、内存管理单元MMU主要是用来完成地址转换,它具有如下功能:将逻辑地址分为页号和页内位移,在页表中先找到与该页对应的物理块号,再将其与页内位移一起组成物理地址;管理硬件的页表地址寄存器;当页表中的状态位为“0”,或页面访问越界,或出现保护性错误时,内存管理单元会出现页面失效异常,并将控制权交给操作系统内核的相应程序处理;设置页表中相应的引用位、改变位、状态位和保护权限等。,29,5.3.4 硬件支持及缺页处理,4. 缺页中断机构 缺页中断是一种特殊 的中断,它与一般中 断的区别为: 在指令执行期间产生 和处理中断信号; 一条指令在执行期间 可能产生多次缺页中断。 右图为页面中断处理算 法流程图。
12、,30,5.3.5 页的共享和保护,分页存储管理技术使每个作业分别存储在内存的不连续的存储块中,这种灵活性允许两个和多个作业共享程序库中的例程或公共数据段的同一副本,共享的方法是使这些相关进程的逻辑空间中的页指向相同的内存块。 并非所有页面都可共享,故实现信息共享的前提是提供附加的保护措施,对共享信息加以保护。,31,5.4 分段存储管理,分段方法是将程序分成若干逻辑段,并对这些段分别分配存储空间。这些段的长度可以不同,也不必连续进行分配。这种存储管理方式已成为当今所有存储管理方式的基础。,32,5.4.1 基本概念,1. 分段 在分段存储管理方式中,段是一组逻辑信息的集合。每个段都有自己的名
13、字和长度,通常用一个段号来代替段名,每个段都从0开始编址,并采用一段连续的地址空间,段的长度由相应的逻辑信息组的长度决定。分段系统中的逻辑地址由段号s和段内地址d组成。,33,5.4.1 基本概念,2. 分页和分段的主要区别 页是信息的物理单位,分页是为了便于系统管理;而段是信息的逻辑单位,分段是为了满足用户需要。 分页式存储管理的作业地址空间是一维的;而分段式存储管理作业地址空间是二维的。 页的长度由系统确定,是等长的;而段的长度由具有相对完整意义的信息长度确定,是不固定的。,34,5.4.2 基本原理,分段管理,就是管理由若干段组成的作业,并且按分段来进行存储分配,由于分段的作业地址空间是
14、二维的,所以分段的关键在于如何把分段地址结构变成一维的地址结构。和分页管理一样,可以采用动态重定位技术来进行地址转换。,35,5.4.2 基本原理,分段地址转换过程,36,5.4.3 硬件支持和缺段处理,为了实现分段式存储管理,系统必须有一定的硬件支持,以完成快速请求分段的功能,这包括段表机制、地址转换机构。当出现缺段的问题时,需要有缺段中断机构来进行及时地处理。,37,5.4.3 硬件支持和缺段处理,段表机制 请求分段管理中的主要数据结构是段表,在段表项中,除了段号(名)、段长、段在内存的始址外,它还包含存取方式、访问字段、改变位、状态位、增补位、外存起址。 段表可以存放在一组寄存器中,这样
15、有利于提高地址转换速度;但更常见的是将段表放在内存中。在配置了段表后,执行中的进程可通过查找段表,找到每个段所对应的内存区。,38,5.4.3 硬件支持和缺段处理,2. 地址转换机构 请求分段式的 地址转换过程 如右图所示,39,5.4.3 硬件支持和缺段处理,3. 缺段中断机构,请求分段系统中的中断处理过程,40,5.4.4 段的共享和保护,1. 段的共享 段的共享是指两个以上的作业,使用某个子程序或数据段,而在内存中只保留该信息的一个副本。具体地说,只需在每个进程的段表中,用相应的表项来指向共享段在内存的起始地址即可。,41,5.4.4 段的共享和保护,2. 段的保护 在分段系统中,由于每
16、个分段在逻辑上是独立的,因而比较容易实现信息保护。段的保护是为了实现段的共享和保证作业正常运行的一种措施。分段存储管理中的保护主要有地址越界保护和存取方式控制保护。,42,5.4.4 段的共享和保护,分段式存储管理的优点: 提供了内外存统一管理的虚存,每次调入一段有意义的信息。 允许段长动态增长。 便于对具有完整逻辑功能的信息段进行共享。 便于实现动态链接。 分段式存储管理的缺点:需要更多的硬件支持,诸多功能会使系统的复杂性大大增加;段的长度受内存可用区大小的限制;若替换算法选择不恰当就有可能产生抖动现象。,43,5.5 段页式存储管理,分页存储管理能有效地提高内存的利用率,分段存储管理能很好
17、地满足用户的需要,段页式存储管理则是分页和分段两种存储管理方式的结合,它同时具备了两者的优点。,44,5.5.1 基本概念,段页式存储管理既方便使用又提高了内存利用率,是目前用得较多的一种存储管理方式 等分内存 作业或进程的地址空间 段内分页 逻辑地址结构 内存分配 段表、页表和段表地址寄存器,45,5.5.2 地址转换,段页式系统中的地址转换机构,46,5.5.3 管理算法,在地址转换过程中,软、硬件应密切配合,这在分页和分段式存储管理中已体现出来,段页式存储管理也是如此。地址转换过程中硬、软件的相互作用如下图所示,47,5.5.3 管理算法,段页式存储管理的优点: 提供了虚存的功能 无紧缩
18、问题,也没有页外碎片的存在 便于处理变化的数据结构 便于共享和控制存取访问权限。 缺点:增加了软件的复杂性和管理开销,需要更多的硬件支持;各种表格要占用一定的存储空间;存在着系统抖动现象;存在着页内碎片的问题。,48,5.6 虚拟内存的置换算法,实现请式调页,必须解决的主要问题是选择合适的页面置换算法和块分配算法。 在置换页面时,通常选择这样一些牺牲者,即在对它们进行替换时,可达到最低缺页中断率。可利用访问串对替换算法的性能进行评价。访问串是由程序规定的内存地址访问表列。,49,5.6.1 先进先出页面置换算法,FIFO方法是将最先进入队列的页号所对应的页面最先选择为牺牲者。这种方法易于理解,但性能不是在任何场合都是好的。 使用FIFO方法可能会出现Belady异态,这是一种在增加帧的情况下反而使缺页中断率增加的异常情况。,50,5.6.2 最佳页面置换算法,较理想的页面替
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 片式电阻、电阻网络生产设备行业市场营销创新战略制定与实施分析报告
- 自动化环境监测仪器平台企业制定与实施新质生产力战略分析报告
- 2025年安徽中烟工业有限责任公司招聘考试真题
- 2015年浙江省宁波市中考数学试卷【含答案】
- 网页设计师响应式布局手册
- 2026电梯演讲面试题目及答案
- 2026董事长招聘面试题及答案
- 2026防汛调研面试题及答案解析
- 数据备份失败紧急响应办公类文档执行者预案
- 2026关于养老服务的面试题及答案
- 临租设备管理办法
- 2025年一级建造师《铁路工程》考试真题及答案
- DGJ 08-114-2016 临时性建(构)筑物应用技术规程
- 港口维修安全培训
- 劳动关系协调师竞赛技能竞赛考试题库(含答案)
- DL∕T 5106-2017 跨越电力线路架线施工规程
- 《细胞分子生物学》课件
- 中医诊所防火管理制度
- (完整版)一年级数独100题
- 武术馆聘用教练合同
- 信阳市国企招聘考试真题及答案
评论
0/150
提交评论