一种基于Vxworks的多任务调度算法

合集下载

基于Vxworks的语音控制系统多任务调度算法的研究

基于Vxworks的语音控制系统多任务调度算法的研究

2 、语 音 控 制 系统 的功 能
该语音控制系统的主要功能是为 电力 负载提供 电源控制管理 , 根据人工声音命令和负载设备的 电气状态调整电源 的通断 , 保证 电 力 系统 的安全运行 。 按照系统功能要求 , 其软件 的运行 流程 图如图1 示 : 所 根据上 图可将系统分 为9 个任务 , 分别是 : ( AS ) T K1循环读取环形缓存区 ( ed o_ re )人工声音命 R a F rO dr : 令被 采样数字化后存 于环形缓存 区中 , 对该 缓存区进行不 问断查 询; ( S 2 循环 发 也 命 令 对 状 态 电 流值 进 行 索 取 ( k o— a TA K ) As F rV l )通过数据总线不 间断 向负载发送命 令对即时负载状 态和 电流 u: 值 进行索取 ; ( S ) 存 电流 值 , 算It 迟 时 间 ( a eD t~ o nT TA K3保 计 2延 S v_ aa C u t i )将负载通过数据总线传输的状态 电流值保存 ̄ RO me : j I M中 , 并监 控实时采集的状 态电流值变化情 况 , 发现负载 电流值过载时 , 算 计 并关断 负载电源 的时间 ; ( S 4 判 断 串 口命 令 ( elO d r : 读 出的 人 工 数 据 进 TA K ) D a r e)对 — 行解析 , 括去噪 、 别等处理 ; 包 识 ( AS ) 传状 态 电流值 ( e d Vau : 据 人工 命 令将 保 T K 5上 S n — l )根 存在RO M中的当前 负载的状 态 电流值显示于 显示 屏上 ; ( AS ) T K 6 发送开通 命令 (e d Or e_ )根据 人工命令控 Sn — dr1 : 制 负 载 电源 的开 通 ; ( AS ) T K 7 发送 断开 命令 (e d Or e_ )根据 人工命令控 Sn — dr2 : 制 负 载 电源 的 断 开 ; ( AS ) T K 8 采集模 拟及I O信号量 ( o — DI : / F r A O) 根据人工命 令 对 外 接 的 模 拟信 号量 和IO信 号量 进行 采集 并显 示 于 显 示 屏 上 ; / ( AS ) I T K 9 BT自检 ( I : 系统运行时对一些系统模 块进 B T)在 行 自检 测。 从图中可以看 出, 能否及时的执行命令要求操作直接关系着整

实时操作系统VxWorks的内核任务调度研究

实时操作系统VxWorks的内核任务调度研究

实时操作系统VxWorks的内核任务调度研究1、引言VxWorks操作系统是WindRiver公司开发的一种高性能的嵌入式实时操作系统。

它带有一个功能强大的集成开发系统环境Tornado。

VxWorks具有软件生成代码小、实时性强及响应速度快等特点,特别适合于具有实时和多任务要求的系统。

VxWorks自20世纪80年代问世以来,以其高性能、高可靠性、高实时性等特点成为实时操作系统中最具特色的系统。

自1996年登陆中国,短短几年就已成为国防、工业自动化、网络通信、航空航天、医疗仪器、状态监控以及消费电子产品等嵌入式实时领域的首选操作系统。

由于嵌入式实时操作系统在内核方面具有自身的特点,本文着重对实时内核中任务调度进行了详细分析。

2、任务调度概述2.1 调度的概念构成应用软件系统的程序集合中,独立的、相互作用的程序单元,在其执行时称之为任务。

单个CPU 中,多任务机制制造了一个多个任务同时执行的假象。

其实系统只是根据一个多任务调度算法,将内核插入到这些任务中执行。

实时系统VxWorks的一个任务可有多种状态,但最基本的状态有以下四种:1) 就绪态(Ready):任务只等待系统分配CUP资源。

2) 挂起态(Pend):任务需等待某些不可利用的资源而被阻塞。

3) 休眠态(Sleep):如果系统不需要某一个任务工作,则这个任务处于休眠状态。

4) 延迟态(Delay):任务被延迟时所处的状态。

当系统函数对某一个任务进行操作时,任务从一种状态跃迁到另一种状态。

处于任一状态的任务都可被删除。

VxWorks的任务跃迁如图1所示。

任务由系统内核调度运行一段固定长度的时间,称为时间片。

调度是指为任务分配资源和时间,使系统满足特定的性能要求。

调度算法的目的是在正常情况下,尽可能满足所有任务的时限:在峰值负载条件下,保证强实时任务满足时限。

因为时限是区分实时系统和非实时系统的关键因素,因此调度算法是实时系统的基本问题。

实时操作系统所具有的运行性能,如吞吐量的大小、周转时间的长短、相应的及时性和可预测性等在很大程度上都取决于实时调度。

