(完整版)vxworks嵌入式操作系统

合集下载

嵌入式操作系统VxWorks简介

嵌入式操作系统VxWorks简介

一.嵌入式操作系统VxWorks简介VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。

良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。

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

在美国的 F-16、FA-18 战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。

WindRiver公司网址实时操作系统和分时操作系统的区别从操作系统能否满足实时性要求来区分,可把操作系统分成分时操作系统和实时操作系统。

分时操作系统按照相等的时间片调度进程轮流运行,分时操作系统由调度程序自动计算进程的优先级,而不是由用户控制进程的优先级。

这样的系统无法实时响应外部异步事件。

实时操作系统能够在限定的时间内执行完所规定的功能,并能在限定的时间内对外部的异步事件作出响应。

分时系统主要应用于科学计算和一般实时性要求不高的场合。

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

VxWorks的特点•可靠性操作系统的用户希望在一个工作稳定,可以信赖的环境中工作,所以操作系统的可靠性是用户首先要考虑的问题。

而稳定、可靠一直是VxWorks的一个突出优点。

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

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

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

VxWorks 的实时性做得非常好,其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,它们造成的延迟很短。

最新整理嵌入式实时操作系统VxWorks.ppt

最新整理嵌入式实时操作系统VxWorks.ppt
• VxWorks只占用很小的存储空间,并可高 度剪裁,保证了系统能以较高的效率运行
VxWorks体系结构框图
板级支持包:Board Support Package
板级支持包对各种板子的硬件功能提供了统一的
软件接口,包括
硬件初始化
TCP/IP协议栈和
IVI//OOxW系 系UP文V这能oIV统统ONr/xOk件些够xSWI,sWX系Idrr将t提X系设灵a网管RS键显磁并otao标包o1pwr统C标A整s供1rk统备活e络道盘示盘口FkFS准括FsFM准ss个提支中了sIs:都的s驱驱驱驱驱驱包:驱::的盘、的盘供持,一使在动动动动动动每括与动原一缓驱T实V异作适的普个r用设: : , : , ,个以M,生u种冲动x用步为用 文 通e快W中 硬 局 内一 备S用 用 用 用 用 用B下用文F与I:高 包中 看 消 内 字 线 链 和-/库IoS一于 件 数F速断 件 域 存DO个 驱/于 于 于 于 于 于驱于件rRPO用性 括S断 门 息 存 符 缓 表 AkO个实 系 据灵包的 时 和 分T、标 动网 任xxIPs动采 任 进 中 看 内NS系S于能 :D处 狗 登 分 扫 冲 管提188CC文时 统 文活括产 钟 总 配S兼C1准 程络 务66程E用 务 程 断 门 存统风常的S理 计 录 配 描 和 理I供操V键d/件系 包 件的一生 和 线 等容I接序AC通 间序R基 间 间 处 狗 管格G设驻实、 时 、 、 、 环了作盘T标o,统 括 、、个和 计 内 等的口上A信 通:于 同 通 理 理Am备的内时器 缓一系,准文允应 : 外与R处 时 存设文,移F, 信优 步 信 机目存操、 冲个统Os仅本许用 部A备理 器 的件从植支先 机 机 制M标的作管实兼N存显根的 设,管 地系而持启级 制 制S机文系理用容在示据快 备I仅理 址统使多动的件统C、例的于,偏速 都存映得兼种或、核程文x仅移文 统在射文容8网其可心扩件6存读件一于件的卡B他抢:展系S在写系作x系启占PW8集统于磁统为6统动的iB,n网x盘文dS机多8包P络6的件制任B括驱一处S务P动部理调分度

嵌入式实时操作系统VXWORKS6.6集成环境使用指导建议课件

嵌入式实时操作系统VXWORKS6.6集成环境使用指导建议课件

