嵌入式实时多任务操作系统的特征介绍
概述1-嵌入式实时操作系统基本特征

进入了被中断状态。
3.多任务系统 10
μC/OS-Ⅱ状态切换的函数: μC/OS-Ⅱ中一些函数提供的服务,这些函数使任务从一种状态变到另一种状态。
3.多任务系统 11
任务切换
Context Switch 实际含义是任务切换,或CPU寄存器内容切换。
概述1-嵌入式实时操作系统特征
教学内容
2
1. 实时操作系统(RTOS)基本特征 2. 前后台系统 3. 多任务系统
1.实时操作系统(RTOS)基本特征 3
基本特征
高效的任务管理
1.支持多任务 2.优先级管理 3.任务调度:优先级的抢占式调度、时间片轮转调度 4.支持快速而确定的上下文切换
快速灵活的任务间通信
任务的优先级低,还暂时不能运行。
运行态:是指该任务掌握了CPU的控制权,正在运行中。
挂起状态:也可以叫做等待事件态 WAITING,指该任务在等待,等待某一事件的发
生, (例如等待某外设的 I/O操作,等待某共享资源由暂不能使用变成能使用状态, 等 待定时脉冲的到来或等待超时信号的到来以结束目前的等任务系统 8
任务的状态 每个任务都处在以下5种状态之一的状态
休眠态 就绪态 运行态 挂起态(等待某一事件发生) 被中断态
3.多任务系统 9
休眠态:相当于该任务驻留在内存中,但并不被多任务内核所调度。
就绪:意味着该任务已经准备好,可以运行了,但由于该任务的优先级比正在运行的
任务切换过程增加了应用程序的额外负荷。CPU的内部寄存器越多,额外 负荷就越重。做任务切换所需要的时间取决于CPU有多少寄存器要入栈。
3.多任务系统 6
嵌入式实时操作系统

嵌入式实时操作系统第一点:嵌入式实时操作系统的定义与特点嵌入式实时操作系统(Embedded Real-Time Operating System,简称ERTOS)是一种专门为嵌入式系统设计的操作系统,它具有实时性、可靠性和高效性等特点。
嵌入式实时操作系统主要用于控制和管理嵌入式系统中的硬件资源和软件任务,以实现对系统的实时控制和高效运行。
嵌入式实时操作系统的定义可以从以下几个方面来理解:1.嵌入式系统:嵌入式系统是指将计算机技术应用于特定领域,以完成特定任务的计算机系统。
它通常包括嵌入式处理器、存储器、输入输出接口等硬件部分,以及运行在处理器上的软件部分。
嵌入式系统具有体积小、功耗低、成本低、性能高等特点。
2.实时性:实时性是嵌入式实时操作系统最核心的特点之一。
它要求系统在规定的时间内完成任务,并对任务的响应时间有严格的要求。
实时性可以分为硬实时和软实时。
硬实时要求任务在规定的时间范围内完成,不允许有任何的延迟;软实时则允许任务在规定的时间范围内完成,但延迟尽量最小。
3.可靠性:嵌入式实时操作系统需要具备很高的可靠性,因为它们通常应用于对安全性和稳定性要求较高的领域,如航空航天、汽车电子、工业控制等。
可靠性主要包括系统的正确性、稳定性和抗干扰能力等方面。
4.高效性:嵌入式实时操作系统需要高效地利用硬件资源,以实现对系统的实时控制。
高效性主要包括系统资源的利用率、任务的调度算法、内存管理等方面。
第二点:嵌入式实时操作系统的应用领域与发展趋势嵌入式实时操作系统在众多领域都有广泛的应用,下面列举几个典型的应用领域:1.工业控制:嵌入式实时操作系统在工业控制领域具有广泛的应用,如PLC(可编程逻辑控制器)、机器人控制器、工业现场仪表等。
实时操作系统可以实现对工业过程的实时监控和控制,提高生产效率和产品质量。
2.汽车电子:汽车电子领域是嵌入式实时操作系统的另一个重要应用领域。
现代汽车中的电子控制系统,如发动机控制、底盘控制、车身控制等,都需要实时操作系统来保证系统的实时性和稳定性。
嵌入式系统中的操作系统选择

嵌入式系统中的操作系统选择在现代的嵌入式系统设计中,选择一个合适的操作系统对于系统的稳定性、性能和适应性都起着至关重要的作用。
基于不同的应用需求,嵌入式系统开发人员可以选择不同的操作系统,在设计阶段就将系统的功能需求和性能需求分别考虑进去,以便完成一个高质量和可靠可控的嵌入式系统。
一般来说,嵌入式系统可以分为实时嵌入式系统和非实时嵌入式系统两类。
实时嵌入式系统对于响应时间、延迟时间和中断处理速度等都有高要求,因此需要选择一种采用实时调度算法的操作系统来满足需求。
而非实时嵌入式系统往往需要处理网络通信、数据管理和多媒体等,需要选择一种非实时操作系统来满足需求。
以下将介绍常用的嵌入式操作系统及其特点。
1. 常见的实时操作系统(1)FreeRTOSFreeRTOS是一种基于内核抢占的实时操作系统,通常用于小型嵌入式系统。
它提供了小巧、可移植、高效的内核,并包含了许多功能实现的细节,使得它成为程序员和工程师的首选。
它适用于单一应用程序和多任务应用程序,并且可以方便地配置和扩展。
(2)VxWorksVxWorks是一种实时多任务操作系统,广泛应用于航天、军事、网络、机器人和医疗等领域。
它支持多种处理器架构、网络协议、文件系统和通信协议,并且具有高度可靠性和可扩展性。
它还支持多种开发环境和调试工具,使得开发和测试嵌入式系统变得非常方便。
(3)μC/OSμC/OS是一种小型实时操作系统,适用于单片机和其他小型处理器。
它提供了可定制的底层接口和一组高效的内核,可支持多任务、多线程、多进程和中断处理。
它具有小巧、高效、可移植和可扩展等特点,被广泛应用于汽车控制、仪器仪表、家电应用等领域。
2. 常见的非实时操作系统(1)LinuxLinux是一种开源的普通操作系统,它的内核是非实时的,可以应用于各种嵌入式系统。
它拥有强大的网络功能、通用文件系统和各种可用的驱动程序、应用程序等。
由于它是开源的,因此在开发过程中可以得到广泛的技术支持和文档资料,具有良好的可扩展性和稳定性。
操作系统中的实时系统与嵌入式系统

操作系统中的实时系统与嵌入式系统操作系统是计算机系统中的核心软件之一,它负责管理计算机硬件资源和控制程序执行,以便提供良好的用户体验。
在操作系统的大类中,实时系统和嵌入式系统是两个重要的子类。
本文将重点探讨这两种系统的特点、应用领域以及关键技术。
一、实时系统的介绍实时系统是一种强调任务完成时间性能的操作系统。
它要求在指定的时间范围内能够满足任务的实时性要求。
实时系统主要分为硬实时系统和软实时系统两种。
硬实时系统要求系统能够在任务要求的截止时间之前准确地完成任务。
常见的硬实时系统应用包括航空航天、核能控制等领域。
例如,宇航员的生命支持系统必须在特定的时间内提供所需的氧气和食物,一旦超时,将可能导致灾难性的后果。
软实时系统也是具有时间要求的系统,但它对于任务的完成时间有一定的宽容度。
软实时系统在多媒体、实时游戏等领域得到广泛应用。
例如,在实时游戏中,玩家对游戏画面的响应速度要求较高,但不像硬实时系统那样对时间延迟具有严格的要求。
二、嵌入式系统的介绍嵌入式系统是指被嵌入到具体设备中的计算机系统,主要用于控制和操作特定设备。
它通常包括硬件和软件两个部分。
嵌入式系统的主要特点是紧凑、高度可靠和低功耗。
嵌入式系统可以广泛应用于各个领域,如消费电子、汽车、医疗设备等。
例如,智能手机中的操作系统就是一种嵌入式系统,它可以控制和管理手机的各种功能。
三、实时系统与嵌入式系统的关系实时系统和嵌入式系统之间存在紧密的关系。
很多嵌入式系统需要具备实时性能,以满足对任务截止时间的严格要求。
例如,一台智能车辆需要在特定的时间内对路况进行感知并作出相应的驾驶决策,这就需要嵌入式系统具备实时性能。
另外,实时系统和嵌入式系统都面临着资源有限的挑战。
由于嵌入式系统通常具有较小的体积和功耗限制,因此其资源(如内存、处理能力等)较为有限。
这就要求实时系统和嵌入式系统在设计和实现时都需要充分考虑资源利用的效率和优化。
四、实时系统与嵌入式系统的关键技术实时系统和嵌入式系统的设计和实现都需要依赖一些关键技术来保证其功能和性能。
嵌入式系统中的实时操作系统研究与应用

嵌入式系统中的实时操作系统研究与应用嵌入式系统是指被嵌入在其他设备中的电子计算系统。
这种系统通常具有小巧、低功耗、低成本等特点。
嵌入式系统被广泛运用于智能家居、智能交通、医疗器械、工业控制等领域。
嵌入式系统最重要的特点之一就是实时性。
实时性是指系统能够在预定的时间内,按照既定的要求完成任务。
因此,在嵌入式系统中,实时操作系统是非常重要的。
本文将围绕嵌入式系统中的实时操作系统进行研究探讨。
一、实时操作系统概述实时操作系统(RTOS)是嵌入式系统中最常见的操作系统类型之一。
RTOS是一种使得系统能够及时响应外部事件,按时完成任务的操作系统。
它具有高度的可预测性和可靠性。
RTOS常被运用于需要实时响应的设备中,如航空飞行控制系统、医疗监测设备、智能交通系统等。
与一般的操作系统不同,RTOS需要具备以下特点:1.响应速度快:实时操作系统需要及时响应任务,而且响应时间必须小于任务的时间限制。
2.可预测性:实时操作系统需要保证任务在规定时间内完成,因此必须具有可预测性。
3.可靠性:RTOS需要保证任务的可靠性,确保任务能够按时完成,不出错。
4.实时性:RTOS需要保证系统实时性,能够在规定时间内完成任务。
二、实时系统的分类按照实时性的要求,实时系统可以分为硬实时系统和软实时系统。
硬实时系统:硬实时系统对任务的响应时间有极高的要求,任务必须在严格的时间限制内完成。
举例来说,发生在航空飞行控制系统中的事件必须在极短的时间内得到响应,否则将带来灾难性的后果。
软实时系统:软实时系统对任务的响应时间要求有所放宽,任务可以在更广泛的时间范围内完成。
虽然并不是所有任务都必须在规定时间内得到响应,但是任务响应的时间超出一定的范围,也会对系统造成灾难性的后果。
通常,软实时系统和硬实时系统一同出现在一个复杂的嵌入式系统中。
三、实时操作系统的调度机制实时操作系统可以采用不同的调度策略。
常见的调度策略如下:1.先进先出调度(FIFO):按照任务的到来顺序进行调度。
嵌入式实时操作系统简介

嵌入式实时操作系统简介嵌入式实时操作系统简介一:引言嵌入式实时操作系统(RTOS)是一类特殊的操作系统,用于控制和管理嵌入式系统中的实时任务。
本文将介绍嵌入式实时操作系统的基本概念、特点和应用领域。
二:嵌入式实时操作系统的定义1. 实时操作系统的概念实时操作系统是一种能够处理实时任务的操作系统。
实时任务是指必须在严格的时间约束内完成的任务,例如航空航天、工业自动化和医疗设备等领域的应用。
2. 嵌入式实时操作系统的特点嵌入式实时操作系统相比于通用操作系统具有以下特点:- 实时性:能够满足严格的时间要求,保证实时任务的及时响应。
- 可靠性:具备高可用性和容错能力,能够保证系统的稳定运行。
- 精简性:占用资源少,适应嵌入式系统的有限硬件资源。
- 可定制性:能够根据具体应用需求进行定制和优化。
三:嵌入式实时操作系统的体系结构1. 内核嵌入式实时操作系统的核心部分,负责任务和资源管理、中断处理和调度算法等。
- 任务管理:包括任务的创建、删除、挂起和恢复等。
- 资源管理:包括内存、文件系统、网络资源等的管理。
- 中断处理:负责中断的响应和处理。
- 调度算法:根据任务的优先级和调度策略进行任务的调度。
2. 设备管理嵌入式实时操作系统需要与各种外设进行通信和交互,设备管理模块负责管理设备驱动、中断处理和设备的抽象接口等。
3. 系统服务提供一系列系统服务,例如时钟管理、内存管理和文件系统等,以支持应用程序的运行。
四:嵌入式实时操作系统的应用领域嵌入式实时操作系统广泛应用于以下领域:1. 工业自动化:用于控制和监控工业设备和生产过程。
2. 航空航天:用于飞行控制、导航和通信系统。
3. 交通运输:用于车辆控制和交通管理。
4. 医疗设备:用于医疗仪器和设备控制和数据处理。
附件:本文档附带示例代码和案例分析供参考。
注释:1. 实时任务:Real-Time Task,简称RTT。
2. 嵌入式系统:Embedded System,简称ES。
嵌入式系统中的实时操作系统

嵌入式系统中的实时操作系统嵌入式系统是一种特殊的计算机系统,通常嵌入在其他设备中,用于控制和管理设备的功能。
在嵌入式系统中,实时操作系统(RTOS)起着至关重要的作用。
本文将介绍嵌入式系统中的实时操作系统的概念、特点以及在嵌入式开发中的应用。
一、实时操作系统的概念实时操作系统是一种专为嵌入式系统设计的操作系统,具有高度可预测性和响应性能。
它的主要特点是能够在严格的时间约束下处理任务,并能够及时响应外部事件。
实时操作系统分为硬实时系统和软实时系统两种类型。
硬实时系统要求任务必须在预定的时间内完成,不能有任何延迟。
这种系统广泛应用于一些对时间要求非常严格的领域,例如航空航天和医疗设备。
软实时系统对任务的时间要求相对较轻松,任务可以在一定范围内有一定的延迟。
这种系统适用于一些对时间要求较为宽松的场景,例如智能家居和工业控制。
二、实时操作系统的特点1.提供任务调度和管理:实时操作系统能够根据任务的优先级和时间要求进行任务的调度和管理,确保高优先级任务能够及时得到处理。
2.保证任务的及时响应:实时操作系统能够在严格的时间约束下响应任务,确保任务按时完成,并能够实时处理外部事件。
3.可靠性和稳定性:实时操作系统需要具备高度的可靠性和稳定性,以确保嵌入式系统的正常运行。
4.低内存占用和低功耗:嵌入式系统通常具有资源有限的特点,实时操作系统需要占用较少的内存,并尽量降低功耗,以提高系统的效率和续航时间。
三、实时操作系统在嵌入式开发中的应用实时操作系统在嵌入式开发中有广泛的应用,以下是一些常见的应用场景:1.工业控制:实时操作系统可以用于工业自动化系统中,例如控制生产线上的机器人进行精确的动作控制,保证生产线的高效运行。
2.汽车电子:实时操作系统在汽车电子系统中发挥着重要作用。
例如,车载信息娱乐系统需要及时响应驾驶员的指令,并能够处理导航和娱乐功能。
3.医疗设备:医疗设备通常对时间要求非常严格,实时操作系统可以保证医疗设备准确地进行数据采集和处理,并及时响应医生的指令。
嵌入式实时操作系统考试复习

嵌入式实时操作系统考试复习1.什么是嵌入式操作系统?嵌入式系统有什么特点?答:运行在嵌入式硬件平台上,对整个系统及其操作的部件、装置等资源进行统一协调、指控和控制的系统软件就叫嵌入式操作系统。
特点:微型化、可剪裁性、实时性、高可靠性、易移植性2.实时操作系统需要满足的条件:实时操作系统必须是多任务系统,任务的切换时间应与系统中的任务数无关,中断延迟的时间可预知并尽可能短。
3.什么是实时操作系统?答:什么是实时?实时含有立即、及时之意。
如果操作系统能使计算机系统及时响应外部事件的请求,并能及时控制所有实时设备与实时任务协调运行,且能在一个规定的事件内完成对事件的处理,那么这种操作系统就是一个实时操作系统。
4.内核的类型答:不可剥夺型内核:也叫做合作型多任务内核,在这种内核中,总是优先级别高的任务最先获得CPU的使用权。
为防止某个任务霸占CPU的使用权,这种内核要求每个任务必须能主动放弃CPU的使用权。
可剥夺型内核:CPU总是运行多任务中优先级别最高的任务,即使CPU正在某个优先级低的任务,当有高优先级别的任务准备就绪时,该高级别的任务就会剥夺正在运行的CPU的使用权,而使自己获得CPU的使用权。
5.嵌入式操作系统的三项功能:内存管理、多任务管理、外围设备管理第三章1.任务有三个部分组成:任务程序代码、任务堆栈、任务控制块2.具有自己的私有空间叫“进程”,无叫做“线程”。
一个任务不是对应一个进程。
3.任务的状态:就绪状态:最多有9个、运行状态:只能有1个、等待状态:最多有9个4.系统任务:为了与用户任务区别,这种系统自己所需要的任务就叫做系统任务。
两个系统任务:空闲任务和统计任务,空闲任务是每个应用程序必须使用的,统计任务则是应用程序可以根据实际需要来选择5.空闲任务:这个空闲任务几乎不做什么事情,只是对系统定义的一个空闲任务运行次数计数器进行加1操作。
一个用户应用程序必须使用这个空闲任务,而且这个任务不能通过程序来删除。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式实时多任务操作系统的特征介绍
引言:适逢公司进行通用计算平台的硬件基础研究,在此硬件平台之上,必要引入通用的软件平台。
为此,操作系统无疑是最佳的选择。
在德国十二套软启动项目中,远程IO控制机的软件设计成功引入了实时多任务操作系统μC/OS—II, 本文结合作者的工作成果,针对μC/OS—II将嵌入式操作系统的基本特征和原理进行简单的描述,并对大家所熟知的实时特性概念进行简要的抛析。
嵌入式实时操作系统在国外在上世纪60年代便已发展,至今已有不下百种产品。
从在商业领域取得巨大成功的两个突出代表VxWorks和QNX;到开源并广泛传播的Linux;以及由知名公司所推出的WINCE等;再到由个人之力发展至今的μC/OS,每种操作系统皆有其自身的特点及所专长的应用领域,但同时作为嵌入式的实时多任务操作系统又有其共同的特征,以下将结合实际工作中所用到的μC/OS—II为大家进行简单的介绍。
首先,操作系统作为用户应用程序同系统硬件之间的接口,承担着系统全部软、硬件资源的分配、工作调度、控制协调并发活动的重任。
如图1所示为包含操作系统的软硬件体系结构。
图1
比较于传统的PC机操作系统,除具有任务调度、同步机制、中断处理、文件功能外,嵌入式实时操作系统还具有如下几个主要特点:
◆可裁减性,嵌入式系统开发所特有的一点便是具有有限的存储空间。
面向不同硬件资源的情况下,操作系统具有自身可裁减的特性,以适应系统的存储容量,以μC/OS—II为例,最小可将代码量裁减到2K+。
◆实时性,于军事及高端工业领域发展起来的嵌入式操作系统,系统所处运行环境极为复杂,要求极为苛刻。
对于外部的激励,操作系统能够及时的做出响应,来保证系统的可靠运行。
◆可移植性,操作系统作为通用型的软件平台,必要面对不同厂家、不同硬件架构的处理器平台。
因此为保证自身的可重用特性及兼容性的特点,操作系统多可进行移植,来适应不同处理器的硬件架构。
以μC/OS—II为例,在四款主流IP核PowerPC、ARM、MIPS和X86上皆可进行移植。
除此之外,嵌入式实时操作系统相比传统的PC机操作系统还具有更好的稳定性及较弱的交互性,同时在容错性方面也要明显优于PC机操作系统,这里不再鳌述。
μC/OS—II由加拿大的著名嵌入式系统专家Jean brosse在μC/OS的基础上进行大幅的升级和改进而成的,是一个源码公开、完整的、可移植、固化、裁减的占先式实时多任务内核。
由ANSI的C语言编写,包含小部分汇编代码,至今,从8位到64位,在超过40种不同的架构处理器上运行,同时通过了严格的测试,并且得到了美国航空管理局(Federal Aviation Administration)的认证,可以应用到飞行器上,其代码的安全性和可靠性已得到检验。
如下图图2所示,为μC/OS—II的文件结构及同硬件的关系。
图2
由上图便可以清晰的看到整个μC/OS—II操作系统的文件体系结构,以及
操作系统同所依赖的硬件之间的关系。
操作系统需要借用CPU一个内部定时器来为系统提供特定的周期中断以产生一个时钟节拍,这个时钟节拍可以看作是系
统心脏的脉动;μC/Probe为操作系统提供了强大的通信接口管理,便于用户在操作系统上开发各种通信功能;板级支持包帮助用户完成具体硬件的管理,包括各种驱动程序的编写和初始化工作;移植文件为操作系统面向不同CPU架构时所需要更改的文件部分,目前大多数的移植文件均在官网上有提供;与处理器无关的文件为操作系统内核文件,这些文件包含操作系统内部的变量、函数定义和调用,用户不可修改,当然依据具体需求可进行裁减;应用程序代码即为用户针对具体项目在操作系统平台下进行的代码开发,包含项目的全部变量和功能函数。
μC/OS—II为我们提供了如下图所示三个方面的管理:多任务管理、外围设备管理和内存管理。
图3
●嵌入式实时操作系统提供丰富的多任务管理函数,并且会提供良好的任务
调度机制,控制任务的启动、运行、暂停和结束等状态。
通常这些调度算法是满足实时性要求的,也就是能使任务运行时的每个动作会在一个严格要求的时间内执行完毕;
●内存管理是指负责动态内存的管理,当应用程序的某一部分需要使用内存时,可利用操作系统提供的API函数来获得内存空间,一旦使用完毕,可利用系统的内存释放函数来释放内存,以此实现内存的动态管理;
●作为完整的嵌入式应用系统,还需要多种外围设备支持,如键盘、显示装置、通信接口等,这些外围设备作为各个任务可利用的资源,操作系统必须对这些资源进行合理的调度和管理,以保证系统中各任务在执行过程中获得足够的资源。
实时性特征是嵌入式实时多任务操作系统的主要特征之一,也是我们弃传统
前后台程序而引入操作系统的首要原因。
实时性作为系统的主要性能指标是大家所熟知的,但同时在笔者的日常交流当中,发现大家对实时性概念的理解尚还存在误区,借此机会对实时性的概念进行简要的分析,希望能对大家有所启发和帮助。
“实”在这里的含义是计算系统在环境事件变化时,系统根据环境的变化而做出的反映.这种反映要及时地根据外界的变化而变化,而不是尽可能的快。
所以实时的思想应更多的体现为及时而绝非简单理解为尽快。
在整个系统运行的过程中,要并发的执行多个任务,用任务执行快慢作为评估系统性能的指标是不科学的,每个任务均在其预先期望的时间限内完成或及时的做出响应,我们便认为系统具有很好的实时性或满足了实时性要求。
以下将以在实际工作中所遇到的问题来说明操作系统如何确保的实时性。
案例描述:
现有主机A和目标机B,彼此之间通过CAN总线进行数据传输,在某段时间段内,主机A以每隔T时间的时间间隔向目标机B发送数据包D1、D2、D3、D4,同时目标机B根据接收到的数据进行相应的数据处理,其所花费的时间分别为0.3T、2.4T、0.6T、0.7T,这里将数据包在总线上传输的时间忽略不记,或者相对T时间很小,如下图图4所示:
图4
方案一
此方法为未使用操作系统的解决办法,既传统的前后台程序方法,也是我们在开始编制程序时所采用的方法。
在目标机B中以事件触发的方式来响应主机A 发送的数据包,编制目标机B的CAN通信中断服务程序,在中断服务程序中进行数据包的处理。
我们不难发现,对数据包D1可以正确的接收并处理,对数据包D2可以接收,但处理时间过长,在数据包D3到来时,程序仍停留在对D2的中断程序处理当中,只有当数据包D4发出0.4T时间之后,系统退出对数据
包D2的中断服务程序,来继续接收数据包D4,这时目标机B已将主机A发出来的数据包D3丢失。
评估:目标机B未能对主机发送出来的数据进行实时处理,具有很差的系统实时性。
方案二
此方法同样未使用操作系统,是在方案一的基础上进行改进。
这里我们对处理时间过长的数据包做如下处理,既接收到数据包D2后,将取消在中断中对其的处理。
将数据包D2保存到内存当中,即刻便退出中断服务程序,来准备接收D3。
待系统空闲时或者说无中断生成的时候,利用前台轮询程序来检查是否有数据包D2接收到,如果接收到,对D2进行处理。
否则将在系统空闲时间不断进行轮询检查。
评价:此方案可以完整的接收到主机发送来的数据报文,满足系统实时性的要求,但尚还存在不足,既系统何时对数据包D2的处理是不确定的,非受控状态。
同时反复判断数据包D2的到来,消耗了系统资源,降低了CPU的有效利用率。
方案三
此方法为在操作系统环境下进行开发的解决方案,针对处理接收到的数据包建立相应的任务,同时在中断服务程序中对接收到的数据包只进行保存(将中断中的代码量尽量减小),并在退出中断之前发送信号量至待处理数据包的任务,将其置为就绪态,待退出中断程序后,系统任务调度函数会根据当前就绪态任务列表中的任务优先级来依次执行。
具体的程序示例说明如下:
图5
评价:目标机B完整的接收到主机A发来的所有数据包,并会依据任务的优先级适时的执行处理任务,很好的满足了系统实时性的要求,同时对数据包的处理未采用轮询方式,有效的利用了CPU资源,提高了系统资源的有效利用率。
图6为此次远程IO控制机中各任务在操作系统下的运行状态图,附图与此,供大家参考。
300个Tick
远程IO控制机中系统下任务运行状态图
图6
嵌入式操作系统种类较多,但基本原理相同,本文结合作者的工作心得将操作系统的主要特征进行了简要的整理,但限于篇幅,也难于尽述。
希望以上内容能为操作系统在公司的引入和推广提供参考信息,为日后构建通用的软件平台奠定良好的开端。