- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一.嵌入式操作系统VxWorks简介-Read
一.嵌入式操作系统 VxWorks 简介
VxWorks 操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时
操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、
高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之
地。
WindRiver公司网址
实时操作系统和分时操作系统的区别
VxWorks 的特点
• 可靠性
• 实时性
VxWorks 的实时性做得非常好,其系统本身的开销很小,进程调度、进程间
通信、中断处理等系统公用程序精练而有效,它们造成的延迟很短。VxWorks 提
供的多任务机制中对任务的控制采用了优先级抢占(Preemptive Priority
Scheduling)和轮转调度(Round-Robin Scheduling)机制,也充分保证了可靠
的实时性,使同样的硬件配置能满足更强的实时性要求,为应用的开发留下更大
的余地。
• 可裁减性
VxWorks 由一个体积很小的内核及一些可以根据需要进行定制的系统模块组
成。VxWorks 内核最小为 8kB,即便加上其它必要模块,所占用的空间也很小,
且不失其实时、多任务的系统特征。由于它的高度灵活性,用户可以很容易地对
这一操作系统进行定制或作适当开发,来满足自己的实际应用需要。
对一个实时内核的要求
多任务:
抢占调度
任务间的通讯与同步
任务与中断之间的通信
二.系统编程方法
Task State Transitions
中断延迟(Interrupt Latency) 中断延迟是指从硬件中断发生到开始执行中断
处理程序第一条指令之间的这段时间。
优先级驱动(Priority-Driven) 优先级驱动是指多任务系统中,当前运行任
务总是具有最高优先级的就绪任务。
• 多任务调度
两种方式: 优先抢占和轮转调度(Preemptive Priority,Round-Robin
Scheduling).
优先抢占 (Preemptive Priority): 每一个任务都有一个优先级,系统核心保证
优先级最高的任务运行于CPU.如果有任务优先级高于当前的任务优先级,系统
立刻保存当前任务的上下文,切换到优先级高的上下文.
Priority Preemption
抢占(Preemptive): 抢占是指当系统处于核心态运行时, 允许任务的重新调度。
换句话说就是指正在执行的任务可以被打断,让另一个任务运行。抢占提高了应
用对异步事件的响应性能力。操作系统内核可抢占,并不是说任务调度在任何时
候都可以发生。例如当一个任务正在通过一个系统调用访问共享数据时,重新调
度和中断都被禁止.
任务上下文(Task Context): 任务上下文是指任务运行的环境。例如,针对x86
的CPU,任务上下文可包括程序计数器、堆栈指针、通用寄存器的内容.
上下文切换(Context Switching): 多任务系统中,上下文切换是指CPU的控
制权由运行任务转移到另外一个就绪任务时所发生的事件,当前运行任务转为就
绪(或者挂起、删除)状态,另一个被选定的就绪任务成为当前任务。上下文切
换包括保存当前任务的运行环境,恢复将要运行任务的运行环境。上下文的内容
依赖于具体的CPU.
轮转调度(Round-Robin Scheduling):使所有相同优先级,状态为ready的任务
公平分享CPU(分配一定的时间间隔,使个任务轮流享有CPU).
Round-Robin Scheduling
readypended
semTake( )/msgQReceive ( )-其他任
务
readydelayedtaskDelay ( )
readysuspendedtaskSuspend (
)
pendedreadysemaGive( )/
msgQSend (
文档评论(0)