B、在Project Explorer窗口,选择Properties再选 Project References或者选择Project > Properties。然后选择 Project References,之后进行设置。
Workbench确认子工程和超级工程之间的关系是基于工程
类型和目标操作系统的。有些关系是不允许的。比如,
22
境使用指导建议
4.工程结构和编译系统
• 编译先从顶部 开始,再逐层 深入到内部的 枝叶最后回到 顶部,完成编 译
嵌入式实时操作系统VXWORKS6.6集成环
23
境使用指导建议
5.工程结构和共享子工程
一个实际的工程可以关联任意数量的逻辑工程 。产品的升级或者编译共享工程亦或组件的变化, 都会影响到关联共享工程的工程结构。
• 5.透视图(Perspectives)
• 6.视图(Views)
• 7.编辑器(Editors)
• 8.工程( Projects)
• 9.访问和查找workbench上下文关联的帮助 信息
嵌入式实时操作系统VXWORKS6.6集成环
10
境使用指导建议
四、理解Cross-Development(交叉开发)的概念
• 涉及的领域包括: • 过程控制(化工、食品加工); • 机器人(制造、自动操作控制); • 航空电子(飞行管理、GPS、喷气发动机控制); • 军事(武器管理、密码); • 数据处理(采集、信号处理); • 通信(税收机、数字电话); • 家电(微波炉、洗衣机、空调) • 计算机外围设备(打印机、Modem)等。
嵌入式实时操作系统VXWORKS6.6集成 环境使用指导建议
目录
• 第一部分 • 第二部分 • 第三部分 • 第四部分 • 第五部分

嵌入式实时操作系统VxWorks

嵌入式实时操作系统VxWorks

4
• 任务有自己的上下文
• 包括CPU环境、系统资源等
• 任务由系统内核调度运行
• 上下文切换时,任务的上下文保存在任务 控制块(TCB)中
• 一个任务的上下文包括:
• 任务的执行点(程序计数器) • CPU寄存器和浮点计数器
University of Science and Technology of China
• 使用单地址空间 • 所有代码执行在单一、公共的地址空间内 • 因此地址空间不属于任务上下文
• 当选用VxVMI时,每个任务各自的地址空 间需要进行虚拟地址到物理地址的转换
University of Science and Technology of China
7
1.2 任务状态转换
• 任务状态反映任务当前在系统中所处的情 形
10
任务的状态转换图 任务创建时,处于挂起状态
ttaasskkSRuesspuemned(())
挂起
要使刚创建的任务就绪, 要ta激skt活Sasu该ksRp任eens务du(m) e()
taskSuspend() taskResume()/taskActivate()
阻塞
睡眠
就绪
semseTmaGkei(v)e/(m)/smgQsgRQeScenivde(()) 调 抢度 占
执行
taskDelay() 使延用时sp已aw到ning原语,可以直接 创建并激活一个任务
任务可以在任何状态下被删除
University of Science and Technology of China
11
任务状态队列
University of Science and Technology of China

嵌入式操作系统和VxWorks

嵌入式操作系统和VxWorks

目标机自举(booting) 目标机自举(booting)
应用映像的来源和执行 用映像的来源和执
•应用映像包括RTOS、内核和嵌入式程序员开发的应用代码 应用映像包括 员开发的 用代码 、内核和嵌入式程序员开发 •应用映像来源于两个地方 应 – 目标机上的只读存储设备 机上的只读 – 宿主机开发系统 宿主机开发 开发系 •根据不同开发阶段和具体的使用方式,可执行映像的执行有三种情况 根据不同开发阶段和具体的使用方式, 根据不同开发阶段和具体的使用方式 行映像的执行有三种 – 程序从 程序从ROM执行,数据使用 数据使用RAM 执 – 将程序从 将程序从ROM复制到 复制到RAM后执行 后 – 从宿主机系统下载程序到 从宿主机系统 程序到RAM后执行 后 BootImage,VxworksImage,BSP概念上的区别 , 概念上的区别 , 概念上的区
•嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一 嵌入式系统是设计完成复杂功能的硬件和软件, 起的计算机系统。 起的计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一 个完整的部分,称为嵌入的系统。 个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式 系统。 系统。 • 通用目的的处理器:它的设计非常丰富,可以提供全部的特性和广 通用目的的处理器:它的设计非常丰富, 设计非常丰富 泛的功能。 理器能源消耗大, 生的热量高,尺寸也大, 泛的功能。但这些处理器能源消耗大,产生的热量高,尺寸也大,其 复杂性也 来了制造成本的昂贵 性也带 复杂性也带来了制造成本的昂贵 • 嵌入式处理器:它是为完成特殊的应用而设计的特殊目的的处理器 嵌入式处理器:它是为完成特殊的应用而设计的特殊目的的处 设计的特殊目的的 – 注重尺寸、能耗和价格的处理器 注重尺寸、能耗和价格的处 – 注重性能的处理器 注重性能的处 – 注重性能、尺寸、能耗和价格的处理器 注重性能、尺寸、能耗和价格的处 • 片上系统SOC(System On Chip) 片上系统 ( )

