资料介绍
一、内存的基本概念
内存是计算机系统中除了处理器以外最重要的资源,用于存储当前正在执行的程序和数据。内存是相对于 CPU 来说的,CPU 可以直接寻址的存储空间叫做内存,CPU 需要通过驱动才能访问的叫做外存。
内存一般采用半导体存储单元,分为只读存储器(ROM,Read Only Memory)、随机存储器(RAM,Random Access Memory)ROM 一般只能读取不能写入,掉电后其中的数据也不会丢失。RAM 既可以从中读取也可以写入,但是掉电后其中的数据会丢失。内存一般指的就是 RAM。 ROM 在嵌入式系统中一般用于存储 BootLoader 以及操作系统或者程序代码或者直接当硬盘使用。近年来闪存(Flash)已经全面代替了 ROM 在嵌入式系统中的地位,它结合了 ROM 和 RAM 的长处,不仅具备电子可擦除可编程的特性,而且断电也不会丢失数据,同时可以快速读取数据。
三、两类内存管理方式 内存管理模块管理系统的内存资源,它是操作系统的核心模块之一。主要包括内存的初始化、分配以及释放。
从分配内存是否连续,可以分为两大类。连续内存管理为进程分配的内存空间是连续的,但这种分配方式容易形成内存碎片(碎片是难以利用的空闲内存,通常是小内存),降低内存利用率。连续内存管理主要分为单一连续内存管理和分区式内存管理两种。非连续内存管理将进程分散到多个不连续的内存空间中,可以减少内存碎片,内存使用率更高。如果分配的基本单位是页,则称为分页内存管理;如果基本单位是段,则称为分段内存管理。当前的操作系统,普遍采用非连续内存管理方式。不过因为分配粒度较大,对于内存较小的嵌入式系统,一般采用连续内存管理。本文主要对嵌入式系统中常用的连续内存管理的分区式内存管理进行介绍。
四、分区式内存管理 分区式内存管理分为固定分区和动态分区。
固定分区
事先就把内存划分为若干个固定大小的区域。分区大小既可以相等也可以不等。固定分区易于实现,但是会造成分区内碎片浪费,而且分区总数固定,限制了可以并发执行的进程数量。
动态分区
根据进程的实际需要,动态地给进程分配所需内存。
五、动态分区内存管理 运作机制
动态分区管理一般采用空闲链表法,即基于一个双向链表来保存空闲分区。对于初始状态,整个内存块都会被作为一个大的空闲分区加入到空闲链表中。当进程申请内存时,将会从这个空闲链表中找到一个大小满足要求的空闲分区。如果分区大于所需内存,则从该分区中拆分出需求大小的内存交给进程,并将此拆分出的内存从空闲链表中移除,剩下的内存仍然是一个挂在空闲链表中的空闲分区。
数据结构
空闲链表法有多种数据结构实现,这里介绍一种较为简单的数据结构。每个空闲分区的数据结构中包含分区的大小,以及指向前一个分区和后一个分区的指针,这样就能将各个空闲分区链接成一个双向链表。
- 如何在MCU上高效地管理内存?
- 使用Java实现的学生管理系统详细资料说明 3次下载
- 嵌入式系统教程之嵌入式操作系统的内存管理详细资料说明 6次下载
- Android系统电源的管理和省电机制的详细资料说明
- Linux操作系统分析与实践PDF电子书免费下载 15次下载
- Java教程之XML与内容管理的详细资料说明 10次下载
- 机器学习算法中的FSS算法详细资料合集免费下载 9次下载
- 机器学习算法中的ID3算法详细资料合集免费下载 5次下载
- CAD快捷键和CAD实用技巧最全操作系统(完美排版)详细资料免费下载 0次下载
- S32K144实时操作系统演示DEMO V1.05的详细资料和函数免费下载 61次下载
- 供电系统原理图详细资料免费下载 43次下载
- C51单片机上移植UCOS操作系统的详细资料和程序免费下载 28次下载
- 动力电池管理系统详细资料免费下载 53次下载
- AM3715和AM3703的内存子系统详细资料概述 4次下载
- 无线信息设备的理想操作系统Symbian OS
- 操作系统的内存布局介绍 152次阅读
- 深度解析全球操作系统格局 674次阅读
- 内存的基本概念以及操作系统的内存管理算法 1486次阅读
- Linux内存管理体系介绍 1461次阅读
- 使用memheap内存管理算法对片内RAM和片外SDRAM进行管理的方法 3123次阅读
- RS232接口串口取电电路的详细资料介绍 7872次阅读
- Linux操作系统知识讲解:避免内存使用七大坑 2737次阅读
- Linux操作系统知识讲解:走进Linux 内存分配算法 5324次阅读
- Linux操作系统知识讲解:走进linux 内存地址空间 4905次阅读
- Linux操作系统知识讲解:走进内存 2257次阅读
- 程序员必须知道的操作系统核心概念详细说明 3213次阅读
- 操作系统内存的详细资料讲解分析 4212次阅读
- 嵌入式系统内存管理机制详解 4430次阅读
- 简要介绍了操作系统虚拟化的概念,以及实现操作系统虚拟化的技术 1.3w次阅读
- 基于FreeRTOS的嵌入式实时操作系统的原理和实现 6562次阅读
下载排行
本周
- 1使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 2联想E46L DAOLL6笔记本电脑图纸
- 1.10 MB | 2次下载 | 5 积分
- 3MATLAB绘图合集
- 27.12 MB | 2次下载 | 5 积分
- 4PR735,使用UCC28060的600W交错式PFC转换器
- 540.03KB | 1次下载 | 免费
- 5UCC38C42 30W同步降压转换器参考设计
- 428.07KB | 1次下载 | 免费
- 6DV2004S1/ES1/HS1快速充电开发系统
- 2.08MB | 1次下载 | 免费
- 7模态分解合集matlab代码
- 3.03 MB | 1次下载 | 2 积分
- 8美的电磁炉维修手册大全
- 1.56 MB | 1次下载 | 5 积分
本月
- 1使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 2UC3842/3/4/5电源管理芯片中文手册
- 1.75 MB | 15次下载 | 免费
- 3DMT0660数字万用表产品说明书
- 0.70 MB | 13次下载 | 免费
- 4TPS54202H降压转换器评估模块用户指南
- 1.02MB | 8次下载 | 免费
- 5STM32F101x8/STM32F101xB手册
- 1.69 MB | 8次下载 | 1 积分
- 6HY12P65/HY12P66数字万用表芯片规格书
- 0.69 MB | 6次下载 | 免费
- 7华瑞昇CR216芯片数字万用表规格书附原理图及校正流程方法
- 0.74 MB | 6次下载 | 3 积分
- 8华瑞昇CR215芯片数字万用表原理图
- 0.21 MB | 5次下载 | 3 积分
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多