摘要:本文为大家剖析LiteOS动态内存模块bestfit算法的源代码,包含动态内存的结构体、动态内存池初始化、动态内存申请、释放等。 内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括内存的初始化、分配以及释放。 在系统运行过程中,内存管理模块通过对内存的申请/释放 ...
摘要:本文带领大家一起剖析了LiteOS静态内存模块的源代码,包含静态内存的结构体 静态内存池初始化 静态内存申请 释放 清除内容等。 内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括内存的初始化 分配以及释放。 在系统运行过程中,内存管理模块通过对内存的申请 释放来管理用户和OS对内存的使用,使内存的利用率和使用效率达到最优,同时最大限度地解决系统的内存碎片问题。 Huaw ...
2021-05-06 11:38 0 250 推荐指数:
摘要:本文为大家剖析LiteOS动态内存模块bestfit算法的源代码,包含动态内存的结构体、动态内存池初始化、动态内存申请、释放等。 内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括内存的初始化、分配以及释放。 在系统运行过程中,内存管理模块通过对内存的申请/释放 ...
摘要:LiteOS任务栈是高地址向低地址生长的递减栈,栈指针指向即将入栈的元素位置。 我们介绍下LiteOS任务栈的基础概念。LiteOS任务栈是高地址向低地址生长的递减栈,栈指针指向即将入栈的元素位置。初始化后未使用过的栈空间初始化的内容为宏OS_STACK_INIT代表的数值 ...
摘要:本文通过分析LiteOS队列模块的源码,掌握队列使用上的差异。 队列(Queue)是一种常用于任务间通信的数据结构。任务能够从队列里面读取消息,当队列中的消息为空时,挂起读取任务;当队列中有新消息时,挂起的读取任务被唤醒并处理新消息。任务也能够往队列里写入消息,当队列已经写满消息时 ...
摘要:静态内存实质上是一个静态数组,静态内存池内的块大小在初始化时设定,初始化后块大小不可变更。静态内存池由一个控制块和若干相同大小的内存块构成。控制块位于内存池头部,用于内存块管理。内存块的申请和释放以块大小为粒度。 本文分享自华为云社区《鸿蒙轻内核M核源码分析系列八 静态内存 ...
摘要:调度,Schedule也称为Dispatch,是操作系统的一个重要模块,它负责选择系统要处理的下一个任务。调度模块需要协调处于就绪状态的任务对资源的竞争,按优先级策略从就绪队列中获取高优先级的任务,给予资源使用权。 本文分享自华为云社区《LiteOS内核源码分析系列六 -任务及调度 ...
1. LiteOS内核的内存管理 1.1. 内存管理 在系统运行的过程中,一些内存空间大小是不确定的,比如一些数据缓冲区,所以系统需要提供内存空间的管理能力,用户可以在使用的时候申请需要的内存空间,使用完毕释放该空间,以便再次利用。 Huawei LiteOS 的内存管理模块通过对内存的申请 ...
目录 前言 笔录草稿 核心源码分析 osTaskSchedule函数源码分析 osPendSV函数源码分析 TaskSwitch函数源码分析 调度上层源码分析 osSchedule函数源码分析 ...
20201009 移植好内核后,开始实战内核。 源码分析一般都在代码注释中。 本文Lite ...