嵌入式系统内存管理只是分享.ppt
《嵌入式系统内存管理只是分享.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统内存管理只是分享.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、信息与计算机学院嵌入式系统内存管理信息与计算机学院概述概述 内存管理系统式嵌入式操作系统内核中重要的功能之一。由于处理器直接运行和处理的程序和数据只能放在内存中,因此内存的管理质量是否优良将直接影响系统。信息与计算机学院内存管理的主要功能内存管理的主要功能虚拟内存空间虚拟内存空间 操作系统采用虚拟内存功能使系统显得它有比实际大操作系统采用虚拟内存功能使系统显得它有比实际大得多得内存空间,虚拟内存可以比系统中的物理内存大好得多得内存空间,虚拟内存可以比系统中的物理内存大好多。多。保护保护 系统中每个进程都有自己的虚拟地址空间,这些虚拟系统中每个进程都有自己的虚拟地址空间,这些虚拟内存空间相互之间
2、完全分离,因此运行一个应用的进程不内存空间相互之间完全分离,因此运行一个应用的进程不会影响其他的进程。同样,硬件的虚拟内存机制允许内存会影响其他的进程。同样,硬件的虚拟内存机制允许内存区域被写保护,这样就保护了代码和数据不被恶意应用重区域被写保护,这样就保护了代码和数据不被恶意应用重写。写。信息与计算机学院内存映射内存映射 内存映射用来把映像和数据文件映像到一个进程的地内存映射用来把映像和数据文件映像到一个进程的地址空间。在内存映射中,文件的内容被直接链接到进程的址空间。在内存映射中,文件的内容被直接链接到进程的虚拟地址空间。虚拟地址空间。公平物理内存分配公平物理内存分配 内存管理系统给予系统
3、中运行的每个进程公平的一份内存管理系统给予系统中运行的每个进程公平的一份系统物理内存。系统物理内存。共享虚拟内存共享虚拟内存 尽管虚拟内存允许进程拥有分隔的虚拟地址空间,但尽管虚拟内存允许进程拥有分隔的虚拟地址空间,但有时还需要进程共享内存,如进程间通信需要共享内存。有时还需要进程共享内存,如进程间通信需要共享内存。信息与计算机学院内存保护内存保护 内存保护可通过硬件提供的内存保护可通过硬件提供的MMUMMU(memory memory management unitmanagement unit)来实现。)来实现。目前,大多数处理器都集成了目前,大多数处理器都集成了MMUMMU:大幅度降低那
4、些通过在处理器外部添加MMU模块的处理方式所存在的内存访问延迟。MMU现在大都被设计作为处理器内部指令执行流水线的一部分,使得使用MMU不会降低系统性能,相反,如果系统软件不使用MMU,还会导致处理器的性能降低。在某些情况下,不使能MMU,跳过处理器的相应流水线,可能导致处理器的性能降低80%左右。信息与计算机学院早期的嵌入式操作系统大都没有采用早期的嵌入式操作系统大都没有采用MMUMMU:一方面是出于对硬件成本硬件成本的考虑;另一方面是出于实时性实时性的考虑。嵌入式系统发展到现在,硬件成本越来越低,嵌入式系统发展到现在,硬件成本越来越低,MMUMMU所带来的成本因素基本上可以不用考虑所带来的
5、成本因素基本上可以不用考虑原来的嵌入式原来的嵌入式CPUCPU的速度较慢,采用的速度较慢,采用MMUMMU通常会通常会造成对时间性能的不满足,而现在造成对时间性能的不满足,而现在CPUCPU的速度的速度也越来越快,并且采用新技术后,已经将也越来越快,并且采用新技术后,已经将MMUMMU所带来的所带来的时间代价时间代价降低到比较低的程度降低到比较低的程度嵌入式嵌入式CPUCPU具有具有MMUMMU的功能已经是一种必要的趋的功能已经是一种必要的趋势。势。信息与计算机学院由于采用由于采用MMUMMU后对应用的运行模式甚至开发模后对应用的运行模式甚至开发模式都会有一些影响,大量嵌入式操作系统都没式都会
6、有一些影响,大量嵌入式操作系统都没有使用有使用MMUMMU。对于安全性、可靠性要求高的应用来讲如果不对于安全性、可靠性要求高的应用来讲如果不采用采用MMUMMU,则几乎不可能达到应用的要求。,则几乎不可能达到应用的要求。如果没有如果没有MMUMMU的功能,将无法防止程序的的功能,将无法防止程序的无意破坏无意破坏,无法截获各种非法的无法截获各种非法的访问异常访问异常,当然更不可能防止,当然更不可能防止应用程序的应用程序的蓄意破坏蓄意破坏了。了。采用采用MMUMMU后,便于发现更多的潜在问题,并且也便后,便于发现更多的潜在问题,并且也便于问题的定位。于问题的定位。未采用未采用MMUMMU时,内存模
7、式一般都是平面模式,应用可以任时,内存模式一般都是平面模式,应用可以任意访问任何内存区域、任何硬件设备,程序中出现非法访意访问任何内存区域、任何硬件设备,程序中出现非法访问时,开发人员是无从知晓的,也非常难于定位。问时,开发人员是无从知晓的,也非常难于定位。信息与计算机学院内存保护内存保护MMUMMU通常具有如下功能:通常具有如下功能:内存映射内存映射;检查逻辑地址是否在限定的地址范围限定的地址范围内,防止页面地址越界;检查对内存页面的访问是否违背特权信息特权信息,防止越权操作内存页面;在必要的时候(页面地址越界或是页面操作越权)产生异常异常。信息与计算机学院应用应用程序程序逻辑地址逻辑地址M
8、MUMMU物理内存物理内存物理地址物理地址内存映射把应用程序使用的地址集合(逻辑地址)翻内存映射把应用程序使用的地址集合(逻辑地址)翻译为实际的物理内存地址(物理地址)译为实际的物理内存地址(物理地址)信息与计算机学院内存保护内存保护大多数处理器的典型页面大小为大多数处理器的典型页面大小为4K4K字节,字节,有些处理器也可能使用大于有些处理器也可能使用大于4K4K字节的页面,字节的页面,但页面大小总是但页面大小总是2 2的幂,以对发生在的幂,以对发生在MMUMMU中中的地址映射行为流水线化。的地址映射行为流水线化。当页放置到物理内存时,页面将放置到当页放置到物理内存时,页面将放置到页页框架(框
9、架(page framepage frame)中。)中。页框架是物理内存的一部分,具有与页面同样的大小,且开始地址为页面大小的整数倍。信息与计算机学院MMU包含着能够把逻辑地址映射为物理地址的表,称为页表页表。操作系统操作系统能够在需要的时候对这种映射关系进行改变:应用程序对内存的需求发生变化或是添加或删除应用程序的时候。在应用程序中的任务发生上下文切换时。信息与计算机学院页号页号逻辑地址逻辑地址偏移量偏移量页框架页框架物理地址物理地址偏移量偏移量页表基址寄存器页表基址寄存器特权和其特权和其他信息他信息页框架页框架页表页表基于页表的内存映射过程基于页表的内存映射过程 。信息与计算机学院每个内存
10、页还具有一些特权和状态信息。每个内存页还具有一些特权和状态信息。MMU提供二进制位来标识每个页面的特权或状态信息。这些二进制位用来确定页面中的内容是否:可被处理器指令所使用(执行特权)可被处理器指令所使用(执行特权)可写(写特权)可写(写特权)可读(读特权)可读(读特权)已被回写(脏位)已被回写(脏位)当前在物理内存中(有效位)当前在物理内存中(有效位)信息与计算机学院在操作系统的支持下,在操作系统的支持下,MMUMMU还提供虚拟存储功能,还提供虚拟存储功能,即在任务所需要的内存空间超过能够从系统中获即在任务所需要的内存空间超过能够从系统中获得的物理内存空间的情况下,也能够得到正常运得的物理内
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 内存 管理 只是 分享
限制150内