VxWorks嵌入式操作系统

VxWorks嵌入式操作系统

VxWorks Kernel
通信、同步和互斥机制(信号量)
VxWorks信号量提供最快速的任务间通信机制,它主 要用于解决任务间的互斥和同步。针对不同类型的问 题,有以下三种信号量:
二进制信号量
使用最快捷、最广泛,主要
用于同步或互斥;
互斥信号量 主要用于优先级继承、安全删除和 回溯;
计数器 资源分配
Wind 消息队列管理: msgQCreate() msgQDelete() msgQSend() msgQReceive()
创建(产生并激活)消息队列 中止并自由信号量 向消息队列发送消息 从消息队列接收消息
VxWorks Kernel
通信、同步和互斥机制(管道)
管道是用VxWorks的I/O系统提供一种灵活的消息传 送机制,它是受驱动器pipeDrv(VxWorks所提供) 管理的虚拟I/O设备
策略,同时它也提供了轮转调度法
VxWorks Kernel
任务管理(优先级反转)
优先级
T1:获取资源R,阻塞
T2:抢占T3
T3:获取资源R
T3:执行
T1:获得资源R,执行
时间
T3:释放R
•客观上造成优先级低的进程T2抢占优先级高的进程T1 •Vxworks解决方案:
优先级继承,在T1阻塞时,T3继承T1的优先级
将C函数和中断向量联结 得到当前中断套叠深度
设置程序中断级别 使中断禁止 开中断 设置异常向量 得到异常向量
VxWorks Kernel
时钟管理 时钟管理提供以下功能:
维护系统日历时钟;
在任务等待消息包、信号量、事件或内存 段时的超时处理;
以一定的时间间隔或在特定的时间唤醒或 发送告警到一个任务。

vxworks

vxworks

Vxworks操作系统(概要)一嵌入式操作系统概述(5 Min)1.嵌入式操作系统的形成●无操作系统的嵌入程序阶段这一阶段的嵌入式系统是以可编程控制器的形式、以单芯片为核心的系统,同时具有与一些监测、伺服、指示设备相配合的功能。

这种系统大部分应用于一些专业性极强的工业控制系统中,一般没有明显的被称为操作系统(RTOS)的支持,而是通过汇编语言编程对系统进行直接控制,运行结束后清除内存。

这一阶段系统的主要特点是系统结构和功能都相对单一,针对性强,但无操作系统支持,几乎没有用户接口。

●简单监控式的专用操作系统阶段这一阶段的嵌入式系统主要以嵌入式处理器为基础、以简单监控式操作系统为核心。

系统的特点是处理器种类繁多,通用性比较弱;系统开销小,效率高;系统一般配备系统仿真器,具有一定的兼容性和扩展性;操作系统的用户界面不够友好,其主要用来控制系统负载以及监控应用程序运行。

●通用的嵌入式操作系统阶段以通用型嵌入式实时操作系统(RTOS)为标志的嵌入式系统。

如VxWorks、pSOS、OS-9、Windows CE就是这一阶段的典型代表。

这一阶段系统的特点是能运行在各种不同类型强大的微处理器上;具有强大的通用型操作系统的功能,如具备了文件和目录管理、多任务、设备支持、网络支持、图形窗口以及用户界面等功能;具有大量的丰富的应用程序接口(API)和嵌入式应用软件丰富。

2.嵌入式操作系统特点概述●可移植性●可裁减性●可靠性●实时性●体积小、占用资源少3.现有的嵌入式操作系统简介●对几种主流操作系统进行简要介绍✧Windows Embedded族◆Windows Embedded操作系统产品家族由2种操作系统组成:WinCE、WinXP Embedded◆总体来看,Windows CE .NET是一个可定制的实时操作系统,能够用来快速构建下一代的智能、小巧的互联设备。

