ImageVerifierCode 换一换
格式:PPT , 页数:95 ,大小:1.25MB ,
资源ID:13744886      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/13744886.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(操作系统 内存管理.ppt)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

操作系统 内存管理.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,内容提要,存储器的层次结构,程序执行的基础知识、程序的装入和链接,连续分配存储管理方式,分页存储管理方式,分段存储管理,段页式存储管理,存储器的层次结构,存储器是计算机系统的重要组成部分,容量、价格和速度之间的矛盾,内存、外存;易失性和永久性,内存,是稀缺资源,在现代计算机系统中,存储通常采用层次结构来组织,多级存储器结构,主存与寄存器,高速缓存和磁盘缓存,多级存储器结构,Storage systems in a computer system can be organized in a hierarc

2、hy,Speed,access time,Cost per bit,Volatility,主存,vs.,寄存器,Same:,Access directly,for CPU,Register name,Memory address,Different:access speed,Register,one cycle of the CPU clock,Memory,Many cycles(2 or more),Disadvantage:,CPU needs to,stall frequently,&this is,intolerable,Remedy,Cache,高级缓冲技术,caching,Cac

3、hing,Copying information into faster storage system,When accessing,first check in the cache,if,In,:use it directly,Not in,:get from upper storage system,and leave a copy in the cache,Using of caching,Registers,provide a high-speed cache for main memory,Instruction cache&data cache,Main memory,can be

4、 viewed as a fast cache for secondary storage,Magnetic disks,磁盘,Transfer time,传输时间,T,T,data size*Transfer rate,Transfer rate (n M/s),-1,(n Byte/us),-1,1/n us/Byte,Positioning time,定位时间,Seek time,寻道,T,s,Rotational latency,旋转延迟,T,R,T,P,T,s,+T,R,m ms,T,T,VS.,T,P,Please Store data closely,内容提要,存储器的层次结构,

5、程序执行的基础知识、程序的装入和链接,连续分配存储管理方式,分页存储管理方式,分段存储管理,段页式存储管理,程序执行的基础知识,Von Neumann architecture,冯,诺依曼体系结构,Program must be brought into memory,Main memory is usually too small,Process,Program must be placed within a process for it to be executed,作业池,User programs,Where to place the program,several steps,(图)

6、地址的类型,Absolute address,绝对地址,Address seen by the memory unit,Physical address,物理地址,Logical address,逻辑地址,Generated by the CPU,Virtual address,虚拟地址,When can the absolute address can be decided?,Address binding,地址的绑定,Address binding,地址绑定,the binding of instructions and data to memory,可以在,三种,时刻进行,Compil

7、e time,If memory location known a priori,absolute code,can be generated;must recompile code if starting location changes.,Load time,Must generate,relocatable code,if memory location is not known at compile time.,Execution time,Binding delayed until run time if the process can be moved during its exe

8、cution from one memory segment to another.,Need hardware support,for address maps(e.g.,base and limit registers),Memory-Management Unit(,MMU,),Hardware device,逻辑地址,物理地址,Relocation register,重定位寄存器,Added to every address generated by a user process at the time it is sent to memory,E.g.MS-DOS on 80 x86

9、User program deals with,logical addresses,it NEVER sees the,real physical addresses,.,是否需要将进程的所有代码和数据一次性装入?,Shall we put the,entire program&data,of a process,in physical memory,before,the process can be executed?,For better memory space utilization,Dynamic loading,Dynamic linking,Overlays,Swapping,

10、程序的装入,绝对装入方式,可重定位装入方式,动态运行时装入方式,绝对装入方式,编译时,产生,absolute code,,即使用绝对地址的代码,装入时,必须装入到指定的地址,无需对程序和数据的地址进行修改,适用于单道系统,可重定位装入方式,大多数情况下,不能预知装入地址,只能在装入时确定,编译时,产生可重定位代码,即使用相对地址的代码,装入时,必须重定位,通常把在装入时对目标程序中指令和数据的修改过程称为重定位。,由于地址变换是在装入时一次性完成的,以后不再改变,故称为静态重定位,可用于多道系统,动态运行时重定位,有时候,程序会在内存中移动位置,例如对换,需要能支持在运行过程中动态改变程序在内

