欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    嵌入式系统内存管理只是分享.ppt

    • 资源ID:59798215       资源大小:317KB        全文页数:28页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    嵌入式系统内存管理只是分享.ppt

    信息与计算机学院嵌入式系统内存管理信息与计算机学院概述概述 内存管理系统式嵌入式操作系统内核中重要的功能之一。由于处理器直接运行和处理的程序和数据只能放在内存中,因此内存的管理质量是否优良将直接影响系统。信息与计算机学院内存管理的主要功能内存管理的主要功能虚拟内存空间虚拟内存空间 操作系统采用虚拟内存功能使系统显得它有比实际大操作系统采用虚拟内存功能使系统显得它有比实际大得多得内存空间,虚拟内存可以比系统中的物理内存大好得多得内存空间,虚拟内存可以比系统中的物理内存大好多。多。保护保护 系统中每个进程都有自己的虚拟地址空间,这些虚拟系统中每个进程都有自己的虚拟地址空间,这些虚拟内存空间相互之间完全分离,因此运行一个应用的进程不内存空间相互之间完全分离,因此运行一个应用的进程不会影响其他的进程。同样,硬件的虚拟内存机制允许内存会影响其他的进程。同样,硬件的虚拟内存机制允许内存区域被写保护,这样就保护了代码和数据不被恶意应用重区域被写保护,这样就保护了代码和数据不被恶意应用重写。写。信息与计算机学院内存映射内存映射 内存映射用来把映像和数据文件映像到一个进程的地内存映射用来把映像和数据文件映像到一个进程的地址空间。在内存映射中,文件的内容被直接链接到进程的址空间。在内存映射中,文件的内容被直接链接到进程的虚拟地址空间。虚拟地址空间。公平物理内存分配公平物理内存分配 内存管理系统给予系统中运行的每个进程公平的一份内存管理系统给予系统中运行的每个进程公平的一份系统物理内存。系统物理内存。共享虚拟内存共享虚拟内存 尽管虚拟内存允许进程拥有分隔的虚拟地址空间,但尽管虚拟内存允许进程拥有分隔的虚拟地址空间,但有时还需要进程共享内存,如进程间通信需要共享内存。有时还需要进程共享内存,如进程间通信需要共享内存。信息与计算机学院内存保护内存保护 内存保护可通过硬件提供的内存保护可通过硬件提供的MMUMMU(memory memory management unitmanagement unit)来实现。)来实现。目前,大多数处理器都集成了目前,大多数处理器都集成了MMUMMU:大幅度降低那些通过在处理器外部添加MMU模块的处理方式所存在的内存访问延迟。MMU现在大都被设计作为处理器内部指令执行流水线的一部分,使得使用MMU不会降低系统性能,相反,如果系统软件不使用MMU,还会导致处理器的性能降低。在某些情况下,不使能MMU,跳过处理器的相应流水线,可能导致处理器的性能降低80%左右。信息与计算机学院早期的嵌入式操作系统大都没有采用早期的嵌入式操作系统大都没有采用MMUMMU:一方面是出于对硬件成本硬件成本的考虑;另一方面是出于实时性实时性的考虑。嵌入式系统发展到现在,硬件成本越来越低,嵌入式系统发展到现在,硬件成本越来越低,MMUMMU所带来的成本因素基本上可以不用考虑所带来的成本因素基本上可以不用考虑原来的嵌入式原来的嵌入式CPUCPU的速度较慢,采用的速度较慢,采用MMUMMU通常会通常会造成对时间性能的不满足,而现在造成对时间性能的不满足,而现在CPUCPU的速度的速度也越来越快,并且采用新技术后,已经将也越来越快,并且采用新技术后,已经将MMUMMU所带来的所带来的时间代价时间代价降低到比较低的程度降低到比较低的程度嵌入式嵌入式CPUCPU具有具有MMUMMU的功能已经是一种必要的趋的功能已经是一种必要的趋势。势。信息与计算机学院由于采用由于采用MMUMMU后对应用的运行模式甚至开发模后对应用的运行模式甚至开发模式都会有一些影响,大量嵌入式操作系统都没式都会有一些影响,大量嵌入式操作系统都没有使用有使用MMUMMU。对于安全性、可靠性要求高的应用来讲如果不对于安全性、可靠性要求高的应用来讲如果不采用采用MMUMMU,则几乎不可能达到应用的要求。,则几乎不可能达到应用的要求。如果没有如果没有MMUMMU的功能,将无法防止程序的的功能,将无法防止程序的无意破坏无意破坏,无法截获各种非法的无法截获各种非法的访问异常访问异常,当然更不可能防止,当然更不可能防止应用程序的应用程序的蓄意破坏蓄意破坏了。了。采用采用MMUMMU后,便于发现更多的潜在问题,并且也便后,便于发现更多的潜在问题,并且也便于问题的定位。于问题的定位。未采用未采用MMUMMU时,内存模式一般都是平面模式,应用可以任时,内存模式一般都是平面模式,应用可以任意访问任何内存区域、任何硬件设备,程序中出现非法访意访问任何内存区域、任何硬件设备,程序中出现非法访问时,开发人员是无从知晓的,也非常难于定位。问时,开发人员是无从知晓的,也非常难于定位。信息与计算机学院内存保护内存保护MMUMMU通常具有如下功能:通常具有如下功能:内存映射内存映射;检查逻辑地址是否在限定的地址范围限定的地址范围内,防止页面地址越界;检查对内存页面的访问是否违背特权信息特权信息,防止越权操作内存页面;在必要的时候(页面地址越界或是页面操作越权)产生异常异常。信息与计算机学院应用应用程序程序逻辑地址逻辑地址MMUMMU物理内存物理内存物理地址物理地址内存映射把应用程序使用的地址集合(逻辑地址)翻内存映射把应用程序使用的地址集合(逻辑地址)翻译为实际的物理内存地址(物理地址)译为实际的物理内存地址(物理地址)信息与计算机学院内存保护内存保护大多数处理器的典型页面大小为大多数处理器的典型页面大小为4K4K字节,字节,有些处理器也可能使用大于有些处理器也可能使用大于4K4K字节的页面,字节的页面,但页面大小总是但页面大小总是2 2的幂,以对发生在的幂,以对发生在MMUMMU中中的地址映射行为流水线化。的地址映射行为流水线化。当页放置到物理内存时,页面将放置到当页放置到物理内存时,页面将放置到页页框架(框架(page framepage frame)中。)中。页框架是物理内存的一部分,具有与页面同样的大小,且开始地址为页面大小的整数倍。信息与计算机学院MMU包含着能够把逻辑地址映射为物理地址的表,称为页表页表。操作系统操作系统能够在需要的时候对这种映射关系进行改变:应用程序对内存的需求发生变化或是添加或删除应用程序的时候。在应用程序中的任务发生上下文切换时。信息与计算机学院页号页号逻辑地址逻辑地址偏移量偏移量页框架页框架物理地址物理地址偏移量偏移量页表基址寄存器页表基址寄存器特权和其特权和其他信息他信息页框架页框架页表页表基于页表的内存映射过程基于页表的内存映射过程 。信息与计算机学院每个内存页还具有一些特权和状态信息。每个内存页还具有一些特权和状态信息。MMU提供二进制位来标识每个页面的特权或状态信息。这些二进制位用来确定页面中的内容是否:可被处理器指令所使用(执行特权)可被处理器指令所使用(执行特权)可写(写特权)可写(写特权)可读(读特权)可读(读特权)已被回写(脏位)已被回写(脏位)当前在物理内存中(有效位)当前在物理内存中(有效位)信息与计算机学院在操作系统的支持下,在操作系统的支持下,MMUMMU还提供虚拟存储功能,还提供虚拟存储功能,即在任务所需要的内存空间超过能够从系统中获即在任务所需要的内存空间超过能够从系统中获得的物理内存空间的情况下,也能够得到正常运得的物理内存空间的情况下,也能够得到正常运行。行。当需要的页面被添加到逻辑地址空间时,任务对内存当需要的页面被添加到逻辑地址空间时,任务对内存页面的合法访问,将自动访问到物理内存。页面的合法访问,将自动访问到物理内存。页面当前不在物理内存中时,将导致页面故障异常,页面当前不在物理内存中时,将导致页面故障异常,然后操作系统负责从后援存储器(如硬盘或是然后操作系统负责从后援存储器(如硬盘或是FLASHFLASH存存储设备)中获取需要的页面,并从产生储设备)中获取需要的页面,并从产生页面故障页面故障的机的机器指令处重新执行。器指令处重新执行。信息与计算机学院MMUMMU通常具有如下不同功能程度的使用方式:通常具有如下不同功能程度的使用方式:没有使用MMU,应用程序和系统程序能够对整个内存空间进行访问。采用该模式的系统比较简单、性能也比较高,适合于程序简单、代码量小和实时性要求比较高的领域。大多数传统的嵌入式操作系统都采用该模式;0级,内存的平面使用模式级,内存的平面使用模式信息与计算机学院通常只是打开通常只是打开MMUMMU,并通过创建一个域,并通过创建一个域(domaindomain,为内存保护的基本单位,每个域,为内存保护的基本单位,每个域对应一个页表)的方式来使用内存,并对每次对应一个页表)的方式来使用内存,并对每次内存访问执行一些必要的地址转换操作。内存访问执行一些必要的地址转换操作。该模式仍然只是拥有该模式仍然只是拥有MMUMMU打开特性的平面内存打开特性的平面内存模式;模式;1级,处理具有级,处理具有MMU和内存缓存的嵌入式处理器和内存缓存的嵌入式处理器信息与计算机学院MMUMMU被打开,且创建了被打开,且创建了静态的域静态的域(应用程序的(应用程序的逻辑地址同应用程序在物理内存中的物理地址逻辑地址同应用程序在物理内存中的物理地址之间的映射关系在系统运行前就已经确定),之间的映射关系在系统运行前就已经确定),以保护应用和操作系统在指针试图访问其他程以保护应用和操作系统在指针试图访问其他程序的地址空间时不会被非法操作。序的地址空间时不会被非法操作。通常使用消息传送机制实现数据在被通常使用消息传送机制实现数据在被MMUMMU保护保护起来的各个域之间的移动。起来的各个域之间的移动。2级,内存保护模式级,内存保护模式信息与计算机学院通过操作系统使用通过操作系统使用CPU提供的内存映射机提供的内存映射机制,内存页被动态地分配、释放或是重新制,内存页被动态地分配、释放或是重新分配。分配。从内存映射到基于磁盘的虚拟内存页的过从内存映射到基于磁盘的虚拟内存页的过程是透明的。程是透明的。3级,虚拟内存使用模式级,虚拟内存使用模式信息与计算机学院0 0级模式为大多数传统嵌入式实时操作系统的使用级模式为大多数传统嵌入式实时操作系统的使用模式,同模式,同1 1级模式一样,都是内存的平面使用模式,级模式一样,都是内存的平面使用模式,不能实现内存的保护功能。不能实现内存的保护功能。2 2级模式是目前大多数嵌入式实时操作系统所采用级模式是目前大多数嵌入式实时操作系统所采用的内存管理模式,既能实现内存保护功能,又能的内存管理模式,既能实现内存保护功能,又能通过静态域的使用方式保证系统的实时特性。通过静态域的使用方式保证系统的实时特性。3 3级模式适合于应用比较复杂、程序量比较大,并级模式适合于应用比较复杂、程序量比较大,并不要求实时性的应用领域。不要求实时性的应用领域。信息与计算机学院应用程序应用程序1应用程序应用程序2代码代码2数据数据24G0代码代码1数据数据14G0逻辑地址逻辑地址应用程序应用程序1的页表的页表应用程序应用程序2的页表的页表代码代码1数据数据1数据数据2代码代码2操作系统操作系统物理内存物理内存0基于静态域的基于静态域的MMUMMU使用方式使用方式 也称为是一一对应的使用方式。也称为是一一对应的使用方式。在这种一一对应的使用方式中,应用程序的逻辑地址在这种一一对应的使用方式中,应用程序的逻辑地址同应用程序在物理内存中的物理地址相同,简化了内同应用程序在物理内存中的物理地址相同,简化了内存管理的实现方式。存管理的实现方式。信息与计算机学院在嵌入式实时操作系统中,在嵌入式实时操作系统中,MMUMMU通常被用通常被用来进行内存保护:来进行内存保护:实现操作系统与应用程序的隔离实现操作系统与应用程序的隔离应用程序和应用程序之间的隔离应用程序和应用程序之间的隔离防止应用程序破坏操作系统的代码、数据以及防止应用程序破坏操作系统的代码、数据以及应用程序对硬件的直接访问。应用程序对硬件的直接访问。对于应用程序来讲,也可以防止别的应用程序对于应用程序来讲,也可以防止别的应用程序对自己的非法入侵,从而破坏应用程序自身的对自己的非法入侵,从而破坏应用程序自身的运行。运行。信息与计算机学院在内存保护方面,在内存保护方面,MMUMMU提供了以下措施:提供了以下措施:防止地址越界防止地址越界通过限长寄存器检查逻辑地址,确保应用程序只能通过限长寄存器检查逻辑地址,确保应用程序只能访问逻辑地址空间所对应的、限定的物理地址空间,访问逻辑地址空间所对应的、限定的物理地址空间,MMUMMU将在逻辑地址超越限长寄存器所限定的范围时将在逻辑地址超越限长寄存器所限定的范围时产生异常;产生异常;防止操作越权防止操作越权根据内存页面的特权信息控制应用程序对内存页面根据内存页面的特权信息控制应用程序对内存页面的访问,如果对内存页面的访问违背了内存页面的的访问,如果对内存页面的访问违背了内存页面的特权信息,特权信息,MMUMMU将产生异常将产生异常。信息与计算机学院应用应用1 1应用应用2 2应用应用3 3操作系统操作系统简单的简单的MMUMMU保护模式保护模式 应用程序之间要通信就只能通过操作系统提供的通信服务,如:应用程序之间要通信就只能通过操作系统提供的通信服务,如:信号量、管道、消息、共享内存等,而不能直接访问彼此的地址信号量、管道、消息、共享内存等,而不能直接访问彼此的地址空间。空间。MMUMMU通常还提供权限等级,不同的权限等级对硬件访问的权限不一通常还提供权限等级,不同的权限等级对硬件访问的权限不一样。操作系统一般运行在核心态,具有所有的特权,而应用则一样。操作系统一般运行在核心态,具有所有的特权,而应用则一般运行在用户态,具有一般权限,以防止应用程序的故意破坏。般运行在用户态,具有一般权限,以防止应用程序的故意破坏。信息与计算机学院嵌入式实时操作系统内核嵌入式实时操作系统内核共享库共享库任务任务 任务任务 信号量信号量任务任务信号量信号量堆堆堆堆堆堆共享数据共享数据域域基于域的内存管理方式基于域的内存管理方式 信息与计算机学院虚拟内存虚拟内存 为用户提供一种不受物理存储器结构为用户提供一种不受物理存储器结构和容量限制的存储管理技术,是桌面和容量限制的存储管理技术,是桌面/服服务器操作系统为在所有任务中使用有限物务器操作系统为在所有任务中使用有限物理内存的通常方法,每个任务从内存中获理内存的通常方法,每个任务从内存中获得一定数量的页面,并且,当前不访问的得一定数量的页面,并且,当前不访问的页面将被置换出去,为需要页面的其他任页面将被置换出去,为需要页面的其他任务腾出空间。务腾出空间。信息与计算机学院虚拟内存的概念图信息与计算机学院谢谢!信息与计算机学院此课件下载可自行编辑修改,仅供参考!此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢感谢您的支持,我们努力做得更好!谢谢

    注意事项

    本文(嵌入式系统内存管理只是分享.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开