基于VxWorks多任务信控系统的软件设计与实现

基于VxWorks多任务信控系统的软件设计与实现
李文成 周学仕 王 成 李 岩
( 14 9 2 5部队 4 3分队
( 14 9 2 5部 队 8 O分 队
辽宁 葫芦岛 150 ) 2 0 1
辽 宁 葫 芦 岛 15 0 ) 2 0 1
。 中国科学 院长春光学精密机械与物理研究所பைடு நூலகம்(
吉林 长春 10 3 ) 3 0 3
。 8 r aeo 9 2 5A m , l a 2 0 1 Lann (0B i d 1 4 r y Huu o1 5 0 , io i g f d g,C i hn a) ( h ncu ntu p ,Fn ca i n C agh nIstt o 0 f i ef ieMeh nc a d s
的实际应用价值 。 关 键 词 V Wok 多任务调度 x rs
信控 系统

中图分类号
T 31 P 1
文献标识码
DES GN I AND M P I LEM ENTATI oN oF VXW o RKS M ULTITAS . KS BAS - ED
CoM M UNI CATI oN CoNTRoL YS S TEM SoFTW ARE
种状态迁移到另一种 状态 , 而实现 任务之 间的切换 。多 任务 从 机制使任务 间的通信显得尤为重要 。
任务间通信等特点 , 以其 良好 的可靠性 和卓越 的实 时性被广 泛 地应用在 通信 、 军事 、 航空 、 天等高精尖技 术及 实时性要求 极 航
高的领域 中。
1 2 信控 系统简 介 .


介 绍信控 系统的主要软硬件平 台, 结合实际工程任务 , 针对 多任务 、 实时性要求, 出了利用 V Wok 提 x rs多任务机制解决信

一种基于Vxworks的多任务调度算法

一种基于Vxworks的多任务调度算法

1. 3
程序运行仿真图
由于本系统软件的任务调度频繁, 产生的大量调度数 据无法在虚拟环境中全部存储, 因此调度显示图分为两个 部分, 图中横轴为时间轴 , 纵轴为任务集。图 5 为时间片
轮转调度的三个任务的调度示意图, 可以看出三个周期任 务顺利地实现了时间片轮转调度, 几乎不存在切换时间; 图 6 为高优先级任务抢占调度的示意图, 从图 6 可以看出, 各任务在进行抢占资源时的切换时间也是几乎不存在的。 与 RM 算法不同 , 任务之间的调度与各任务的执行时间、 截止时间等参数并无关系, 即使在这些参数未知且不稳定 的条件下, 本系统所用的算法也可以实现高实时性的任务 调度。而且在 经过 3 个 小 时的 连 续试 验 中, 系统 工 作 正常。
原则: 采用时间片轮转调度的周期任务的优先级最低 , 保 证高优先级任务随时可以抢占临界资源开始运行; 任务在系统中的重要性越大 , 优先级就要越高, 保 证重要的任务可以优先抢占临界资源及时开始运行。 按照各任务在系统中的权重, 制定各自的优先级如表 1 所示:
表 1 任务优先级表
图1
SPDA 工作模式图
图 5 时间片轮调度示意图
图 6 高优先级任务抢占示意图
2
结论
本文描述了机载 SPDA 系统软件的设计与应用 , 着重 分析了在 V xw orks 操作系统中基于系统权重的任务调度 算法的实现与仿真。该算法顺利地实现了任务之间的实 时调度 , 由于采用的信号量通信机制来激活/ 阻塞任务, 上 下文切换时间在微秒级, 具有良好的实时性 , 并在 3 个小 时的连续试验中运行正常。对于 S PDA 系统的升级开发, 针对新的功能, 更多任务的调度 , 有待下一步进行研究。
摘要: 针对机载二次配电系统( the Second Pow er Dist ribution A ssociation, 缩写为 SPDA) 的任务调度 , 提出了一 种选择时间片轮转与静态权重优先级抢占混合的调度算法 , 并进行了算法仿真 。 关键词 : V xw orks; 实时; 信号量; 优先级 ; 调度 中图分类号: T P316 文献标识码: A 文章编号: 1673 1131( 2011) 02 0043 03

最新-基于VxWorks的多DSP系统的多任务程序设计 精品

最新-基于VxWorks的多DSP系统的多任务程序设计 精品

基于VxWorks的多DSP系统的多任务程序设计摘要多信号处理板广泛地运用于工业、军事、通信和医疗等许多方面。

本文介绍一种基于实时操作系统的21160的多板设计,以及该板在数字式声纳的实时信号处理系统中的应用,并介绍在实时操作系统下的软件算法仿真和实现。

关键词多阵列声纳系统
近年来,计算机产品的应用领域越来越广,数字信号处理器的发展表现得尤为明显。

芯片制造商和板开发商利用自身的优势不断开发出多结构的产品来满足这种需求。

通常的设备是与嵌入式系统相结合,来实时地完成某一特定任务。

随着信号采集速度和处理速度的要求越来越高,许多领域都需要进行多处理器运算,其中包括医学、图像处理、军事、工业控制、电信等许多领域。

多处理器系统可以根据所需实现的功能和处理器的性能来调节处理结点的数目,使系统达到最佳的性能价格比。

实际上,只有从芯片开始仔细设计,才能方便地实现多处理器系统的调节功能。

这里选用的是公司新出品的级处理器21160。

21160具有很大的片内存储区、多重内部总线结构、独立的子系统;具有构造多处理器系统的所有特点,能够真正支持处理器数目的可调节功能,十分适合组成高性能浮点的多系统。

是目前世界上用户数量最大的实时操作系统。

这使它除了具有优越的技术性能之外,还具有丰富的应用软件支持、良好的技术服务和可靠的系统稳定性。

由于它具有以上优点,本系统中选用了作为167的操作系统。

一、21160的特点
21160是公司采用超级哈佛结构的一种新产品。

21160的汇编代码与2106兼容,处理器具有单指令流多数据流功能;而2106只具有单指令流单数据流功能。

基于嵌入式操作系统VxWorks的多任务并发程序设计(全)

基于嵌入式操作系统VxWorks的多任务并发程序设计(全)

1引言嵌入式系统定义为:嵌入到对象体系中的专用计算机系统。

“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素,对象系统则是指嵌入式系统所嵌入的宿主系统。

目前,随着高端消费类电子产品(如PDA、手机、智能家电)的普及,嵌入式计算机系统获得了相当广泛的应用。

操作系统在嵌入式软件体系中占据着重要低位,学习和掌握相关的知识是一名嵌入式系统研发人员的必须。

1.1本文的读者对象与写作目的本文针对的读者对象为入门级的嵌入式系统软件开发人员以及其他对嵌入式操作系统感兴趣的朋友,顺利阅读本文需要读者具备的基本知识能力为:(1)熟练的C语言程序设计能力;(2)操作系统的基本知识。

如果读者具备在Windows平台下进行多线程程序设计或者其他嵌入式操作系统本台下进行多任务程序设计的经验,将对阅读本文有很大的帮助。

本文虽然以VxWorks为介绍的主体对象,但是其中所论述的概念和方法并不局限于VxWorks操作系统本身。

它们也同样适用于其它嵌入式操作系统,如WinCE、嵌入式Linux、ucos等,所谓“万变不离其宗”。

笔者力求能以通俗和形象的语言进行论述,但是由于水平有限,文中难免存在错误和纰漏,诚盼读者朋友指正。

1.2 为什么以VxWorks为写作对象之所以选择VxWorks操作系统为本文的写作对象,是因为:(1)VxWorks具备清晰的多任务并发控制及任务间通信的成熟机制;(2)VxWorks有广泛的使用基础,国内外分布着大量的VxWorks程序员;(3)VxWorks简单易学,便于我们集中目标讲解多任务控制程序本身。

1.3 什么是VxWorksVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),它凭借着良好的可持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据了重要一席。