WindowsCE .NET可以运行在多种中央处理器(CPU)上,适用于各种设备类型:移动手持设备、瘦客户机、IP电话以及自动化工业控制设备。

VxWorks嵌入式实时操作系统结构简析

VxWorks嵌入式实时操作系统结构简析

VxWorks嵌入式实时操作系统结构简析本文简要介绍和分析了VxWorks嵌入式实时操作系统的实现结构. VxWorks是Windriver公司开发的为实时嵌入式系统设计开发的操作系统软件,为程序员提供了高效的实时任务调度、中断管理,实时的系统资源以及实时的任务间通信. 其核心功能主要有微内核,任务间通信机制,网络支持,文件系统和I/O管理,POSIX标准实时扩展,以及C++等其他标准支持。

一VxWorks实时操作系统背景用户在开发具有日益复杂的32位嵌入式处理器的产品时,需要一个用来连接产品应用程序和底层硬件的操作系统。

用户所寻求的操作系统应该具有的最重要的特点包括:·可靠性高的实时性能·可下载到最终产品的板上内存的丰富和灵活的功能模块集·与综合全面的主机开发环境的可协同工作。

VxWorks操作系统是美国WindRiver公司于1987年设计开发的一种嵌入式实时操作系统(RTOS),是Tornado II嵌入式开发环境的关键组成部分。

VxWorks是Windriver公司开发专门为实时嵌入式系统设计开发的操作系统软件,为程序员提供了高效的实时任务调度、中断管理,实时的系统资源以及实时的任务间通信。

应用程序员可以将尽可能多的精力放在应用程序本身,而不必再去关心系统资源的管理。

该系统主要应用在单板机、数据网络(以太网交换机、路由器)和通信方面等多方面。

通过对VxWorks的研究,可以使我们对嵌入式操作系统的研究和开发更进一步,尤其对国内的类似研制厂家有借鉴意义。

VxWorks操作系统的主要功能目前VxWorks操作系统的版本为VxWorks 5.4,其核心功能主要有:·微内核wind·任务间通信机制·网络支持·文件系统和I/O管理·POSIX标准实时扩展·C++以及其他标准支持这些核心功能可以与WindRiver系统的其他附件和Tornado合作伙伴的产品结合在一起使用。

嵌入式实时操作系统VxWorks

嵌入式实时操作系统VxWorks
嵌入式实时操作系统 VxWorks
目录
• VxWorks操作系统概述 • VxWorks系统核心功能 • VxWorks开发环境与工具 • VxWorks系统设计与实践
目录
• VxWorks系统案例分析 • VxWorks与其他实时操作系统的比较
01
VxWorks操作系统概述
定义与特点
定义
VxWorks是一种高性能、可扩展的实 时操作系统(RTOS),专为嵌入式系 统设计。
资源占用
Linux通常需要更多的内存和存储资源,不太适合资源有限 的嵌入式系统。VxWorks则更为紧凑。
开放性
Linux是开源的,拥有庞大的社区支持和丰富的软件资源。 VxWorks的源代码不公开。
VxWorks与QNX的比较
实时性
VxWorks和QNX都具备出色 的实时性,能够满足严苛的 实时需求。两者在微秒级别 内都能快速进行任务调度和
内存分区管理
VxWorks将内存划分为多个分区,每个任务占用一个 独立的内存分区,避免内存冲突。
内存保护机制
通过内存保护机制,确保每个任务的代码和数据不会 互相干扰。
动态内存分配
提供动态内存分配函数,允许任务在运行时申请和释 放内存。
系统优化与性能测试
代码优化
通过优化任务代码,降 低系统开销,提高实时 性。
中断处理优化
优化中断处理程序,减 少中断延迟,提高系统 响应速度。
性能测试与评估
通过实际测试和评估, 验证系统性能是否满足 实时性要求。
05
VxWorks系统案例分析
案例一:无人机飞控系统
无人机飞控系统需要实时响应、高可 靠性和可扩展性,以满足飞行控制和 导航的需求。

vxworks系统及函数详解

vxworks系统及函数详解

