原文:源码解读·RT-Thread小内存管理算法分析

这篇文章最初发布在RT Thread官方论坛中,最近准备整理放到博客中来让更多人一起探讨学习。 年 月 日星期五 前言: 母语能力有限 概述: 这篇文字和大家分享一下今晚对RT Thread的内存管理 小内存管理算法的理解。若有不对的地方请大家丢砖。 正文: 分析的源码文件mem.c 主要的几个函数: rt system heap init rt malloc rt free plug holes ...

2019-06-24 11:19 0 637 推荐指数:

查看详情

RT-thread内核之内存管理算法

一、动态内存管理 动态内存管理是一个真实的堆(Heap)内存管理模块,可以在当前资源满足的情况下,根据用户的需求分配任意大小的内存块。而当用户不需要再使用这些内存块时,又可以释放回堆中供其他应用分配使用。RT-Thread系统为了满足不同的需求,提供了两套不同的动态内存管理算法 ...

Wed Feb 11 04:14:00 CST 2015 0 3232
RT-Thread的位图调度算法分析(最新版)

RT-Thread的内核调度算法 rt-thread的调度算法为基于优先级调度和基于时间片轮转调度共存的策略。rt-thread内核中存在多个线程优先级,并且支持多个线程具有同样的线程优先级。线程级别数目在rtconfig.h中以宏定义的方式配置, 当系统存在多个线程时,可能的情况是,某些线程 ...

Mon Aug 13 22:52:00 CST 2018 1 1476
源码解读·RT-Thread多任务调度算法

*本文依据RT-Thread当时最新版本4.0.1版本源码 RT-Thread操作系统是一款基于优先级和时间片轮转的多任务实时操作系统。其调度算法采用256个优先级,并支持相同优先级的任务存在。不同优先级的任务采用优先级调度,而相同优先级的任务则采用时间片轮转调度。其实这种调度算法在绝大多数系统 ...

Thu Jun 27 22:11:00 CST 2019 0 820
源码解读·RT-Thread操作系统从开机到关机

本篇内容比较简单,但却很繁琐,篇幅也很长,毕竟是囊括了整个操作系统的生命周期。这篇文章的目的是作为后续设计多任务开发的铺垫,后续会单独再抽出一篇分析任务的相关知识。另外本篇文章以单核MCU为背景,并且以最新的3.1.xLTS版本源码进行分析。主要内容目录如下: 基于bsp/stm32 ...

Wed Jul 10 18:26:00 CST 2019 1 3764
RT-Thread中的串口DMA分析

这里分析一下RT-Thread中串口DMA方式的实现,以供做新处理器串口支持时的参考。 背景 在如今的芯片性能和外设强大功能的情况下,串口不实现DMA/中断方式操作,我认为在实际项目中基本是不可接受的,但遗憾的是,rt-thread现有支持的实现中,基本上没有支持串口的DMA,文档也没有 ...

Wed Sep 11 15:25:00 CST 2019 0 887
分析linux内核中的slub内存管理算法

1. 分析的linux内核源码版本为4.18.0 2. 与slub相关的内核配置项为CONFIG_SLUB 3. 一切都从一个结构体数组kmalloc_caches开始,它的原型如下:   3.1 这个数组定义在mm/slab_common.c中   3.2 ...

Sat Mar 09 02:29:00 CST 2019 0 609
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM