多任务通信详解.doc

实验2 多任务通信 实验目的 1、熟悉VxWorks进程间通信机制,并通过实验了解资源冲突的原因和解决方法。 实验要求 1、设计两个任务tHigh和tLow,分别访问两个共享资源,达到下图的死锁效果,死锁效果,并解决该死锁问题,用windview分析。 实验原理 1、VxWorks的信号量 (1)二进制信号量:最快和常用的信号量,提供阻塞方式,用于实现同步或互斥。 (2)互斥信号量:用于实现互斥问题的特殊的二进制信号量,解决具有互斥、优先级继承、删除安全和递归等情况。 (3)计数信号量:类似于二进制信号量,记录信号量被释放的次数。适合于一个资源的多个实例需要保护的情况。 2、互斥信号量的创建、获取和释放 (1)semMCreate( ):分配并初始化一个互斥信号量,函数原型为: SEM_ID semBCreate ( int options, /*信号量选项*/ SEM_B_STATE initialState /*信号量初始化状态值*/ ); (2)semTake( ):占有一个信号量,函数原型为

文档评论(0)

1亿VIP精品文档

相关文档