11、存中的位置,方法:推迟重定位时机即从相对地址到绝对地址的转换推迟到程序真正执行时才进行,因此,装入内存中的代码和数据的地址仍然是相对地址,需要重定位寄存器的支持,动态运行时装入方式,根据程序运行的局部性,让程序及其数据在需要时才被装入,Better memory-space utilization;unused routine is never loaded.,Useful when large amounts of code are needed to handle infrequently occurring cases,Error routine,No special support f

12、rom OS is required implemented through program design,Due to the users,程序的链接,多个源程序,编译,多个目标模块;库。需要链接成可装入模块,根据链接时间的不同,静态链接方式:装入前很早就链接,装入时动态链接:边装入,边链接,运行时动态链接:运行时才链接,静态链接方式,静态链接方式:在程序运行之前,先将各目标模块以及它们所需要的库函数,链接成一个完整的装配模块,以后不再拆开。,各目标模块内:相对地址,存在目标模块之间的调用关系,外部调用符号,要解决的问题:,修改相对地址:多个相对地址空间,一个统一的相对地址空间,变换外部调用

13、符号,装入时动态链接,在装入时,根据外部模块调用事件,使用装入程序去寻找相应的外部目标模块,并装入,在装入时,修改相对地址,优点:,便于修改和更新,便于实现对目标模块的共享,运行时动态链接,程序的每次运行,可能要执行的目标模块集是不同的,全部装入?按需装入?,运行时动态链接将对某些模块的链接推迟到程序执行时才进行,需要操作系统配合,优点:程序运行前的装入速度加快;省空间,作业:,从一个源程序到一个在内存中可执行的程序,一般需要哪几个步骤?,有哪几种地址类型?,有哪几种程序装入方式和链接方式?,内容提要,存储器的层次结构,程序执行的基础知识、程序的装入和链接,连续分配存储管理方式,分页存储管理方

14、式,分段存储管理,段页式存储管理,连续内存分配方式,(,contiguous memory allocation,),连续分配存储管理方式,单一连续,固定分区,动态分区,对换,内存通常被划分为两个分区(,partitions,),:,系统区:常驻操作系统,,通常位于内存低端,用户区:提供给用户(进程)使用,,常位于内存高端,连续内存分配是指:,从用户区中为每个进程分配一个单独的、连续的内存空间,。,主要有以下两种方式,单一连续分配方式,多分区式分配方式,固定分区式,动态分区式(可变分区式),单一连续分配方式,最简单,只能用于单用户、单任务系统,存储保护机制,存储管理单元,,MMU,或者不采用任

15、何存储保护机制,出于信任,或采用再启动方式,,多分区式分配方式,支持多道程序,,用户区被进一步划分为若干个分区,每一个分区装载一个进程,多道程序度与分区的个数有关,根据分区大小是固定的还是可变的,固定分区方式,大小固定;等大小,or,不等大小,动态分区方式(可变分区方式),动态,&,可变:内存的划分是动态的,分区的大小随进程的大小确定,分区的数目随系统的运行而不断变化,固定分区分配方式,支持多道程序,用于,60,年代,IBM,360,的,MFT,中,分区的划分方法,两种,等大小,不等大小,但分区的大小一旦确定就不再发生变化,分配算法:,按大小顺序建立分区使用表,0,分区号,大小(,KB,),起