VxWork介绍及编程VxWork介绍及编程一.嵌入式操作系统VxWorks简介VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。

良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。

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

在美国的 F-16、FA-18 战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。

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

分时操作系统按照相等的时间片调度进程轮流运行,分时操作系统由调度程序自动计算进程的优先级,而不是由用户控制进程的优先级。

这样的系统无法实时响应外部异步事件。

实时操作系统能够在限定的时间内执行完所规定的功能,并能在限定的时间内对外部的异步事件作出响应。

分时系统主要应用于科学计算和一般实时性要求不高的场合。

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

VxWorks的特点∙可靠性操作系统的用户希望在一个工作稳定,可以信赖的环境中工作,所以操作系统的可靠性是用户首先要考虑的问题。

而稳定、可靠一直是VxWorks的一个突出优点。

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

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

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

VxWorks 的实时性做得非常好,其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,它们造成的延迟很短。

嵌入式操作系统以及VxWorks基础

嵌入式操作系统以及VxWorks基础

嵌入式系统以及VxWorks基础1. 嵌入式系统 (2)1.1嵌入式系统概述 (2)1.1.1什么是嵌入式系统 (2)1.1.2 嵌入式系统的特点 (2)1.1.3 嵌入式系统的主要应用领域 (3)1.1.4 嵌入式系统的发展趋势 (4)1.2 嵌入式系统的基本知识 (5)1.2.1 嵌入式系统的基本结构 (5)1.2.2嵌入式处理器 (6)1.2.3嵌入式操作系统 (7)1.2.4嵌入式系统的开发 (8)1.3嵌入式系统的开发方法.................................................................. 错误!未定义书签。

1.3.1 嵌入式系统的设计准则....................................................... 错误!未定义书签。

1.3.2 嵌入式系统设计的流程....................................................... 错误!未定义书签。

1.3.3 嵌入式系统的开发方法....................................................... 错误!未定义书签。

1.3.4 嵌入式系统的测试............................................................... 错误!未定义书签。

2. VxWorks基础 (10)2.1多任务功能: (10)2.2 VxWorks的中断管理 (22)2.3 VxWorks的内存管理 (23)2.4 I/O功能及硬件驱动 (23)2.5文件系统 (24)2.6网络功能 (24)2.6.1 数据链路层 (25)2.6.2 TCP/IP协议族 (26)2,6,3网络配置协议 (28)2.6.4选路协议 (29)2.6.5 socket API接口 (29)2.6.6 DNS (29)2.6.7 SNTP和RPC (29)2.6.8 远程文件存取和telnet (30)2.7对任务的实时监控 (30)2.8 BSP模块的支持 (30)2.9 多CPU的支持................................................................................. 错误!未定义书签。

嵌入式实时操作系统VxWorks入门_开发环境构建

嵌入式实时操作系统VxWorks入门_开发环境构建

嵌入式实时操作系统VxWorks入门――开发环境构建VxWorks 操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。

在美国的F-16、FA-18 战斗机、B-2隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。

VxWorks原先对中国区禁止销售,自解禁以来,在我们的军事、通信、工业控制等领域得到了非常广泛的应用。

VxWorks 的实时性体现在能于限定的时间内执行完所规定的功能,并能在限定的时间内对外部的异步事件作出响应。

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

本文将对这个操作系统进行一个入门级的、全面的介绍。

为力求展示其全貌,全文共分五章:(1)搭建VxWorks嵌入式开发环境;(2)简要介绍VxWorks的基本组成,内核的基本结构;(3)概述VxWorks板级支持包(BSP)的概念及VxWorks的启动过程;(4)介绍VxWorks设备驱动的架构及编写方法;(5)指明VxWorks应用开发的思路,任务调度及任务同步、中断与任务的同步机制。

以上各章中将贯穿着许多实例,由于本文定位于入门级教程,所以文中的实例都将十分简单。

下面我们进入第一章内容的讲解。

如图1,嵌入式系统的调试方法一般为通过PC(宿主机)上的集成开发环境交叉编译针对特定电路板(目标机)的程序,然后将程序通过目标板的JTAG、串口或网口等途径下载到目标板上运行。