VxWorks具备高可靠性和实时性,因而被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。

关于VxWorks系统的任务调度机制浅析

关于VxWorks系统的任务调度机制浅析

关于VxWorks系统的任务调度机制浅析作者:杨坤来源:《信息技术时代·下旬刊》2018年第02期摘要:本文首先简要分析了VxWorks系统的任务调度策略及算法,对优先级倒置出现的原因展开深入探讨,给出了具体的解决方案,最后探讨了静态表方式的具体实现方法,望能为此领域研究有所借鉴。

关键词:VxWorks系统;任务;调度机制针对嵌入式系统而言,其除了要满足应用的基本功能需求之外,还应,安祖应用所提出的各种实时性要求。

所以,嵌入式系统借助各种实用、先进的算法与策略,始终为系统行为的整体可预测性提供切实保障,也就是无论系统处于何种状态、运行至哪一时刻,任务调度程序均能为各任务提供合理、高效的资源分配,满足各任务的实时性要求。

对于VxWorks系统来讲,其所提供的调度算法多以非周期性任务为对象,且为提供用于对周期性任务进行管理与调度的具体機制,且在传统的优先级抢占调度当中,同样存在比较突出的优先级倒置等问题,此些问题对系统的可预测性与实时性造成了严重影响,因而会使系统的整体性能降低。

本文就VxWorks系统的具体任务调度机制作一探讨。

1.任务调度的基本依据在整个VxWorks系统架构当中,各处于独立状态的程序,都可以称作一个任务,未能使Wind内核在管理、调度任务上变得更加方便,各任务均有自己专属的上下文,包含堆栈、时间片定时器、程序计数器等。