16、始地址,(K),状态,1,15,30,已分配,2,30,45,已分配,3,50,75,已分配,4,100,125,已分配,操作系统,作业,A,作业,B,作业,C,30K,45K,75K,125K,225K,固定分区使用表,分配算法,缺点,内存利用率低,定义:内部碎片和外部碎片,内部碎片:已经分配出去但得不到利用的存储区域,外部碎片:不能被利用的小分区,解决方案:动态分区,动态分区分配方式,能根据进程实际需要的内存大小,动态分配,能减少内部碎片,关键,数据结构:记录内存的使用情况,特别是空闲内存,分配算法,分配和回收操作,数据结构,空闲分区表,,占用额外的空间,空闲分区链,,利用空闲分区,序号,

17、分区大小,起始地址,状态,前向指针,N,个字节可用,后向指针,N,2,N,2,0,0,分区分配算法,在将一个新作业装入内存时,要从空闲分区表或空闲分区链中,选出一个分区分配给该作业,有三种常见的分配算法,首次适应算法,FF,:,First Fit,循环首次适应算法,最佳适应算法:,Best Fit=smallest,最差适应算法:,Worst Fist,largest,思考,在一个系统中内存有如下的空闲区,,10KB,,,4KB,,,20KB,,,18KB,,,7KB,,,9KB,,,12KB,,以及,15KB,。在分别使用首次适应,最佳适应,最差适应以及循环首次适应算法,对下列,3,个连续空

18、间分配,得到的空闲分区分别是什么?,12KB,10KB,9KB,分区分配操作,分配,设请求的分区大小为,u.size,;,利用某种分配算法,找到待分配的分区,大小为,m.size,根据上述分区分配算法,有,m.sizeu.size,判断,m.size-u.size,与,min_size,的大小,min_size,为事先约定的最小分区大小,,分割,分割出来的分配出去,余下的加入空闲数据结构,否则,直接分配,将分配到的分区的首地址返回,可以看出,动态分区分配方式中内部碎片最大不超过,min_size,回收,要考虑合并,向前合并,只需修改前一个空闲分区表项中的大小,向后合并(图),只需修改后一个空闲

19、分区表项中的起始地址和大小,与前后同时合并,修改前一个空闲分区表项中的大小,并取消后一个分区表项,无相邻空闲分区,无需合并,建立一个新的表项,填写相关信息,插入,上述过程中,根据链表的维护规则,可能需要调整相应表项在空闲链表中的位置,动态分区分配分析,随着分配的进行,空闲分区可能分散在内存的各处,尽管有回收,但内存仍然被划分的越来越碎,形成大量的外部碎片,OS,process 5,process 8,process 2,OS,process 5,process 2,OS,process 5,process 2,OS,process 5,process 9,process 2,process 9

20、process 10,解决方案之一:紧凑,Compaction,针对外部碎片:采用紧凑的方法,紧凑:通过移动进程在内存中的位置,把多个分散的小分区拼成大分区,需要动态重定位技术支持,动态重定位分区分配算法:引入紧凑和动态重定位技术的动态分区分配算法,基本与动态分区分配算法相同,思考,紧凑的时间开销:若计算机读一个,32,位的时间是,10ns,,那么紧凑,128MB,的空间需要多长时间?,Swapping,对换,最早用于,MIT,的,CTSS,中,单用户时间片对换,对换是指把内存中暂时不能运行的进程,或暂时不用的程序和数据,换出到外存上,以腾出足够的内存空间,把已具备运行条件的进程,或进程所需

21、要的程序和数据,换入内存,能提高内存利用率,对换的单位:,进程:整体对换;进程对换,页、段:部分对换,对换技术需要实现三个方面的功能,对换空间的管理,进程的换出,进程的换入,Backing store,,对换空间,Fast disk,large enough to accommodate copies of all memory images for all users;must provide direct access to these memory images.,为提高速度,考虑连续分配方式,忽略碎片问题,需提供数据结构对空闲盘块进行管理,方法类似动态分区分配方法,进程的换出,第一步:

