ecos posix_ecos_ecos和ucos(2)

电脑杂谈  发布时间:2017-02-13 14:01:22  来源:网络整理

UC/OS中只有OSTimeDly()处理时间间隔事件

=======================

同步机制:

eCos实现的同步机制有Mutex, Condition variables, Semaphore, Mailbox, Messagequeue, Event flags, Spinlock。Conditionvariables用于和Mutex联合使用,以完成对某些资源的较长时间的等待。Semaphore有两种,分别是Binarysemaphore和Countingsemaphore。Mailbox的结构是一个FIFO类型的循环队列,存储的是指针,很像UC/OS中的Messagequeue。ecosecosMessage queue传递的不是指针,而是占用空间较大的一段数据,但是eCos的CAPI中没有提供消息队列的封装。Event flags可以使得线程同时等待多个事件,与UC/OS的Eventflags很像,有AND,OR,CLR,MASK四种模式。Spinlock只能用于SMP系统中,原理和API与Linux的Spinlock很像。

UC/OS实现的同步机制有Semaphore, Mutex, Mailbox, Message queue, Eventflags。Semaphore有三种。Mailbox中只能有一条消息,存储的是指针。Messagequeue的结构是一个循环队列,可以有FIFO和LIFO两种模式,存储的是指针。Eventflasg可以使任务同时等待多个事件,有AND和OR两种模式,又分别有SET和CLR两种情况。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-32189-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...