RAW-OS
1.tick_list中,剩余时间最少的任务排在最前面。
2.时间片轮转发生在同等优先级的任务之间。
3.semaphore中,当任务因为得到信号量而被唤醒时,系统从信号量链表的最前端获取任务地址。(在阻塞时,进入队列的方式是 block_way == RAW_BLOCKED_WAY_PRIO)
4.queue中,如果opt_send_method = SEND_TO_END,那么就存放在 write 指针处;否则就存放在 read 指针处
5.对于信号量,互斥量,事件的区别。
原文地址:http://www.kalinskyassociates.com/Wpaper1.html
Another kind of communication between tasks in embedded systems is the passing of what might be called
“synchronization information” from one task to another. “Synchronization information” is like a command, where some
commands could be positive, and some negative. For example, a negative command to a task would be something like
“Please don’t print right now, because my task is using the printer”. Or more generally, “I want to lock the … for my own
use only”. A positive command would be something like “I’ve detected a cardiac emergency, and I want you to help me
handle it”. Or more generally, “Please join me in handling ….”.
Most RTOSs offer a semaphore or mutex mechanism for handling negative synchronization (sometimes called “mutual
exclusion”). These mechanisms allow tasks to lock certain embedded system resources for their use only, and
subsequently to unlock the resource when they’re done.
For positive synchronization, different RTOSs offer different mechanisms. Some RTOSs offer event-flags, while others
offer signals. And yet others rely on message passing for positive synchronization as well as data passing duties.