今年比去年更适合学什么江苏信息职业学校好吗?呢?听说今年的一个新专业电子竞技跟不错呢?有人学过没?咋样呢?

一.嵌入式操作系统VxWorks简介

VxWorks操作系统昰美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(

RTOS)是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及

伖好的用户开发环境在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性

和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极

高的领域中如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的 F-16、FA-18

战斗机、B-2 隐形轰炸机和爱國者导弹上甚至连1997年4月在火星表面登陆的火星探

测器上也使用到了VxWorks。

实时操作系统和分时操作系统的区别

从操作系统能否满足实时性要求来区分可把操作系统分成分时操作系统和实时操

分时操作系统按照相等的时间片调度进程轮流运行,分时操作系统由调度程序自动计

算进程的优先级而不是由用户控制进程的优先级。这样的系统无法实时响应外部异步

实时操作系统能够在限定的时间内执行完所规定的功能并能在限定的时间内对外

部的异步事件作出响应。 分时系统主要应用于科学计算和一般实时性要求不高的场合

实时性系统主要应鼡于过程控制、数据采集、通信、多媒体信息处理等对时间敏感的场

操作系统的用户希望在一个工作稳定,可以信赖的环境中工作所以操作系统的可

靠性是用户首先要考虑的问题。而稳定、可靠一直是VxWorks的一个突出优点自从对中

国的销售解禁以来,VxWorks以其良好的可靠性在中國赢得了越来越多的用户

实时性是指能够在限定时间内执行完规定的功能并对外部的异步事件作出响应的能力

。实时性的强弱是以完成規定功能和作出响应时间的长短来衡量的

VxWorks 的实时性做得非常好,其系统本身的开销很小进程调度、进程间通信、

中断处理等系统公用程序精练而有效,它们造成的延迟很短VxWorks 提供的多任务机

满足更强的实时性要求,为应用的开发留下更大的余地

用户在使用操作系统时,并不是操作系统中的每一个部件都要用到例如图形显示、

文件系统以及一些设备驱动在某些嵌入系统中往往并不使用。

VxWorks 由一个体积很尛的内核及一些可以根据需要进行定制的系统模块组成VxWo

rks 内核最小为 8kB,即便加上其它必要模块所占用的空间也很小,且不失其实时、

多任务的系统特征由于它的高度灵活性,用户可以很容易地对这一操作系统进行定制

或作适当开发来满足自己的实际应用需要。

一个实時操作系统内核需满足许多特定的实时环境所提出的基本要求这些包括:

多任务:由于真实世界的事件的异步性,能够运行许多并发进程或任务是很重要的多

任务提供了一个较好的对真实世界的匹配,因为它允许对应于许多外部事件的多线程执

行系统内核分配CPU给这些任务来获得并发性。

抢占调度:真实世界的事件具有继承的优先级在分配CPU的时候要注意到这些优先级。

基于优先级的抢占调度任务都被指定了优先级,在能够执行的任务(没有被挂起或正

在等待资源)中优先级最高的任务被分配CPU资源。换句话说当一个高优先级的任務

变为可执行态,它会立即抢占当前正在运行的较低优先级的任务

任务间的通讯与同步:在一个实时系统中,可能有许多任务作为一个應用的一部分执行

系统必须提供这些任务间的快速且功能强大的通信机制。内核也要提供为了有效地共

享不可抢占的资源或临界区所需嘚同步机制

任务与中断之间的通信:尽管真实世界的事件通常作为中断方式到来,但为了提供有效

的排队、优先化和减少中断延时我們通常希望在任务级处理相应的工作。所以需要杂

任务级和中断级之间存在通信

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

一个多任务环境允许实时应用程序以一套独立任务的方式构筑每个任务拥有独立的执

行线程和它自己的┅套系统资源。进程间通信机制使得这些任务的行为同步、协调 w

ind使用中断驱动和优先级的方式。它缩短了上下文转换的时间开销和中断嘚时延在

VxWorks 中,任何例程都可以被启动为一个单独的任务拥有它自己的上下文和堆栈。

还有一些其它的任务机制可以使任务挂起、继续、删除、延时或改变优先级

另一个重要内容是:硬件中断处理。硬件产生中断,统治系统调用相应的中断历程(ISR),

位是系统得到尽快的响应,ISR在它洎己独立的上下文和堆栈中运行.它的优先级高于任何

第一条指令之间的这段时间

最高优先级的就绪任务。

高的任务运行于CPU.如果有任务优先级高于当前的任务优先级,系统立刻保存当前任务的

上下文,切换到优先级高的上下文.

抢占(Preemptive): 抢占是指当系统处于核心态运行时, 允许任务的重噺调度换句话

说就是指正在执行的任务可以被打断,让另一个任务运行抢占提高了应用对异步事件

的响应性能力。操作系统内核可抢占并不是说任务调度在任何时候都可以发生。例如

当一个任务正在通过一个系统调用访问共享数据时重新调度和中断都被禁止.

任务上丅文可包括程序计数器、堆栈指针、通用寄存器的内容.

行任务转移到另外一个就绪任务时所发生的事件,当前运行任务转为就绪(或者挂起、

删除)状态另一个被选定的就绪任务成为当前任务。上下文切换包括保存当前任务的

运行环境恢复将要运行任务的运行环境。上丅文的内容依赖于具体的CPU.

PU(分配一定的时间间隔,使个任务轮流享有CPU).

系统由256个优先级,从0到255,0为最高,255为最低. 任务在被创建时设定了优先级.也可

轮转調度 (Round-Robin): 轮转调度可以扩充到优先抢占方式中,当多个任务优先级相同

的情况下,轮转调度算法使任务按平等的时间片运行于CPU,共享CPU.避免一个任务长時间

的任务被删除后,该任务的内存没有释放,而其他任务不知道,依然在等待,结果导致系统

任务间的同步和进程间协调

信号量作为任务间同步囷互斥的机制在 wind 核中有几种类型的信号量,它们分别针

对不同的应用需求:二进制信号量、计数信号量、互斥信号量和 POSIX 信号量所有的

這些信号量是快速和高效的,它们除了被应用在开发设计过程中外还被广泛地应用在

VxWorks 高层应用系统中。对于进程间通信wind 核也提供了诸洳消息队列、管道、套

任务间的同步和进程间协调的几种方式:

互斥是用来控制多任务对共享数据进行串行访问的同步机制。在多任务应用Φ当两个

或多个任务同时访问共享数据时,可能会造成数据破坏互斥使它们串行地访问数据,

从而达到保护数据的目的.

但在实时系统Φ采取这个办法会影响系统对外部中断及时响应和处理的能力.

2. 关闭系统优先级(taskLock): 关闭系统优先级,这样在当前任务执行时,除了中断外,

不会有其怹优先级高的任务来抢占CPU,影响当前程序运行.

这种方法阻止了高优先级的任务抢先运行,在实时系统中也是不适合的,除非关闭优先级

当一个Semaphore创建时,指定了任务队列的种类

在等待队列中以优先级的顺序排列

中以先进先出的顺序排列

当一个Semaphore创建时,指定了这个semaphore是用在解决互斥还是用来哃步任务

优先级反转是指一个任务等待比它优先级低的任务释放资源而被阻塞如果这时有中等

优先级的就绪任务,阻塞会进一步恶化優先级继承技术可用来解决优先级反转问题。

优先级继承可用来解决优先级反转问题当优先级反转发生时,优先级较低的任务被暂

时地提高它的优先级使得该任务能尽快执行,释放出优先级较高的任务所需要的资源

我要回帖

更多关于 江苏信息职业学校好吗? 的文章

 

随机推荐