针对调度程序而言,其基本功能即为在全部就绪的任务当中,选择运行价值最高的任务,将其投入到运行当中;通常情况下,多根据任务上下文当中的Counter、Priority选项来作为选择依据,其中,针对Priority来讲,其乃是整个任务体系中的静态优先级,而对于Counter而言,其则为任务剩余的具体时间片,其直接决定着一个任务运行状态的好坏。

2.任务调度的具体策略2.1以静态优先级为基础的抢占调度(1)优先级倒置。

在所有静态优先级抢占方式当中,调度程序能够为高优先级的任务先执行提供切实保障。

基于VxWorks的多任务程序设计及通信管理

基于VxWorks的多任务程序设计及通信管理

摘 要 :为 了满足 系统各 个任 务 对 实时 性 的要 求 ,需要 实现 各 个 任 务 的 并行 处理 。针 对 V Wok 操 作 系统 的 x rs 多任 务 调 度 机 制 和 任务 通 信 方式 进 行 了分 析 ;采 用基 于 时 间 片轮 转 调 度 实现 多任 务 程 序 设 计 ,可 以 动 态 改 变

第2卷 7
第9 期
Vo . No. I 27 9
制块 的数据结构 ( 简称 T B C )来实现任务调度 功能。
1 引
言与一个
T B关联 T B包括 了任 务 的 当前状 态 、优先 级 、 C C
在 嵌 入 式 系统 的 应 用 开 发 中 ,采 用 嵌 入 式 实 时
mig swela ,t e t lc fte e p cain fe c a k r n i gc u d b y a c l h n e .Atte s me n ,a l s h i sie o x e tt so a h t s u n n o l e d n mial c a g d me h o y h a
kn s o a k s r q i d id fts s wa e u r .Mu t— a k s h d l g a d t s o e l ts c e u i n a k c mmu iain me h n s b u W o s o e aig i n nc t c a im a o tVx k p r t o n s s m e e a ay e . h e in o tt g s h d l a e n t l ewa u n u e o h l — a k p o r m- y t w r n l z d T e d s f oai c e ue b s d o me s c sp t s n te mu t ts rg a e g r n i i i i

基于VxWorks某武器发控设备任务调度应用组件的设计与实现

基于VxWorks某武器发控设备任务调度应用组件的设计与实现

中图分类号 : T P 3 1 1 . 5
文献标识码 : A
文章编号 : 1 0 0 6 - 4 3 1 1 ( 2 0 1 3) 2 8 — 0 2 2 3 — 0 2
O 引 言
务 调度组件根据 模式 配置方案 , 调 度用户组 件 , 实 现 功 能
Байду номын сангаас
我 国 的 部 队 装 置 属 于 多 种 武器 并 存 的状 态 , 因此 存 在 重 组 。任 务 监控 主 要 是 实 时 监控 系统 任 务 状 态 , 用 户 可 以 多种发控 装置 , 甚至 一种载机 同时装备多种 不同型号 的发 根据任务 状态信 息, 检查任务执行 情况。 控 装 置【 1 ] 。 这样 , 多种 型号 的 发 控 装 置 在 部 队 装 备 中也 同 时 任务调度 应用组件运 行操作 系统 为 v x Wo r k s 5 . 5 翻 , 编 存在 , 若 每 种 型 号 均 有 自 己特 制 的 发 控 装 置 , 可 能 会 导 致 程 语言 为 C / C + + 语言 , 开发平 台 T o na r d o 2 . 2 . 1 。 重复设计 、 重复投资 , 不 能 体 现 各 型 号 发 控 装 置 之 间 的 共 2 任务调度应用组件 的设计与实现
j j J 、 建 S UN J i a n
( 中 国船 舶 工 业 系统 工 程 研 究 院 , 北京 1 0 0 0 3 6 ) ( S y s t e ms E n g i n e e r i n g R e s e a r c h I n s t i t u t e , B e i j i n g 1 0 0 0 3 6 , C h i n a )
Va l ue Eng i n e e r i n g

西工大嵌入式实验指导书-VxWorks

西工大嵌入式实验指导书-VxWorks

《嵌入式计算机系统》VxWorks实验指导书编写:魏晓敏西北工业大学2013年11月实验一基于VxWorks的多任务设计第一部搭建VxWorks开发环境VxWorks 是专门为实时嵌入式系统设计开发的操作系统软件,为程序员提供了高效的实时任务调度、中断管理、实时的系统资源以及实时的任务间通信。

VxWorks是种功能强大而且复杂的操作系统,仅仅依靠人上编程调试,很难发挥它的功能并设计出可靠、高效的嵌入式系统,必须有与之相适应的开发工具。

Tornado就是为开发基于VxWorks 的应用系统而提供的集成开发环境,Tornado中包含的工具管理软件,可以将用户自己的代码与VxWorks 的核心系统有效地组合起束,从而轻松、可靠地完成嵌入式应用厅发。

