贵州做网站公司
贵州做网站公司~专业!靠谱!
10年网站模板开发经验,熟悉国内外开源网站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等网站程序,可为您提供网站建设,网站克隆,仿站,网页设计,网站制作,网站推广优化等服务。我们专注高端营销型网站,企业官网,集团官网,自适应网站,手机网站,网络营销,网站优化,网站服务器环境搭建以及托管运维等。为客户提供一站式网站解决方案!!!

task什么意思(vxworks中Task是什么意思)

来源:网络转载 时间:2024-05-01 17:55:01

Task是啥?

VxWorks的Task,也就是任务,是系统里最基本的执行单元,类似于其它操作系统的Thread(线程)。现代的RTOS基本都通过提供一个多任务环境来支撑上层的应用程序。而上层的应用程序则使用不同的任务来模拟真实世界里各种各样的分离事件。每个任务就是一个执行线程,使用着自己的系统资源。

那如果不使用多任务呢?也就是单任务系统又是如何工作的?我们看看这个案例:假设需要实现一个控制多节机械手臂的程序。

在单任务环境下,通常的代码实现就是一个无限循环,循环里轮询每节的状态。伪代码如下:

代码结构比较简单,很容易理解,这就是它的优势。另外,因为只有一个任务,也就不需要切换任务了,CPU就可以专注于执行这个任务。

但是,单任务的缺点也很明显。从代码来看,每一节的地位平等,没有轻重缓急的概念,而真实世界里,每一节的重要程度可能是有区别的。也就是说,这种代码结构,不具备抢占能力,每一节必须等到被轮询时,才有可能去执行。而且,每一节的执行频率也不容易控制,很多条件语句会经常出现假值判断的情况,这种代码就是在浪费CPU了。

如果在多任务环境里,代码大致如下:

需要给每一节制作一个任务,每个任务等待一个通知,然后才能执行,也就是说每个任务都是一直在Waiting和Ready两种状态之间切换。Waiting表示它正在等待通知;Ready表示它等到通知了,可以去执行了,这个时候操作系统可以决定是不是要把CPU分配给它了。

可以看到,这种实现对操作系统的要求就高一些了。需要操作系统提供通知机制,让不同的任务等待不同的通知。另外,如果有多个任务都等到通知了,操作系统还得提供排队机制,以便于安排哪个任务可以使用CPU来执行了。

这种多任务的优点有很多:

1 任意频率,每个任务的频率取决于自己被通知的频率,与其它任务关系不大;

2 可以排队,给每个任务分配不同的优先级,这样高优先级的任务就可以抢占正在执行的低优先级任务;

3 易于扩展,不同任务代码之间的耦合性比较小,增加新任务时,对已有任务的影响比较小。

正所谓,春兰秋菊,各擅胜场。而我们的真实世界,本身是一个并行的世界,许许多多事件都是同时在发生的。在模拟真实世界的软件世界里,大量的场景也是更适合于用多任务来实现,例如下图:

VxWorks也正是采用这种多任务方式来保证它的实时性的。使用多任务把复杂问题分解,提供多种多任务通信机制来保障任务间的协作,提供高效的调度策略来保障重要任务的及时响应。这些任务可以分别独立地等待系统资源(包括CPU、I/O设备及内存空间等),或者使用资源一起在宏观上并发运行。当然了,在微观上,并发运行的任务数量取决于CPU的内核数量。不过这不影响我们对任务的理解,关于多核的内容,我们以后会有专门的SMP章节,目前我们假定CPU都是单核的。

VxWorks的任务由两部分组成:Stack和TCB。

Stack(栈)用来存放任务的动态变量和函数调用关系。

TCB全称是任务控制块(Task Control Block),在代码中用一个庞大的结构体来表示,windTcb,在target/h/taskLib.h中可以看到它的完整定义。TCB里记录的信息是任务的Context(上下文):

  • 任务的PC指针

  • CPU寄存器

  • 协处理器的寄存器(可选)

  • 标准IO的分配情况

  • 延时计数器

  • 时间片计数器

  • 内核控制结构

  • 信号量回调函数

  • 任务的私有环境变量

  • Errno状态

  • 调试和性能监测信息

  • 虚拟内存上下文(支持RTP时)

以及Stack的信息,所以也可能把Stack看作Context的一部分。

VxWorks的调度策略进行任务调度时,就是让正在使用CPU执行的任务停下来,然后把CPU分配给另一个任务来执行。这个过程就叫做上下文切换。

可以看到,上下文切换就是对两个任务Context的读写操作。为了保证实时性,这个切换过程必须准确、快速。

标签:task什么意思-

抖音(Tiktok)是由北京字节跳动科技有限公司(ByteDance)孵化的音乐创意短视频社交网站。它于2016年9月20日上线,主要面向全年龄段的用户,尤其是...

飞极速为您提供高清在线电影、电视剧大全、动画片,综艺等,飞极速在线更新及时,播放速度快,给您带来最好的观影体验!飞极速在线,免费提供日本新番动漫、最新电影和最新...

《南华早报》(英语:South China Morning Post, SCMP)和星期日出版的《星期日南华早报》(英语:Sunday Morning Post...

移动平均钱,英文简称“MA”,是以道琼斯的“平均成本概念”为理论基础,采用统计学中“移动平均”的原理,将一在时期内的股票价格平均值连成曲线,用来显示股价的历史波动情况,进而反映股价指数未来发展趋势的技术分析方法,它是道氏理论的形象化表述,也是一种极为重要的技术分析指标。技术分析指标一般可以分为三类:趋势类、能量类和摆动类。移动...

余额宝年利率是多少2023?截止2023年1月16日余额宝的7日年化收益率是1.7610%,30日年化收益率是1.7400%,万份收益率是0.4833。余额宝一万一天的收益约为0.4833元,余额宝收益=(你实际的资金×每万份收益)÷10000,或余额宝收益=每万份收益÷10000×你实际的资金。要想知道余额宝一万元一天有多少利息,关键是看当日万...

金融衍生产品指的是什么?金融衍生产品实际是一种契约、合同。并不是某种具体的实物产品,其具体是指金融产品的价值是依靠在某个资产标的物价值的变动的合约。它是很多金融产品的统称,如期货、期权、股票、债券等。金融基础品和金融衍生品的区别金融基础品股票、债券、利率、汇率、现货商品(包括贵金属、能源品、工业原料、农产品等),都是“金融基础品”。它们属于金融中的“实体&rdq...

TOP