22、选择被换出的进程,Some approaches,RR scheduling:swapped out when a quantum expires,Priority-based scheduling:Roll out,roll in,Lower-priority process is swapped out so higher-priority process can be loaded and executed.,第二步:换出,确定要换出的内容,非共享的程序和数据段的换出,共享的程序和数据段的换出:计数器,申请对换空间,换出,并修改相关数据结构,进程的换入,第一步:选择被换入的进程,考虑“静

23、止就绪状态”的进程,其他原则,第二部:申请内存并换入,申请成功,申请失败:利用对换技术腾出内存,Schematic View of Swapping,Swapping(cont.),Context switch,Swapped in&out cost too much,Assume:process size 1MB,disk transfer rate 5MB/sec,average latency 8ms,Transfer time=1MB/(5MB/sec)=1/5 sec=200 ms,Swap time=208 ms,Swap out&in=416,Major part of swap

24、 time is transfer time,For RR scheduling,time quantum should 416ms,Problems exist for pending I/O processes swapping,内容提要,存储器的层次结构,程序执行的基础知识、程序的装入和链接,连续分配存储管理方式,离散分配方式(,Discrete Memory Allocation,),分页存储管理方式,碎片,页,分段存储管理,从逻辑上进行分段,段页式存储管理,内容提要,存储器的层次结构,程序执行的基础知识、程序的装入和链接,连续分配存储管理方式,离散分配方式(,Discrete Mem

25、ory Allocation,),分页存储管理方式,碎片,3,b,Effective memory-access time,time needed for every data/instruction access,需要,2,次访存,Access the page table&Access the data/instruction,Solution:,A special fast-lookup hardware cache called,associative registers,or,translation look-aside buffers(TLBs),联想存储器,快表,Associat

26、ive registers,Each register:a key&a value,Parallel search(high speed),Expensive,typically 82048 entries,Address translation(A,A),If A is in associative register,get frame#out.,Otherwise get frame#from page table in memory,联想存储器,快表,TLB miss,(,TLB,缺失),If the page number is not in the associative regis

27、ters,Get&store,Hit ratio,(命中率),The percentage of times that a page number is found in the associative registers,Context switch,TLB flushed,TLB replacement algorithm,具有块表的地址变换机构,+,Effective Access Time,有效存取时间,设:,Associative Lookup=,time unit;memory cycle time=t time unit;Hit ratio=,Effective Access T

28、ime(EAT),EAT=(t+,)+(2t+)(1,),=2t+,t,If,(,20 ns),t(100 ns),1(80%),2(98%),:,TLB hit:20+100=120 ns,TLB miss:20+100+100=220 ns,EAT1=120*0.8+220*0.2=140 ns,EAT2=120*0.98+220*0.02=122 ns,思考,从页表中读取数据的时间开销是,5ns,,从块表中读取数据的开销则是,1ns,,为使平均开销降为,1ns,,则块表的命中率至少为多少?,Memory Protection,内存保护,If page size 2,n,page&fram

29、e is aligned at 2,n,so,Memory protection implemented by associating protection bit with each frame,Provide read only,read-write,execute-only protection or,Valid-invalid,“valid”:the associated page is in the process logical address space,and is thus a legal page.,“invalid”:the page is not in the proc

30、ess logical address space.,Valid/invalid bit example,Address space 2,14,Page size 2KB,Process size(010468),Page 5 has internal fragmentation,PTLR=6,Page 6&7 are invalid,10486,10240,12287,两级和多级页表,考虑:地址空间:,32,位;页大小,4KB,;有,2,20,即,1M,个页需要页表项:,1M,个假设,每个页表项使用,32,位表示,需要,4MB,的空间,解决方案:,进一步离散,两级页表,对页表分页,建立外层页

31、表(页目录),则上述,4MB,的页表,进一步分为,1K,个页需要,1K,个页目录项假设每个页目录项使用,32,位表示,需要,4KB,因此,逻辑地址,where,p,1,is an index into the outer page table,and,p,2,is the displacement within the page of the outer page table.,page number,page offset,p,1,p,2,d,10,10,12,两级页表举例,具有两级页表的地址变换机构,+,+,多级页表及其性能,Level number=L,effect memory acc