Tornado是Windriver 公司开发的嵌入式软件开发环境。

Tornado开发环境的最新版本是2.2 ,它在延续了Tornado2.0 开发环境的基础上,增加了更多易于使用、性能优异的工具,因此在商业上取得了较大成功,获得了用户的好评。

Tornado开发环境是嵌入式实时领域里最新的开发调试环境,是编写嵌入式实时应用程序的完整的软件开发平台。

它给嵌入式系统开发人员提供了一个不受目标机资源限制的超级开发和调试环境a。

它包含3 个高度集成的部分:●运行在宿主机和目标机上的强有力的交叉开发工具和实用程序●运行在目标机上的高性能、可裁剪的实时操作系统VxWorks●连接宿主机和目标机的多种通讯方式,如以太网、串u线、ICE 或ROM 仿真器VxWorks的开发环境为Tornado,我们实验室用的是Tornado2.2。

包括Wind_River_tornado2.2.1_vxworks5.5.1 和Wind_River_vxworks5.5.1_BSP_drivers 两部分,需要分别安装,安装的顺序是先安装VxWorks5.5.1,再安装BSP包。

1.1Tornado安装步骤1.1.1 获取Tornado安装文件Tornado安装文件,包括 TORNADO2.2 和BSP的文件,可以从网上下载(/ShowFile.asp?FileID=62525)。

一种基于Vxworks的多任务调度算法

一种基于Vxworks的多任务调度算法
ie 公 司 设 计 开 发 的 一 种 嵌 入 wok n rv r 式 实 时 操 作 系 统 ( TOS , 时 内 核 W id提 供 了 基 本 的 多 R )实 n 任 务 环 境 。 由于 Vx r s 持 多 任 务 运 行 并 且 实 时 性 好 、 wo k 支 稳定性 强 、 叮靠 性 高 , 年 来 , 航 空 航 天 、 事 、 力 等 领 近 在 军 电 域 , 来 越 多 的 控 制 设 备 采 用 了基 于 Vx rs 作 系 统 的 越 wok 操 设计方 案 。 在 实 际 工 程 开 发 中 , 于 RT 基 OS 的 实 时 任 务 调 度 是 研 究 的重 点 和 难 点 。 文 献 Ⅲ 认 为 调 度 的 实 质 是 资 源 的 分 配 , 而 实 时 调 度 强 调 的 是 任 务 的 时 间 约 束 。 RT OS 中 的 任 务 调度 实 时 调度 技 术 通 常 有 多种 划 分 方 法 , 用 以下 两 种 : 常 抢 占式 调 度 和 非 抢 占式 调 度 , 静 态 表 驱 动 策 略 和 优 先 级 或 驱动策 略 。 文 献 ‘ 提 出 : 占式 调 度 的 优 点 是 实 时 性 好 、 应 快 , 。 抢 反 调 度 算 法 相 对 简 单 , 优 先 保 证 高 优 先 级 任 务 的 时 间 约 可 束 , 缺点 是上 下文切 换 多 。而 非 抢 占式 调 度 的优 点 足上 其 下 文 切 换 少 ; 点 是 在 一 般 情 况 下 , 理 器 有 效 资 源 利 用 缺 处 率 低 , 调 度性不 好 。 由于静 态 表 驱动 策 略 是在 离 线 情况 可 下 指定 的 , 此调 度 器 的 功 能 被 弱化 , 具 有 分派 器 ( s 因 只 Di p th r 的 功 能 。 优 先 级 驱 动 策 略 又 分 为 静 态 优 先 级 调 度 ac e) 策 略和 动态优 先级 调度 策略 。 I u和 I ya d提 出 的 速 率 单 调 RM 算 法 是 静 态 调 i ln a 度 算 法 的 典 型 代 表 。最 早 截 址 期 限 优 先 E F 算 法 则 在 D

基于VxWorks的星务管理系统软件多任务实时性调度设计

基于VxWorks的星务管理系统软件多任务实时性调度设计
英 文 引 用 格 式 :Z h a o J i a n k u n, Z h a n g D a s o n g , Hu A l l a n, e t a 1 . D e s i g n o f s a t e l l i t e ma n a g e m e n t s y s t e m s o f t w a r e o f m u l t i t a s k r e a l t i m e
s c h e d u l i n g b a s e d o n V x Wo r k s [ J ] . A p p l i c a t i o n o f E l e c t r o n i c T e c h n i q u e , 2 0 1 7, 4 3 ( 1 2 ) : 1中 文 引 用 格 式 :赵 建 坤 , 张 大松 , 胡爱 兰 , 等 .基 于 V x Wo r k s的 星 务 管 理 系 统 软 件 多 任 务 实 时 性 调 度 设 计 [ J ] . 电子 技术 应 用

