嵌入式实时操作系统的设计与开发

Caramel_biscuit1 年前
嵌入式实时操作系统·1024程序员节·嵌入式实时操作系统的设计与开发
嵌入式实时操作系统的设计与开发(信号量学习)除了临界点机制、互斥量机制可实现临界资源的互斥访问外,信号量(Semaphore)是另一选择。信号量与互斥量的区别
Caramel_biscuit1 年前
嵌入式实时操作系统·1024程序员节·嵌入式实时操作系统的设计与开发
嵌入式实时操作系统的设计与开发(消息)从概念上讲,消息机制和邮箱机制很类似,区别在于邮箱一般只能容纳一条消息,而消息则会包含一系列的消息。 系统定义了一个全局变量g_msgctr_header,通过它可以查找到任一已创建的消息容器。 每一个消息容器都可以根据其参数性质(1VS1:1对1的消息通信、1VSn:1对多的消息通信、nVSn:多对多的消息通信、nVS1等)来实现不同的通信方式。
Caramel_biscuit1 年前
学习·嵌入式实时操作系统·1024程序员节·嵌入式实时操作系统的设计与开发
嵌入式实时操作系统的设计与开发 (启动内核学习)RTOS的引导是指将操作系统装入内存并开始执行的过程。 时间限制主要包括:系统要求快速启动和系统启动后要求程序能实时运行。 空间限制主要包括:Flash等非易失性存储空间限制和RAM等易失性存储空间限制。
Caramel_biscuit1 年前
服务器·学习·性能优化·嵌入式实时操作系统·嵌入式实时操作系统的设计与开发
嵌入式实时操作系统的设计与开发(调度策略学习)将调度分为两层,上层为策略,下层为机制,并且采用策略与机制分离的设计原则,可以方便灵活地扩展调度策略,而不改变底层的调度机制。
Caramel_biscuit1 年前
学习·算法·嵌入式实时操作系统·嵌入式实时操作系统的设计与开发
嵌入式实时操作系统的设计与开发(调度线程学习)线程的调度分为两种:主动调度、被动调度。调度的本质就是从就绪队列中找到最高优先级的线程来执行。第一个判断条件need_sched失效的频率是最高的,放在最开始有助于提高性能。