VxWorks 提供了几种不同的任务间通信机制。可使用的不同方法包括:

信号量

信号量是 VxWorks 中的任务间进行同步的主要手段。它提供了三种不同的信号量:二进制信号量、计数信号量和互斥信号量。二进制信号量用于任务间针对临界区域的简单同步。计数信号量允许对代表资源(可以多重方式获取)的临界区域进行多路同时访问。互斥信号量的特别之处在于它能针对基本信号量种类的一些内在问题(包括增加优先级反转保护、删除安全以及对资源的回归访问)提供解决方案。VxWorks 的所有信号量还允许与获取资源有关的超时,以防止无限期等待。

当建立信号量时,程序还能为等待信号量(即将可用)的任务指定唤醒机制。有两种不同的唤醒机制可用:基于优先级的唤醒机制可唤醒优先级最高的任务,而基于先进先出 (FIFO) 的唤醒机制会唤醒等待最久的任务(不考虑其他被阻塞任务的优先级)。VxWorks 还提供对 POSIX 信号量的访问。

下载地址

Files:
Date 2023-07-11
File Size 1.21 MB
Download 358

清华大学课件VxWorks实验教程

 

下载地址

Date 2023-06-23
File Size 1.03 MB
Download 350

 

下载地址

Date 2023-07-08
File Size 1.44 MB
Download 56

航电激励器在民用飞机航电系统半物理仿真平台中起着至关重要的作用.在航电系统开发过程中,航电激励器向航电仿真设备提供的激励数据是进行航电系统仿真验证的基础,所以在航电激励数据的获取和处理中,航电激励器的设计与实现是极其重要的一个环节.该文基于VxWorks系统设计一款航电激励器,对航电激励器进行总体设计,从激励数据获取模块、激励数据转换模块等方面进行研究,完成软件设计以及硬件平台搭建.通过对设计的航电激励器进行仿真验证,实现飞机模拟飞行数据的获取以及航电系统中ARINC429总线数据和AFDX总线数据的相互转换,使得激励数据在传输过程中具有良好的实时性.

实时系统主要包括:多任务调度(采用优先级抢占方式),任务间的同步和进程间通信机制。

一个多任务环境允许实时应用程序以一套独立任务的方式构筑,每个任务拥有独立的执行线程和它自己的一套系统资源。进程间通信机制使得这些任务的行为同步、协调。 wind使用中断驱动和优先级的方式。它缩短了上下文转换的时间开销和中断的时延。在 VxWorks 中,任何例程都可以被启动为一个单独的任务,拥有它自己的上下文和堆栈。还有一些其它的任务机制可以使任务挂起、继续、删除、延时或改变优先级。

另一个重要内容是:硬件中断处理。硬件产生中断,通知系统调用相应的中断历程(ISR),为使系统得到尽快的响应,ISR在它自己独立的上下文和堆栈中运行.它的优先级高于任何任务优先级。

中断延迟(Interrupt Latency) 中断延迟是指从硬件中断发生到开始执行中断处理程序第一条指令之间的这段时间。

优先级驱动(Priority-Driven) 优先级驱动是指多任务系统中,当前运行任务总是具有最高优先级的就绪任务。