2 0 1 7, 4 3 ( 1 2 ) : 1 1 6 — 1 l 9 .
Ab s t r a c t :I n t h e p r o c e s s o f t h e d e s i g n a n d d e v e l o p me n t o f s t a r ma n a g e me n t s y s t e m s o f t wa r e ,i n o r d e r t o s a t i s f y t h e r e q u i r e me n t s o f
h i g h r e a l — t i me p e f r o r ma n c e ,h i g h s e c u i r t y a n d h i g h r e l i a b i l i t y ,t h i s p a p e r p r o p o s e s a r e a l -t i me o p e r a t i n g s y s t e m Vx Wo r k s o p e r a t i n g s y s t e m a s t h e c o r e o f t h e s a t e l l i t e s e r v i c e s y s t e m.Vx Wo r k s o p e r a t i n g s y s t e m e mp l o y s t h e mu l t i -t a s k s c h e d u l i n g me c h a n i s m ,t o m— b i n e d wi t h t h e me t h o d o f c a l c u l a t i o n b a s e d o n t h e r o u n d r o b i n s c h e d u l i n g , mo r e o v e r ,d e v e l o p i n g t h e a r c h i t e c t u r e o f s t a r ma n a g e — me n t s y s t e m .T h e r e s u l t s ma n i f e s t s t h a t i n t h e p r e mi s e o f f u l f i l l i n g t h e s a t e l l i t e o n~b o a r d s y s t e m s o f t wa r e d e s i g n r e q u i r e me n t s .t h e r e a l —t i me p e r f o r ma n c e i s i mp r o v e d.

基于VXWORKS的多DSP系统的多任务程序设计

基于VXWORKS的多DSP系统的多任务程序设计

基于VXWORKS的多DSP系统的多任务程序设计近年来,计算机产品的应用领域越来越广,数字信号处理器的发展表现得尤为明显。

DSP芯片制造商和DSP板开发商利用自身的优势不断开发出多DSP结构的产品来满足这种需求。

通常的DSP设备是与嵌入式系统相结合,来实时地完成某一特定任务。

随着信号采集速度和处理速度的要求越来越高,许多领域都需要进行多处理器运算,其中包括医学、图像处理、军事、工业控制、电信等许多领域。

多处理器系统可以根据所需实现的功能和处理器的性能来调节处理结点的数目,使系统达到最佳的性能价格比。

实际上,只有从芯片开始仔细设计,才能方便地实现多处理器系统的调节功能。

这里选用的是AD公司新出品的SHARC 级处理器ADSP21160。

ADSP21160具有很大的片内存储区、多重内部总线结构、独立的I/O子系统;具有构造多处理器系统的所有特点,能够真正支持处理器数目的可调节功能,十分适合组成高性能浮点的多DSP系统。

VxWorks是目前世界上用户数量最大的实时操作系统。

这使它除了具有优越的技术性能之外,还具有丰富的应用软件支持、良好的技术服务和可靠的系统稳定性。

由于它具有以上优点,本系统中选用了VxWorks作为MVME167的操作系统。

一、ADSP21160的特点ADSP21160 是AD公司采用超级哈佛结构的一种新产品。

21160的汇编代码与2106x兼容,处理器具有SIMD(单指令流多数据流)功能;而2106x只具有SISD(单指令流单数据流)功能。

为了充分利用这种新的功能,一些指令做了一些改变。

ADSP21160包括1个100/150MHz的运算核、双端片内SRAM、1个支持多处理器的集成在片内的I/O处理器和多重内部总线以消除I/O瓶颈。

ADSP21160的汇编源代码与2106x兼容。

SIMD计算结构:2个32bit的计算单元,其中每一个单元包括乘法器、ALU、移位寄存器及寄存器文件。

具有完备的与外围设备接口功能。

基于VxWorks的多任务程序设计

基于VxWorks的多任务程序设计
Ab t a t Vx o k sa r a -t sr c : W r s i e l i me。 l t s i g e e d d o e ai g s se 。i a e n u e n ma y fed u h a e o p c ,a r n u mu t a k n mb d e p r t y t m th d b e s d i n l s s c sa r s a e e o a — i n i t sa d c mmu c t n i n o c nia o .W i h o t u u o lx t ff n t n a d i r v me to e f r a c e u r me t f e e d e y ・ i t t e c n n o s c mp e i o u c o mp o e n f p ro m n e r q i h i y i n e n s o mb d d s s
o VX o k . n W rs
Ke r s Vx o k mul ts i g; r g a mi g y wo d : W r s; i takn p rm n o
0 引 言
V Wok 操作 系统 以其 高可靠 性 、 实时性 在航 x rs 高
空 电子系统 中得到 广泛的应 用 , 但航 空 电子 系统软件
第2 1卷
21 0 1年 9月
第 9期
计 算 机 技 术 与 发 展
COMP UTE T HN0LOGY R EC AND DEVEL OPME NT
Vo . NO 9 1 21 . Se 2 p. 011
基 于 V Wok x rs的 多 任 务 程 序 设 计
武 华 , 军伟 刘
l V W0k 操作 系统任务调度 x rs

