原文:RT-thread内核之信号量

一 信号量控制块:在include rtdef.h中 信号量是用来解决线程同步和互斥的通用工具,和互斥量类似,信号量也可用作资源互斥访问,但信号量没有所有者的概念,在应用上比互斥量更广泛。信号量比较简单,不能解决优先级翻转问题,但信号量是一种轻量级的对象,比互斥量小巧 灵活。因此在很多对互斥要求不严格的系统中 或者不会造成优先级翻转的情况下 ,经常使用信号量来管理互斥资源。value为信号计数器, ...

2015-03-04 17:20 0 3686 推荐指数:

查看详情

RT-Thread学习笔记2-互斥信号量

目录 1. 临界区保护 1.1 方法一:关闭系统调度保护临界区 1.2 方法二:互斥特性保护临界区 2. 信号量 2.1 信号量的定义 2.2 信号量的操作 3. 生产者、消费者问题 4. 互斥 ...

Thu Feb 18 16:19:00 CST 2021 0 466
RT-thread内核之邮箱

一、邮箱控制块:在include/rtdef.h中 二、邮箱相关接口:在src/ipc.c中 三、小结 邮箱相关源码主要是 ...

Fri Mar 06 02:28:00 CST 2015 0 2054
RT-thread内核之异常与中断

一、什么是中断? 中断有两种,一种是CPU本身在执行程序的过程中产生的,一种是由CPU外部产生的。 cpu外部中断,就是通常所讲的“中断”(interrupt)。对于执行程序来说,这种“中断”的发生 ...

Fri Feb 13 20:00:00 CST 2015 0 2383
RT-thread内核之事件

一、事件控制块:在include/rtdef.h中 二、事件相关接口:在src/ipc.c中 ...

Thu Mar 05 19:59:00 CST 2015 0 2624
RT-thread内核之系统时钟

一、系统时钟 rt-thread的系统时钟模块采用全局变量rt_tick作为系统时钟节拍,该变量在系统时钟中断函数中不断加1。而系统时钟中断源和中断间隔一般由MCU硬件定时器(如stm32的嘀嗒定时器)决定,rt_tick初始值为0,每次MCU产生硬件定时中断后,在中断函数中不断加 ...

Tue Feb 10 19:50:00 CST 2015 0 3931
linux 内核信号量

Linux内核信号量在概念和原理上和用户态的System V的IPC机制信号量是相同的,不过他绝不可能在内核之外使用,因此他和System V的IPC机制信号量毫不相干。   信号量在创建时需要设置一个初始值,表示同时能有几个任务能访问该信号量保护的共享资源,初始值为1就变成互斥锁(Mutex ...

Wed May 17 01:51:00 CST 2017 0 1293
RT-thread内核之小内存管理算法

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

Wed Feb 11 04:14:00 CST 2015 0 3232
RT-thread内核之线程调度算法

一个操作系统如果只是具备了高优先级任务能够“立即”获得处理器并得到执行的特点,那么它仍然不算是实时操作系统。因为这个查找最高优先级线程的过程决定了调度时间是否具有确定性,例如一个包含n个就 ...

Sun Feb 08 19:30:00 CST 2015 0 2457
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM