- UID
- 852722
|
2.VxWork系统编程方法及一些基本概念
了解系统编程对程序员来说尤为重要。根据个人的经验基本上操作系统编程都是类似的,认真读懂一种,就很容易的理解另一种。
下面是参考VxWorks ProgRAMmer Guide中的基本内容翻译过来的,有一些内容是个人的理解。理解这些内容对实时操作编程非常重要。
实时系统主要包括:多任务调度(采用优先级抢占方式),任务间的同步和进程间通信机制。
一个多任务环境允许实时应用程序以一套独立任务的方式构筑,每个任务拥有独立的执行线程和它自己的一套系统资源。进程间通信机制使得这些任务的行为同步、协调。 Wind使用中断驱动和优先级的方式。它缩短了上下文转换的时间开销和中断的时延。在 VxWorks 中,任何例程都可以被启动为一个单独的任务,拥有它自己的上下文和堆栈。还有一些其它的任务机制可以使任务挂起、继续、删除、延时或改变优先级。
另一个重要内容是:硬件中断处理。硬件产生中断,统治系统调用相应的中断历程(ISR),位是系统得到尽快的响应,ISR在它自己独立的上下文和堆栈中运行.它的优先级高于任何任务优先级.
2.1 VxWorks任务状态切换图
Task State Transitions
中断延迟(Interrupt Latency) 中断延迟是指从硬件中断发生到开始执行中断处理程序第一条指令之间的这段时间。
优先级驱动(Priority-Driven) 优先级驱动是指多任务系统中,当前运行任务总是具有最高优先级的就绪任务。 |
|