vxworks任务调度

vxworks任务调度

时间片轮转调度我们来看一个具体的例子,在这个程序中,用户启动了三个优先级相同的任务,并通过对kernelTimeSlice(TIMESLICE)的调用启动了时间片轮转调度。

例1:时间片轮转调度/* includes */#include "vxWorks.h"#include "taskLib.h"#include "kernelLib.h"#include "sysLib.h"/* function prototypes */void taskOne(void);void taskTwo(void);void taskThree(void);/* globals */#define ITER1 100#define ITER2 10#define PRIORITY 101#define TIMESLICE sysClkRateGet()#define LONG_TIME 0xFFFFFFLvoid sched(void) /* function to create the three tasks */ {int taskIdOne, taskIdTwo, taskIdThree;if (kernelTimeSlice(TIMESLICE) == OK)/* turn round-robin on */printf("\n\n\n\n\t\t\tTIMESLICE = %d seconds\n\n\n", TIMESLICE / 60);/* spawn the three tasks */if ((taskIdOne = taskSpawn("task1", PRIORITY, 0x100, 20000, (FUNCPTR)taskOne,0, 0, 0, 0, 0, 0, 0, 0, 0, 0)) == ERROR)printf("taskSpawn taskOne failed\n");if ((taskIdTwo = taskSpawn("task2", PRIORITY, 0x100, 20000, (FUNCPTR)taskTwo,0, 0, 0, 0, 0, 0, 0, 0, 0, 0)) == ERROR)printf("taskSpawn taskTwo failed\n");if ((taskIdThree = taskSpawn("task3", PRIORITY, 0x100, 20000, (FUNCPTR)taskThree, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)) == ERROR)printf("taskSpawn taskThree failed\n");}void taskOne(void){unsigned int i, j;for (i = 0; i < ITER1; i++){for (j = 0; j < ITER2; j++)printf("task1\n");/* log messages */for (j = 0; j < LONG_TIME; j++);/* allow time for context switch */ }}void taskTwo(void){unsigned int i, j;for (i = 0; i < ITER1; i++){for (j = 0; j < ITER2; j++)printf("task2\n");/* log messages */for (j = 0; j < LONG_TIME; j++);/* allow time for context switch */ }}void taskThree(void){unsigned int i, j;for (i = 0; i < ITER1; i++){for (j = 0; j < ITER2; j++)printf("task3\n");/* log messages */for (j = 0; j < LONG_TIME; j++);/* allow time for context switch */}}程序运行输出:一会儿输出一些“task1”,一会儿输出一些“task2”,再一会儿输出一些“task3”。

基于VxWorks操作系统的虚拟进程调度设计

基于VxWorks操作系统的虚拟进程调度设计

基于VxWorks操作系统的虚拟进程调度设计
殷锡亮
【期刊名称】《黑龙江科技信息》
【年(卷),期】2013(000)027
【摘要】介绍了实时操作系统的概念,以及应用的场景,提出了在数字通信网络中使用VxWorks实时操作系统的必要性,并基于Vx-Works实时操作系统设计了一种分组Round-Robin调度算法。

阐明了任务运行的流程,提出了在任务下创建虚拟进程来使一个任务可以处理不同的响应,说明了虚拟进程运行时如何在三种状态之间进行切换,以及虚拟进程的通用处理流程。

【总页数】1页(P165-165)
【作者】殷锡亮
【作者单位】哈尔滨侨航通信设备有限公司,黑龙江哈尔滨 150028
【正文语种】中文
【相关文献】
1.基于VxWorks操作系统的机舱油气探测及监控装置设计 [J], 林春平;李岚
2.一种基于Flash的VxWorks操作系统快速引导方法设计 [J], 肖二宁;张兴明;李晗;魏帅
3.基于Vxworks操作系统的光通信卡设计 [J], 张春庭
4.基于VxWorks操作系统的机载软件设计研究 [J], 戴高乐;姜梦蝶
5.基于VxWorks操作系统的某随动系统控制算法软件设计与实现 [J], 刘元元因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