因此,为了构造一个嵌入式系统的学习环境,拥有一块包含CPU、存储器及I/O电路(构造计算机系统)的目标电路板往往是必要的。

虽然许多集成开发环境附带模拟软件,但仅限于指令集的模拟,均无法模拟物理的目标机硬件平台,因而在其上只能进行应用程序的象征性模拟开发。

第二讲 嵌入式操作系统VxWorks及其开发工具Tornado(2010)

第二讲 嵌入式操作系统VxWorks及其开发工具Tornado(2010)

第二讲:嵌入式操作系统VxWorks及其开发工具Tornado主讲人:办公地址:联系方式:刘利强31号楼222房间82519069上节课主要内容:⏹为什么要学习嵌入式技术⏹嵌入式系统概述⏹嵌入式系统的应用⏹嵌入式实时系统基础132基础知识介绍交叉开发环境的建立方法Tornado 工具及其使用方法4常用的软件调试开发方法⏹什么是VxWorks?⏹为什么VxWorks被广泛采用?⏹VxWorks系统与通用操作系统的对比⏹什么是Tornado?⏹Tornado的工具及其开发环境⏹Tornado的目录结构⏹Tornado的主要目录结构什么是VxWorks?VxWorks操作系统是美国风河公司(Wind River System 公司,WRS)于1983年设计开发的一种运行在目标机上的高性能、可裁减的嵌入式强实时操作系统。

它凭借着良好的可持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据了重要一席。

VxWorks系统具备高可靠性和实时性,目前被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。

如美国的F-16战斗机、FA-18战斗机、B-2隐形轰炸机、爱国者导弹上、火星探测器等均使用了VxWorks操作系统。

什么是VxWorks?VxWorks的主要组成如下:⏹高性能系统内核Wind➣多任务调度(基于优先级抢占方式的实时调度算法)➣内部任务的通讯⏹其它标准工具➣设备驱动➣文件系统➣I/O系统➣内存管理➣网络协议栈为什么VxWorks被广泛采用?⏹可靠性考虑操作系统的用户希望在一个工作稳定、可以信赖的环境中工作,而稳定、可靠是VxWorks的一个突出优点。

⏹实时性考虑⏹可裁剪性考虑由于存储空间和资源的限制,及提高运行效率考虑,用户在使用嵌入式操作系统时,并不是操作系统的每一个部件都要用到,例如图形显示、文件系统以及一些设备驱动在某些嵌入式系统中往往并不使用。

VxWorks操作系统简介.ppt

VxWorks操作系统简介.ppt
用户可以定义一些数据用于任务间的通讯: 编写一个库,提供该数据的共享存储; 所有任务访问这些共享数据时都使用库中的例程; 可以用信号量来保证共享数据的互斥访问
通信机制——信号量
Vxworks信号量提供最快速的任务间通信机制,它主要用 于解决任务间的互斥和同步。针对不同类型的问题,有三 种信号量: 二进制信号量,使用最快、最广泛,主要用于同步和互 斥 互斥信号量,主要用于优先级继承、安全删除和回溯 计数器
VxWorks系统简介
郭思 SX1401188
VxWorks系统简介
VxWorks应用背景 VxWorks系统体系结构 任务管理 通信机制 内存管理
VxWorks应用背景
VxWorks是美国Wind River System公司于1983年设计 开发的一种嵌入式实时操作系统(RTOS)。
BSP(Board Support Package)
BSP通常是指针对具体的硬件平台,用户所编 的启动代码和部分设备驱动程序的集合。 板级支持包对各种板子的硬件功能操作提 供了统一的软件接口,是保证VxWorks操作系 统可移植性的关键。它包括硬件初始化、中断 的产生和处理、硬件时钟和计时器管理、局域 和总线内存地址映射、内存分配等等。
Vxworks支持各种任务间的通信机制,提供多种多样 的任务间通信方式,主要有:
共享内存,主要是数据的共享; 信号量,用于基本的互斥和任务同步; 消息队列和管道,单CPU的消息传递; 二进制信号,用于异常处理; Socket和远程过程调用,用于网络间任务消息传
递。
通信机制——共享内存
任务间通信最简单的方法是采用共享存储区,也即相关的 各个任务分享属于它们的地址空间的同一内存区域。因为 所有的任务都存在于单一的线性地址空间,任务间共享数 据。全局变量、线性队列、环形队列、链表、指针都可被 运行在不同的上下文的代码所指向。

