嵌入式系统及应用-Chapter8-内存管理

时间:2025-04-20

嵌入式系统教程

嵌入式系统及应用

电子科技大学嵌入式软件工程中心

嵌入式系统教程

第八章 内存管理

电子科技大学嵌入式软件工程中心

嵌入式系统教程

主要内容 概述 内存管理机制 内存保护

电子科技大学嵌入式软件工程中心

嵌入式系统教程

概述 不同实时内核所采用的内存管理方式不 有的简单,有的复杂. 同,有的简单,有的复杂. 实时内核所采用的内存管理方式与应用 领域和硬件环境密切相关. 领域和硬件环境密切相关.– 在强实时应用领域,内存管理方法就比较简 在强实时应用领域, 甚至不提供内存管理功能. 单,甚至不提供内存管理功能. – 一些实时性要求不高,可靠性要求比较高, 一些实时性要求不高,可靠性要求比较高, 且系统比较复杂的应用在内存管理上就相对 复杂些, 复杂些,可能需要实现对操作系统或是任务 的保护. 的保护.电子科技大学嵌入式软件工程中心

嵌入式系统教程

概述 嵌入式实时操作系统在内存管理方面

需要考虑如下因素: 需要考虑如下因素:快速而确定的内存管理

不使用内存管理:最快速和最确定的内 不使用内存管理:

存管理方式, 存管理方式,适用于那些小型的嵌入式 系统,系统中的任务比较少, 系统,系统中的任务比较少,且数量固 定. 通常的操作系统都至少具有基本的内存 通常的操作系统都至少具有基本的内存

管理方法: 管理方法:提供内存分配与释放的系统 调用. 调用.电子科技大学嵌入式软件工程中心

嵌入式系统教程

概述不使用虚拟存储技术

虚拟存储技术: 虚拟存储技术:– 为用户提供一种不受物理存储器结构和容量限制的 存储管理技术,是桌面/服务器操作系统为在所有任 存储管理技术,是桌面 服务器操作系统为在所有任 务中使用有限物理内存的通常方法, 务中使用有限物理内存的通常方法,每个任务从内 存中获得一定数量的页面,并且, 存中获得一定数量的页面,并且,当前不访问的页 面将被置换出去,为需要页面的其他任务腾出空间. 面将被置换出去,为需要页面的其他任务腾出空间. – 置换是一种具有不确定性的操作:当任务需要使 的操作: 用当前被置换出去的页面中的代码和数据时, 用当前被置换出去的页面中的代码和数据时,将不 得不从磁盘中获取页面, 得不从磁盘中获取页面,而在内存中另外的页面又 可能不得不需要先被置换出去. 可能不得不需要先被置换出去.

在嵌入式实时操作系统中一般不使用虚拟存储 技术, 避免页面置换所带来的开销. 技术,以避免页面置换所带来的开销.电子科技大学嵌入式软件工程中心

嵌入式系统教程

概述内存保护 平面内存模式: 平面内存模式: – 应用程序和系统程序能够对整个内存空间进

行访问. 行访问. – 平面内存模式比较简单 , 易于管理 , 性能也 平面内存

模式比较简单,易于管理, 比较高. 比较高. – 适合于程序简单 , 代码量小和实时性要求比 适合于程序简单, 较高的领域. 较高的领域. 内存保护: 内存保护: – 应用比较复杂,程序量比较大的情况; 应用比较复杂,程序量比较大的情况; – 防止应用程序破坏操作系统或是其他应用程 序的代码和数据. 序的代码和数据.电子科技大学嵌入式软件工程中心

嵌入式系统教程

电子科技大学嵌入式软件工程中心

嵌入式系统教程

电子科技大学嵌入式软件工程中心

嵌入式系统教程

电子科技大学嵌入式软件工程中心

嵌入式系统教程

内存管理机制– 常用管理方式: 常用管理方式: 固定大小存储区: 固定大小存储区: –在指定边界的一块地址连续的内存空间中, 在指定边界的一块地址连续的内存空间中, 在指定边界的一块地址连续的内存空间中 实现固定大小内存块的分配. 实现固定大小内存块的分配. 可变大小存储区: 可变大小存储区: –在指定边界的一块地址连续的内存空间中, 在指定边界的一块地址连续的内存空间中, 在指定边界的一块地址连续的内存空间中 实现可变大小内存块的分配. 实现可变大小内存块的分配. 应用根据需要从固定大小存储区或者可变大 小存储区中获得一块内存空间, 小存储区中获得一块内存空间,用完后将该 内存空间释放回相应的存储区. 内存空间释放回相应的存储区.电子科技大学嵌入式软件工程中心

嵌入式系统教程

固定大小存储区管理可供使用的一段连续的内存空间被称为是一个分区; 可供使用的一段连续的内存空间被称为是一个分区; 分区由大小固定的内存块构成, 分区由大小固定的内存块构成,且分区的大小是内存块大 小的整数倍数. 小的整数倍数.内存块1 内存块 内存块2 内存块 512字节 字节 内存块3 内存块 内存块4 内存块 128字节 字节

一个大小为512字节的分区,内存块为128个字节的分区 一个大小为512字节的分区,内存块为128个字节的分区 512字节的分区 128

电子科技大学嵌入式软件工程中心

嵌入式系统教程

typedef struct { PartitionID ID; /*分区的 分区的ID*/ 分区的 PartitionName Name; /*分区的名字 分区的名字*/ 分区的名字 void *starting_address; /*分区的起始地址 分区的起始地址*/ 分区的起始地址 int length; /*分区的长度 …… 此处隐藏:3543字,全部文档内容请下载后查看。喜欢就下载吧 ……

嵌入式系统及应用-Chapter8-内存管理.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219