32、esses time=(L+1)t,考虑高速缓存技术:,Cache hit rate of 98 percent yields:,effective access time=0.98 120+0.02 520,=128 nanoseconds.which is only a 28 percent slowdown in memory access time.,内容提要,存储器的层次结构,程序执行的基础知识、程序的装入和链接,连续分配存储管理方式,离散分配方式(,Discrete Memory Allocation,),分页存储管理方式,碎片,页,分段存储管理,从逻辑上进行分段,段页式存储管理,

33、分段存储管理方式,引入分段的目的,是为了满足用户在编程和使用上的需求(逻辑上),在用户看来:,A program is a collection of segments.A,segment is a logical unit,such as:,main program,procedure,function,method,Object,local variables,global variables,common block,stack,symbol table,逻辑地址空间,A collection of segments,each segment,Two dimensional addres

34、s space,A logical address,Compiler automatically constructs segments reflecting the input program.,Pascal compiler,FORTRAN compiler,C compiler,such as gcc,段号,段内地址,31,16,15,0,Logical view of segmentation,分段的硬件支持,段表,2-D logical address,1-D,physical addresses;,每个段表项包括,段在内存中的基地址,段的长度,Segment-table base

35、register(STBR),Points to the segment table,s location in memory.,Segment-table length register(STLR),Indicates number of segments used by a program;Segment number s is legal if s STLR.,段表举例,分段的地址变换机构,段表始址,段表长度,+,+,段号,S,位移量,W,分页和分段的主要区别,角度和目的不同,分页:面向系统,物理上离散,减少外部和内部碎片,提高内存利用率,页是信息的物理单位,分段:面向用户,逻辑上离散,

36、满足用户的需求,段是信息的逻辑单位,意义相对完整,大小不同,分页:大小固定,由硬件决定,分段:不固定,划分由程序决定,在编译时确定,地址空间的维数不同,分页:,1,维,分段:,2,维,段名段内偏移,分段举例,4300+53=4353,3200+852=4052,How about?,分段的好处,Relocation,,可重定位,方便编程,Dynamic,by segment table,Sharing,shared segments,same segment number,Protection,Use segment table entry,Protection bit,Read-only,e

37、xecute-only,read/write,Validation bit,0,illegal segment,Protection&sharing at segment level,动态增长,动态链接,段的共享,关于代码的重入,可重入代码,又称为“纯代码”,是一种允许多个进程同时访问的代码。,绝对不允许可重入代码在执行中有任何改变,针对段的内存管理,由于段长不固定,采用动态分区管理方式,分配:,首次适应、最佳适应等等,由于大小不固定,存在外部碎片,可能要考虑“紧凑”,由于采用动态分区管理方式,内部碎片很少,内容提要,存储器的层次结构,程序执行的基础知识、程序的装入和链接,连续分配存储管理方式

38、离散分配方式(,Discrete Memory Allocation,),分页存储管理方式,碎片,页,分段存储管理,从逻辑上进行分段,段页式存储管理,段页式存储管理方式,考虑在分段的基础上分页,与单纯的分段相比,在段表项中存放的不是段的起始地址,而是段所对应的页表的起始地址,段页式举例:,IA32,体系结构中的段页机制,IA32,是基于分段的,分页可选,常见的段寄存器如:,CS,DS,ES,FS,GS,SS,IA32,使用全局描述符表,GDT,或者局部描述符表,LDT,每个描述符描述一个段,包括段大小、访问权限、基地址等,使用段选择子索引一个段,IA32,的地址表示为,段:段内偏移,Linear address=segment base+segment offset,在不使用分页机制的情况下,线性地址就是物理地址否则,线性地址通过页表机制转换成物理地址,IA32 address translation,2-level page table,作业,什么是内部碎片;什么是外部碎片,画出最基本的分页地址变换机构。,分页和分段的主要区别是什么?,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服