版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、8.2Ssdut-os 2010Operating System ConceptsnTo provide a detailed description of various ways of organizing memory hardware 背景知识:描述内存硬件的组织方法nTo discuss various memory-management techniques, including paging and segmentation 讨论各种内存管理技术,其中包括分页分页与分段分段nTo provide a detailed description of the Intel Pentiu
2、m, which supports both pure segmentation and segmentation with paging 详细描述Intel奔腾系列芯片,着重阐述它对分段以及段页式内存管理机制的支持(内存管理的硬件支持)8.3Ssdut-os 2010Operating System Conceptsn8.1 Backgroundn8.2 Swapping n8.3 Contiguous Memory AllocationnPagingnStructure of the Page TablenSegmentationnExample: The Intel Pentium8.4
3、Ssdut-os 2010Operating System ConceptsnExecution of a program 程序执行过程程序执行过程n取指/解码/执行(Fetch/Decode/Execute)l Fetch an instruction 从内存中读取读取一条指令l Decode the instruction 将指令放入指令寄存器(IR)中,然后对其进行解码(解码后可能还要从解码(解码后可能还要从内存内存中取中取操作数操作数)l Instruction Cycle 一个单条指令处理过程称为一个指令周期指令周期l 程序的执行由不断地取指、解码和执行的指令周期组成l 当程序的全部
4、指令执行完毕时,程序停止开始开始取指取指解码解码执行指令执行指令停止停止8.5Ssdut-os 2010Operating System Conceptsn前一个slide中所讲的CPU执行指令的流程,是从CPU的角度来看程序执行流程的n而如果我们换一个角度,从内存硬件的角度来这个执行过程时,看到的应该是另一番景象n内存所面对的就是一个地址流l这些地址流是由于CPU对内存的读写访问而形成的l对于物理内存而言,这些地址是怎么产生的它不用关心n所以,在后面进行内存管理的时候,内存资源都被视为一个线性的数组(Linear Array) = 线性的地址空间l内存管理算法所关心的主要事情是如何将这个线性
5、的数组进行有效的划分,并进行合理地分配8.6Ssdut-os 2010Operating System ConceptsnMain memory and registers are only storage CPU can access directly 只有主存和寄存器这两种存储介质是可以被CPU所直接访问的nProgram must be brought (from disk) into memory and placed within a process for it to be run 因此,程序必须从外存中读到进程所管理的内存中来执行8.1.1 基本内存硬件8.7Ssdut-os 2
6、010Operating System ConceptsnRegister access in one CPU clock (or less) CPU对于寄存器的访问在一个CPU时钟周期内就可以完成nMain memory can take many cycles 主存访问可能需要多个周期(比访问寄存器要慢)nCache sits between main memory and CPU registers 高速缓存(Cache)介乎寄存器与主存之间8.1.1 基本内存硬件8.8Ssdut-os 2010Operating System Conceptsn操作系统在进行内存管理的时候,除了保证访
7、问物理内存的相对速度,还必须对操作系统与用户进程之间,以及用户进程与用户进程之间必须被有效的隔离nProtection of memory required to ensure correct operation 对于存储的有效保护,是保证程序正确执行的基础8.1.1 基本内存硬件进程需要独立的私人空间 - 进程的地址空间8.9Ssdut-os 2010Operating System ConceptsnEarly Single-Programmingn 早期的单道程序的内存分布n特点:l没有内存管理硬件的支持l操作系统(Operating System)与应用程序(Application)之
8、间可以相互访问对方的内存n实例:MS-DOS操作系统应用程序1M08.10Ssdut-os 2010Operating System Conceptsn单道程序中的内存组织的问题操作系统操作系统应用程序应用程序1M0物理存储空间物理存储空间分配不当,产分配不当,产生了重叠,那生了重叠,那么可能存在内么可能存在内存使用冲突存使用冲突8.11Ssdut-os 2010Operating System ConceptsnMulti-Programmingn多道程序n特点:l多道程序同时驻留在内存操作系统操作系统应用程序应用程序2xxxM0应用程序应用程序18.12Ssdut-os 2010Opera
9、ting System Conceptsn多道程序中的内存组织的问题物理存储空间物理存储空间分配不当,产分配不当,产生了重叠,同生了重叠,同样可能存在内样可能存在内存使用冲突存使用冲突操作系统应用程序2xxxM0应用程序18.13Ssdut-os 2010Operating System Conceptsn把内存分成几段,每段分别划给一个实体(操作系把内存分成几段,每段分别划给一个实体(操作系统代码、进程统代码、进程1、进程、进程2、)通过一个段基址通过一个段基址base和段和段的长度的长度limit来规定归属于来规定归属于某个进程的一段内存区间某个进程的一段内存区间段机制需要硬件支持,通常利
10、用硬件寄存器来维护段机制和段长度,并通过硬件上的机制来保证对内存的访问不会越界在例子中,访问地址30005,OK用30004作为基地址访问43000, 不OK8.14Ssdut-os 2010Operating System Conceptsn内存保护的实现机理,如下图所示CPU基地址基地址+界限地址是内存否是否地址地址=基地址+界限地址上界溢出寻址错误,这对操作系统来说,是致命错误,需要立刻陷入内核处理8.15Ssdut-os 2010Operating System Conceptsn注意到,基于基地址寄存器和界限寄存器的硬件地址保护能够正确工作的前提是基地址寄存器和界限寄存器的内容不能所
11、以被篡改n实际上,上述两个寄存器都只能由操作系统通过特殊的特权指令来加载,一般的用户进程是无法修改他们的l所以,在这样的前提下,硬件地址保护模式是可以正确工作的8.16Ssdut-os 2010Operating System ConceptsnAddress Bindingn地址绑定的目的l为代码中的函数名、变量名等指定地址8.1.2 地址绑定8.17Ssdut-os 2010Operating System Conceptsn地址绑定l将程序中的指令或者数据分配到实际的物理内存单元n在程序实际执行之前,必须处理地址的绑定,因为只有程序知道了执行所需的代码或数据在实际物理内存的位置,CPU才
12、能够完成取指-执行的基本步骤8.1.2 地址绑定8.18Ssdut-os 2010Operating System Conceptsn程序的活动流程lCompile timelLoad timelExecution time8.19Ssdut-os 2010Operating System ConceptsnCompile time: l编译时就完成指令和数据地址到绝对内存地址的绑定l缺点:如果代码起始地址发生变化,代码需要重新编译nLoad time: Must generate relocatable code if memory location is not known at comp
13、ile timel编译期间,不知道代码和数据应该放到那个内存位置l必须生成可重定位代码(relocatable code)nExecution time: l运行时完成地址绑定l需要重定位硬件支持地址绑定的3个时机:8.20Ssdut-os 2010Operating System ConceptsnCPU生成的地址,通常称为逻辑地址(Logical Address)n内存硬件所看到的地址(即加载到内存地址寄存器Memory Address Register, MAR中的地址),通常称为物理地址(Physical Address)8.1.3 逻辑地址空间与物理地址空间逻辑地址空间与物理地址空间
14、8.21Ssdut-os 2010Operating System Conceptsn地址重定位地址重定位l将用户程序中出现的逻辑地址转化到程序运行时计算机可以识别的物理地址的过程n实现方法lStatic Relocation 静态重定位lDynamic Relocation 动态重定位8.22Ssdut-os 2010Operating System Conceptsn静态地址重定位l在程序编译或加载的时候完成地址的重定位,也就是说在程序加载的同时进行程序的内容8.23Ssdut-os 2010Operating System Conceptsn静态重定位实例8.24Ssdut-os 201
15、0Operating System Conceptsn动态重定位l在程序执行期间完成逻辑地址到实际地址的转换l需要内存管理硬件MMU的支持n页式/段式虚存管理之下的地址变换,是动态重定位的典型实例8.25Ssdut-os 2010Operating System Conceptsn动态重定位实例8.26Ssdut-os 2010Operating System Conceptsn一个进程可以被操作系统暂时从内存换到后备存储(backing store),而在某个时刻再被从后备存储换回内存执行后备存储要求:-访问速度较快-其容量要能够存放所有用户的内存映像副本-必须提供对这些内存镜像进行直接访问
16、的操作8.27Ssdut-os 2010Operating System Conceptsn一个进程可以被操作系统暂时从内存换到后备存储(backing store),而在某个时刻再被从后备存储换回内存执行基于优先级的调度中可能用到交换策略:(1) 滚出(Roll out) 如果有一个更高优先级的进程需要服务,内存管理器可以选择将某低优先级进程P换出(2) 滚入(Roll in) 高优先级的进程执行完后,低优先级进程可以再次被换回内存8.28Ssdut-os 2010Operating System Conceptsn交换的限制:l通常,一个交换出的进程需要交换回它原来所占有的内存空间上述限制
17、是由地址绑定方式决定的。解释:(1) 如果绑定是在汇编或加载时所定的,那么进程换回时不可以移到不同的位置(2)如果绑定是在运行时完成的,由于物理地址是在运行期才确定的,所以在进程换回时可以允许其换到与换出前不同的内存位置8.29Ssdut-os 2010Operating System Conceptsn在支持交换的系统内,调度是这样发生的:l系统的就绪队列中包括在备份存储或在内存中已经处于就绪状态的所有进程l当CPU决定执行进程时,它调用调度程序l调度程序检查就绪队列中下一进程P4如果P在内存中,那么调度其执行4如果P不在内存中,且空闲内存空间足够,将P换入4如果P不在内存中,且空闲内存空间
18、不够装下P,那么选择一个合适的进程P,将P换出,然后换入P8.30Ssdut-os 2010Operating System Conceptsn交换系统的上下文切换时间比较长lMajor part of swap time is transfer time; 在交换时间中,转移时间占了大部分ltotal transfer time is directly proportional to the amount of memory swapped转移时间与内存需求量成正比n为了有效使用CPU,需要每个进程的时间要比交换时间长8.31Ssdut-os 2010Operating System Con
19、ceptsn交换也受其他因素限制,以下是不可以被换出的进程的一种情况l如果一个进程正在等待I/O操作,而此异步I/O操作需要访问用户内存的I/O缓冲区,那么该进程不能被换出解决方法: 方法一,不允许换出等待I/O的进程 方法二,设计时,规定I/O操作的执行只能使用操作系统内核缓冲区8.32Ssdut-os 2010Operating System Conceptsn许多操作系统都在使用标准交换系统的变种lUNIX版本的交换4平时并不执行;4在系统内存空间吃紧时,启动交换;4当系统负荷降低,交换又会暂停lWindows 3.1 4交换的时机完全由用户掌握4换出的进程会一直处于换出状态,直到用户再选择执行该进程为止8.33Ssdut-os 2010Operating System Conceptsn操作系统内核与各种用户进程,都是占据内存的实体n内存管理算法要完成内存在各个实体之间的公平有效的分配n这一节,介绍连续内存分配这一常用的内存分配方法8.34
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年滁州职业技术学院单招职业技能考试题库附答案详解
- 2025年最-新审计师(中级)《审计理论与实务》最-新试题与答案
- 2025幼儿园综合素质真题及答案
- 2025年计算机等级考试二级C语言试题及答案
- 2026事业单位工勤技能-新疆-新疆印刷工五级(初级工)历年参考题库含答案详解
- 2026事业单位工勤技能-广西-广西有线广播电视机务员三级(高级工)历年参考题库含答案详解
- 2026事业单位工勤技能-广东-广东防疫员四级(中级工)历年参考题库含答案详解
- 2026事业单位工勤技能-广东-广东堤灌维护工二级(技师)历年参考题库含答案详解
- 2026事业单位工勤技能-山西-山西舞台技术工四级(中级工)历年参考题库含答案详解
- 2026事业单位工勤技能-山东-山东铸造工四级(中级工)历年参考题库含答案详解
- 2025-2030脑电生物反馈技术在儿童注意力训练中的临床转化与商业模式构建
- 带班育人方略课件
- 2024-2025学年安徽省A10联盟高一下学期4月期中物理试题(解析版)
- 新闻报道策划全流程操作方案
- 《服装效果图技法》全套教学课件
- 小儿腺样体肥大教学课件
- 婴幼儿常见的营养性疾病课件
- 初中道法宪法说课课件
- DB43-T 2724-2023 农村公路养护工程预算编制办法及定额
- JG/T 48-1999轮胎式土方机械制动系统的性能要求和试验方法
- triz创新方法考试试题及答案
评论
0/150
提交评论