资料介绍
一、内存的基本概念
内存是计算机系统中除了处理器以外最重要的资源,用于存储当前正在执行的程序和数据。内存是相对于 CPU 来说的,CPU 可以直接寻址的存储空间叫做内存,CPU 需要通过驱动才能访问的叫做外存。
内存一般采用半导体存储单元,分为只读存储器(ROM,Read Only Memory)、随机存储器(RAM,Random Access Memory)ROM 一般只能读取不能写入,掉电后其中的数据也不会丢失。RAM 既可以从中读取也可以写入,但是掉电后其中的数据会丢失。内存一般指的就是 RAM。 ROM 在嵌入式系统中一般用于存储 BootLoader 以及操作系统或者程序代码或者直接当硬盘使用。近年来闪存(Flash)已经全面代替了 ROM 在嵌入式系统中的地位,它结合了 ROM 和 RAM 的长处,不仅具备电子可擦除可编程的特性,而且断电也不会丢失数据,同时可以快速读取数据。
三、两类内存管理方式 内存管理模块管理系统的内存资源,它是操作系统的核心模块之一。主要包括内存的初始化、分配以及释放。
从分配内存是否连续,可以分为两大类。连续内存管理为进程分配的内存空间是连续的,但这种分配方式容易形成内存碎片(碎片是难以利用的空闲内存,通常是小内存),降低内存利用率。连续内存管理主要分为单一连续内存管理和分区式内存管理两种。非连续内存管理将进程分散到多个不连续的内存空间中,可以减少内存碎片,内存使用率更高。如果分配的基本单位是页,则称为分页内存管理;如果基本单位是段,则称为分段内存管理。当前的操作系统,普遍采用非连续内存管理方式。不过因为分配粒度较大,对于内存较小的嵌入式系统,一般采用连续内存管理。本文主要对嵌入式系统中常用的连续内存管理的分区式内存管理进行介绍。
四、分区式内存管理 分区式内存管理分为固定分区和动态分区。
固定分区
事先就把内存划分为若干个固定大小的区域。分区大小既可以相等也可以不等。固定分区易于实现,但是会造成分区内碎片浪费,而且分区总数固定,限制了可以并发执行的进程数量。
动态分区
根据进程的实际需要,动态地给进程分配所需内存。
五、动态分区内存管理 运作机制
动态分区管理一般采用空闲链表法,即基于一个双向链表来保存空闲分区。对于初始状态,整个内存块都会被作为一个大的空闲分区加入到空闲链表中。当进程申请内存时,将会从这个空闲链表中找到一个大小满足要求的空闲分区。如果分区大于所需内存,则从该分区中拆分出需求大小的内存交给进程,并将此拆分出的内存从空闲链表中移除,剩下的内存仍然是一个挂在空闲链表中的空闲分区。
数据结构
空闲链表法有多种数据结构实现,这里介绍一种较为简单的数据结构。每个空闲分区的数据结构中包含分区的大小,以及指向前一个分区和后一个分区的指针,这样就能将各个空闲分区链接成一个双向链表。
- 如何在MCU上高效地管理内存? 2次下载
- FAT32文件系统的详细资料介绍 32次下载
- 使用Java实现的学生管理系统详细资料说明 3次下载
- 嵌入式系统教程之嵌入式操作系统的内存管理详细资料说明 6次下载
- Android系统电源的管理和省电机制的详细资料说明 6次下载
- 分形插值算法的详细资料说明 0次下载
- UCOSII操作系统的一些使用程序详细资料说明 4次下载
- 机器学习算法中的FSS算法详细资料合集免费下载 9次下载
- 机器学习算法中的ID3算法详细资料合集免费下载 5次下载
- CAD快捷键和CAD实用技巧最全操作系统(完美排版)详细资料免费下载 0次下载
- S32K144实时操作系统演示DEMO V1.05的详细资料和函数免费下载 58次下载
- C51单片机上移植UCOS操作系统的详细资料和程序免费下载 28次下载
- 动力电池管理系统详细资料免费下载 53次下载
- Excel DSP兼容的第三方算法用在语音系统上的详细资料概述 7次下载
- 无线信息设备的理想操作系统Symbian OS 14次下载
- 深度解析全球操作系统格局 199次阅读
- FreeRTOS:一个迷你的实时操作系统内核 479次阅读
- 内存的基本概念以及操作系统的内存管理算法 1265次阅读
- Linux内存管理体系介绍 1191次阅读
- 使用memheap内存管理算法对片内RAM和片外SDRAM进行管理的方法 2570次阅读
- RS232接口串口取电电路的详细资料介绍 6051次阅读
- Linux操作系统知识讲解:避免内存使用七大坑 2604次阅读
- Linux操作系统知识讲解:走进Linux 内存分配算法 5046次阅读
- Linux操作系统知识讲解:走进内存 2090次阅读
- 程序员必须知道的操作系统核心概念详细说明 3060次阅读
- 操作系统内存的详细资料讲解分析 3975次阅读
- 数据存储内存管理是为了什么 1359次阅读
- Linux操作系统的四道测试题和答案概述 3936次阅读
- 嵌入式系统内存管理机制详解 4308次阅读
- 简要介绍了操作系统虚拟化的概念,以及实现操作系统虚拟化的技术 1.2w次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多