务 调 度 、 在 多 种 条 件 制 约 下 的 任 务 调 度 、 多处 理 器 调
度等 【— 】 。 58 ቤተ መጻሕፍቲ ባይዱ
综 上 ,本 文 提 出 了 单 C U 一 种 在 信 号 量 通 信 的 P下 一
基 础 上 时 间 片 轮 转 与 静 态 权 重 优 先 级 抡 F混 合 的调 度
R M调 度 是 为 每 一 个 周 期 任 务 指 定 一 个 固定 的 优 先 算 法 。
时问 、周期 、时序约 束等 。文献 【】 的研 究 表 明 9 电 源 的通 断 .保 证 机 载 设 备 安 全 顺 利 的 运 行 与 其 他
在 实 际 的 微 机 环 境 下 .理 想 的 时钟 周 期 是 不 可 能 存 在 设 备 的物 理 连 接 关 系 框 图如 图 1 示 。 所
工程 开 发 都采 用 基 于任 务 权 重 的 固定 优 先 级调 度 ,
不 问 断查 询
如 文 献 【 】 所 述 的 月 球 车 确 认 系 统 。 不 同 于 文 献 1 0
( A K 2 循 环 发 命 令 索 取 状 态 电 沛 值 { sF T S ) A ko r
【 】 中 的 月 球 车 确 认 系 统 的 是 ,S D 1 0 P A系 统 中 有 周 V l) a :通过R 4 2 u S 2 总线不 问断向S P 阵列板发送命令 索 SC
根 据 图2 可将 系统 分 为9 " 务 ,分 别是 4任
(A K ) 环读 R 2 2 口 (ed o re) S T S 1循 S3 串 Ra Ft dr :P P O
时 间 片 轮 转 调 度 与 基 于 优 先 级 的 抢 占 式 调 度 。 许 多 发 来 的 命 令 被 存 于 环 形 缓 存 区 中 对 环 形 缓 掉 区进 行
图 1S D 工 作 模 式 图 PA 按 照 图 1 SD 及 P A系统 功 能 要 求 设计 软 件 流程 图如 图
系 着 整个 机 载 系 统 的 安 全 .不 能 因为 任 务 的 截 止 时 间 2 示: 所
的早 晚 来 改 变任 务 的优 先 级 。
V Wok 系 统 提 供 了 两 种 实 时 任 务 调 度 方 法 : X rS
级 ,该 优 先 级 按 照任 务 周 期 的 长 短 顺 序 排 列 任 务 周
1 P A系统 的任 务 调 度 算 法 、S D
期 越 短 ,其 优 先 级 越 高 ,调 度 总是 试 图最 先 运 行 周 期
最短 的任 务 , 它是 一 种 可 预 测 方 法 要 求 对 任 务 集 和
( )S D 的 系 统 功能 1 PA SD P A系统 的 主 要 功 能 是 为机 载 设 备 摇 伊 电源 控 制
PP 命 任务 时 间约 束 参 数 有 确 定 的 了解 ,如 截 止 期 限 执 行 管 理 ,根 据 上 位 机 (S ) 令 和 机 载 设 备 电 气 状 态调 整
技术前沿馥
x ok 系统 下 速 度 最 快 的信 号 术界 对 实 时调 度 算 法 的研 究 都 是 在R M或 E F9 础 上 发 络 相 连 任 务 之 间 采取 V w rs D I基 3 展 演 化 而 来 的 [ 1 ,比如 硬 实 时 与 软 实 时 相 结 合 的任 量 的 通信 方式 。 4
E F 度 为具 有 最 早 截 止 期 限 的周 期 任 务 分 配 一个 D调
最 高 的优 先 级 .调 度 总 是 试 图 最 先 运 行 高 优 先 级 的任
¨ 机 通 信 串 口2 ¨ 次 电 装 L l
务 . 即具 有 最 早 截 止期 限 的 任 务 。E F 度 的任 务 优 先 D调 级 是 随 着 时 间 而 变 的 ,对 每 一 个 可 调 度 时 刻 将 根 据 其 最 早 截 止 期 限 ,动 态 改 变 任 务 的 优 先 级 对 l 求 {要 _ 高 稳 定 性 的S D 系 统 来 说 .某 些 任 务 能 否 及 时 运 行 关 PA
的 .必 须 经 过 系统 的 多任 务 实 验 测 试 来 确 定 V wok运 x ts 行 环 境 的准 确 时 钟 、 测 量 出 精 准 的任 务 时 间 参 数 才 能 哆 准 确 的使 用 R M算 法 而 计 算 出每 个 任 务 的 时 间与 周
期 是 一个 繁 琐 而 又 困难 的过 程 。
(aeD t C uti ) :将 S P 通 过R 2 S v— a — onTme a SC S 2 传来 的状 +
且 任 务 之 间 没 有 大 量 的数 据 通 信 传 输 、不 与 T P, 网 C I 态 电流 值 保 存  ̄R M中 并 根 据 实 时 采 集 上 来 的状 态 电 P qO
期 任 务 的 存 在 , 采 用 时 间 片 轮 转 调 度 保 证 这 些 周 期 取 当前 负载 的 状 态 与 电 流值 任务 的及 时运行 。 对 于 通 信 机 制 的 选 择 ,鉴 于 高 实 时 性 的 要 求 .并 ( AS 3 保 存 状 态 电 流 值 并 计 算 l【 迟 时 间 T K ) 延 2
相关文档
最新文档