嵌入式系统软件设计VxWorks【第4章】嵌入式操作系统原理

嵌入式系统软件设计VxWorks【第4章】嵌入式操作系统原理
0 P4 75 P1 200 P3 450 P0 800 P2
任务 P0 P1 P2 P3 P4
运行时间 350 125 475 250 75
1275
20
最短任务优先调度
任务等待时间
W p0 450 W p1 75 W p2 800 W p4 0
W p3 200
28
轮转调度
系统采用计时器中断;
每个时间中断产生后,执行时间中断处理程序; 时间中断处理程序调用调度器; 调度器选择新的任务执行;原有任务进入任务 就绪队列,等待下次执行。
29
轮转调度
假设时间额度为50,忽 略任务Contex切换时间, 则调度结果如下图。
任务 P0 P1 P2 P3 P4 运行时间 350 125 475 250 75
12
调度策略
内核调度策略选择依据
如何设计调度程序为竞争的任务分配CPU,以满足 外部的目标要求?
是否应该基于优先级来分配CPU?
是否应该基于公平的原则分配CPU? 是否应该基于任务执行时间的长短来分配CPU?
13
调度策略
非抢占式调度
任何一个任务一旦被分配CPU,该任务可以运行到 结束;中断可以打断任务的执行,但中断返回后 CPU控制权仍回到被中断的任务。
W p3 475 475 950
W p4 950 250 1200
平均等待时间
W 0 350 475 950 1200 5 595
19
最短任务优先调度
假设所有任务的服务 时间都事先知道,一 个合理的调度策略是 先选择服务时间少的 任务执行;
(4)
就绪态
时间
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
The taskLock() prevent task context switching, but do not lock out interrupt handling.
Task Control Routine
Task
taskSpawn Task Name and ID Routines Task Information Routines Task Deleting Routines Task Control Routines Task Hook Routines
If the task explicitly blocks or suspends, the scheduler selects the next highest-priority eligible task execute.
When the preemption-locked task unblocks and begins running again, preemption is again disabled.
Shared Data Structure Mutual Exclusion Semaphores Message Queues Pipes Network Intertask Communication Signals
Shared Data Structures
Global variables Linear buffers Ring buffers Linked lists Pointers
Code Reentrancy Solutions
Dynamic Stack Variables Guarded Global and Static Variables Task Variables
Dynamic Stack Variables
Guarded Global and Static Variables
Task Scheduler Control Routines
Task
Task Lock When a task disables the scheduler by calling taskLock(), no priority-based preemption can take place while that task is running.
嵌入式软件VxWorks编程介绍
邹昕光 哈尔滨工业大学自动化测控所
联系电话:86413531 - 609 E-mail: xgzou@
Agenda
Task Intertask communication ISR
Task
Each task has its own context, which is the CPU environment and system resources that the task sees each time it is scheduled to run by the kernel.
Task
The default task scheduling algorithm in wind is priority-based preemptive scheduling. Round Robin is an optional algorithm. The wind kernel has 256 priority levels, numbered 0 through 255. Priority 0 is the highest and priority 255 is the lowest.
Providing a mutual-exclusion mechanism to prohibit tasks from simultaneously executing critical sections of code.
Task Variables
Intertask Communication
Task Hook Routines
Shared Code and Reentrancy
A single copy of code executed by multiple tasks is called shared code. A subroutine is reentrant if a single copy of the routine can be called from several task contexts simultaneously without conflict. Modify global or static variables.
A task’s context is saved in the task control block (TCB).
Task
A task’s context includes: - a thread of execution; that is, the task’s program counter - the CPU registers and (optionally) floating-point registers - I/O assignments for standard input, output, and error - a delay timer - a time-slice timer - kernel control structures - signal handlers - debugging and performance monitoring values
Shared Data Structures
Task Spawn
Task Name and ID Routines
Task Information Routines
Task Information Routines
Task Deleting Routines
Task Deleting Routines
Task Control Routines
相关文档
最新文档