Rtos的调研分析报告

Rtos的调研分析报告
(一) 操作系统的选择
一、 嵌入式实时操作系统的现状
实时多任务操作系统(Real Time Operating System)是根据操作系统的工作特性而言的。实时是指物理进程的真实时间。实时操作系统是指具有实时性,能支持实时控制系统工作的操作系统。首要任务是调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。
实时操作系统在多媒体通信、在线事务处理、生产过程控制、交通控制、通信系统、武器制导等各个领域得到广泛的应用,因而越来越引起人们的重视。实时系统应用的范围很广,按照实时系统在应用中的形态特征可划分为两种应用:嵌入式应用和非嵌入式应用。所谓嵌入式应用,即指实时操作系统本身作为一个大系统的一个部件而内置到该系统中的应用形式。内置这种计算机的系统功能非常强大,具有反应速度快、自动化程度高等特点。
在实际生活中,如办公自动化、金融、通信、汽车、工业和军事领域随处可见嵌入式计算机系统的影子,其中在办公自动化、金融、通信领域中所占的份额最大。嵌入式计算机系统的典型应用包括:自动控制、通信系统、智能设备、家用电器、军事电子设备、现代武器、计算机外设等等。

二、 几种常用的实时操作系统
l VxWorks--美国WindRiver公司开发的实时操作系统
1、 系统简介
VxWorks是一个运行在目标机上的高性能、可裁减的嵌入式实时操作系统。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空和航天等高精尖技术及实时性要求极高的领域中。可见其实时性能非常好,并且只占用很小的存储空间,可高度裁减,从而保证了系统能以较高效率运行。目前,VxWorks已经成为实时上的工业标准和军用标准,大量软硬件厂家都提供基于VxWorks的扩展组件,因此,VxWorks可以在各种CPU硬件平台上提供统一的接口和一致的运行特征,可以以很小的工作量将原有的代码移植到其他不同的处理器上。市场占有率相当高,但是其价格也非常昂贵。
VxWorks嵌入式实时操作系统包括微内核wind、高级的网络支持、强有力的文件系统和I/O管理、C++和其他标准支持等核心功能。这些核心功能还可以与WindRiver公司的其他产品以及320个WindRiver公司的合作伙伴的产品联合使用。

2、 核心--Wind
VxWorks的微内核Wind是一个具有较高性能的、标准的嵌入式实时操作系统内核,其特点是:快速多任务切换、抢占式任务调度、任务间通信手段多样化等。该内核具有任务间切换时间短,中断延迟小,网络流量大等特点,与其他嵌入式实时操作系统相比有一定的优势。
它包括任务调度(采用优先级强占方式),任务间的同步和进程间通信机制以及中断处理、看门狗和内核管理机制。它的多任务环境允许实时应用程序以一套独立任务的方式构筑,每个任务拥有独立的执行线程和它自己的一套系统资源。进程间通信机子使得这些任务的行为能够同步和协调进行。
Wind使用中断驱动和优先级方式,缩短了上下文转换的时间开销和中断的时延。在VxWorks中,任何例程都可以启动为一个单独的任务,拥有它自己的上下文和堆栈。还有一些其他的任务机制可以使任务挂起、继续、删除、延时或改变优先级。
Wind提供信号量作为任务间同步和互斥的机制。在Wind中有几种类型的信号量,它们分别针对不同的应用需求:二进制信号量、计数信号量、互斥信号量和POSIX信号量。所有的这些信号量都是快速和高效的,它们除了被应用在开发设计过程中外,还被广泛地应用在VxWorks高层应用系统中。对于进程间通信,Wind也提供了诸如消息队列、管道、套接字和信号等机制。

3、 系统特点
VxWorks系统具有较好的可剪裁的能力;支持应用程序的动态链接和动态下载,使开发者省去了每次调试都将应用程序与操作系统内核进行链接和下载的步骤,缩短了编辑/调试的周期;具有较好的兼容性。
任务管理包括:无数多个任务,256个优先级;具有优先级排队和时间片轮转调度;上下文切换;二进制、计数、有优先级继承特性的互斥信号灯;POSIX管道、记数信号量、消息队列、信号和调度;共享内存(shared memory);动态内存管理;系统时钟和计时工具等方面。
网络支持包括:TCP、IP、UDP、标准Berkeley 套接口、SNTP、FTP等常用协议。
I/O和文件系统:POSIX 异步I/O和目录管理、SCSI 支持、兼容MS-DOS文件系统、PCMCIA支持。
目标机开发特性:完全兼容ANSI C和C++的异常处理和模板支持;目标机shell上的交互式C解释器;符号调试和反汇编;强大的性能监视功能;动态连接装载、可以从ROM、本地磁盘或通过网络启动;通过以太网、串行线、ICE或ROM仿真器的系统级调试。

l RT-Linux--硬实时操作系统,稳定
1、 简介
RT-Linux是由NMT(新墨西哥科技大学)最早开发的硬实时操作系统。截至目前为止,RT-Linux已成功地应用于从航天飞机的空间数据采集、科学仪器测控到电影特技图像处理等广泛的应用领域。RT-Linux开发者并没有针对实时操作系统的特性重写Linux的内核,这样做工作量会非常大,而且要保证兼容性也非常困难。为此,RT-Linux提供了一个精巧的实时内核,并把标准的Linux核心作为实时核心的一个进程同用户的实时进程一起调度,这样做的好处是对Linux的改动量最小,充分利用了Linux平台下现有的丰富的软件资源。
在国际市场上,RT-Linux (RTL:Original和RTL:BSD)是一款由FSMLabs公司开发、推广以及支持的快速、高效的实时操作系统,它运行在Linux或者NetBSD之上。RT-Linux的专利技术提供高度的实时性能,开发人员可以利用RT-Linux提供的特性,方便地构建一个高性能的RT-Linux实时组件,以微秒级的响应时间内在Linux系统上的数据库服务器和Web服务器之间建立连接。RT-Linux分为两个商用支持版本:开放版 (GPL)和专业版 (二进制形式发布)。专业版支持更多的硬件体系结构,以及包括开放版中没有的性能和特征。

2、 内核
RT-Linux在标准Linux的基础上加载一个精巧的实时内核,使不是real time工作的Linux成为一个实时操作系统。在RT-Linux中的实时工作(realtime task)其实并不是一个Linux的进程,而是一个Linux的可加载式核心模块。RT-Linux部分支持POSIX.1b标准,实现了一个小的实时核心,仅支持底层任务创建、中断服务例程的装入 、底层任务通信队列、中断服务例程(ISR)和Linux进程。原来的非实时Linux核心作为一 个可抢先的任务运行于这个小核心之上,所有的任务都在核心地址空间运行。它不同于 微内核和大型内核,属于实时EXE (realtime executive)体系结构。其可靠性和可维护性对电信服务系统来说都不够理想。
RT-Linux有两个域:一个是实时域,一个是非实时域。实时域中的函数可以满足自身的实时要求, 但是这些函数必须简单,因为可供它们使用的资源是有限的。另一方面,非实时功能模块有许多可用的资源,但是不能有任何实时要求。 RT Linux提供了两个域之间进行通讯的工具。设计者将R- Linux设计为可抢先执行,它将中断分为两组:由RT Linux控制的可抢先中断和由Linux 控制的不可抢先中断。Linux中断不能中断核心的运行,RT-Linux中断则可以根据需要中断核心的运行。
POSIX是为保证UNIX系统的兼容和可移植性而建立的国际标准,在POSIX1.b中,规定 了一些 实时特性,Linux中已开始实现这些特性,但由于Linux内核的不可抢先性(nonpreemtable), 无法在标准的Linux环境下实现真正的实时应用。而RT-Linux用巧妙的技术解决了此问题 。RTLinux实现了一个高效的可抢先的实时调度核心,并把Linux作为此核心的一个优 先级最 低的进程运行,用户可以编写自己的实时进程,和标准Linux共同运行。 为了达到中断的实时响应,RT-Linux接收所有中断,然后传给Linux内核处理,因此当Linux 内核屏蔽中断时,不影响中断的处理,据测试,在Pentium 120的PC上,Linux中断延迟是 20 uS左右。
KURT和RT-Linux都在系统时间片的细化方面作了较大的修改,主要采用的是动态切分时间片的方法,对于实时线程,就把时间片切得尽量小,对于非实时线程,就把时间片切得大些,这样就最大程度上保证了原系统的正常运行。现在KURT和RT-Linux都可以达到10us的控制精度。

3、 系统特点
RT-Linux的设计者们在操作系统的底层实现了一个简单的实时核心,而Linux本身将作为一个具有最低优先级的任务在核心中运行,它在任意时刻都可以被高优先级任务抢先。 从严格意义上讲,RT-Linux只是Linux的某种变种,它提供实时应用程序所需的控制功能,这使得RT- Linux成为Linux 的一个新版本。RT-Linux几乎完全依赖Linux来提供所需的服务,而它自身只提供任务创建、中断服务例程的安装、任务间通讯的排队、ISR及Linux 进程。
RT-Linux(实时扩展的 Linux 系统)里含有时间紧要的函数可以用中断管理器来精确控制中断处理,从而很好地确保了关键性中断可以在需要时得到执行。这种方法的硬度主要取决于 CPU 中断结构和环境转换的硬件支持。这种方法可以满足广泛范围内的实时要求。即使没有实时扩展,Linux 也能很好地处理多个事件流。
RT-Linux在操作系统之下实现了一个简单的实时核心,Linux本身作为一个可抢占的任务在核内运行,优先级最低,随时会被高优先级任务抢占。用户可自行编写调度程序,它们可实现为可加载的核心模块;已实现的调度程序有:基于优先级的抢占式调度和EDF调度; 基于优先级的调度使用"单调率算法",它直接支持周期任务。
用户可得到UNIX的全部开发工具,可使用市场上便宜又常见的硬件。程序源代码全部公开,任何人都可以修改源代码并在GNU通用公共许可证下发行修改后的源代码。

4、 其他一些嵌入式Linux操作系统
² RTAI
简单地说,RTAI和NMT RT-Linux是相同的东西,它同样地架空了Linux,而直接用可加载式核心模块实现real-time process。每一个实时进程实际上就是一个可加载式核心模块。RTAI将需要在Linux中修改的部分定义成一组程序界面,RTAI只使用这组界面和Linux沟通。用户就可以将直接修改的Linux核心程序代码减至最小。
² KURT
KURT是第一个可以使用系统呼叫的real-time Linux,它只是简单地将Linux的排程器用一个很简单的时间驱动式(time driven)加以取代,所以实时进程的执行很容易地收到其他非实时进程的影响。

l Vrtx--Microtec Research出品
1、 简介
VRTX是一款"老牌"的实时操作系统,在国际RTOS市场中占有率居前五名。VRTX具有一组模块化的编程界面和工具,具有可向上兼容编程接口和面向对象开发的支持。VRTX的特点包括易于载入定制硬件、文件系统支持、ANSI/POSIX接口。VRTX还支持多种网络协议。
高可靠性的VRTX内核唯一通过 FAA RTCA/DO-178B-A认证,具有高性能,短延迟,高可靠等特点 。VRTX 依托客户-服务器网络调试模式的Spectra 开发平台,工业标准的XRAY 多任务调试器以及Microtec 优化C/C++技术,向用户提供了业界唯一无须组合第三方工具的RTOS开发系统。

2、 主要特点
VRTX使用抢先算法和基本优先级调度表法来管理多任务。你可以在创建任务时给每个任务分配一个优先级,也可以在执行时动态修改。当同时有不止一个任务就绪,VRTX选择高优先级别任务,另外当执行系统调用就绪一个任务后,VRTX检查该任务优先级,以确保高优先级的任务正在执行。VRTX允许你动态地创建、删除、恢复和挂起任务。当在系统中有多个相同优先级的任务时,你可以通过给相同优先级的任务分配时间片的方法以阻止某任务占用所有的执行时间来独占CPU。当你开放时间片时,按照系统定义的周期采用时间片轮转法执行相同优先级的任务。
VRTX是确定性的,它支持多任务系统而不牺牲性能。VRTX的性能独立于许多系统变量。例如队列邮箱、中断和任务进程调度占用的时间。实际上是固定的固定消耗算法保证了可预测的调度进程。
VRTX为应用程序提供了一个服务集。它支持一个可应答听完全的实时应用系统的实现VRTX x86/rm 的服务包括:任务服务任务服务、任务间同步和通讯、内存管理、实时时钟服务、字符I/O 服务、中断管理服务。
可以用80x86的软中断,而不用过程或函数调用来引用VRTX服务。这样就不必连接一个应用程序到VRTX。C语言与VRTX的接口通过简单的约定了VRTX编译参数的库例程来实现。

l WinCE--软实时操作系统
Windows CE是面向小内存32位移动智能连接设备而开发的模块化实时嵌入式操作系统。Windows CE将Windows兼容性和应用程序服务与多CPU结构支持和内建网络通信选项相结合,为创建多种类型产品的努力提供了一个功能丰富的可伸缩开放式基础。Windows CE可为消费者电子设备、Web终端、Internet访问应用设备、专用工业控制器、移动数据获取手持设备及嵌入式通信设备提供软件系统驱动。这个高度模块化的系统平台可使开发商以灵活而可靠的方式创建出新一代具备较低内存占用水平的32位移动设备,从而,实现Windows与Internet之间的无缝化集成。
Windows CE操作系统的核心全部是由C语言开发的,操作系统本身还包含许多由各个厂家用C和汇编语言开发的驱动程序。其内核提供内存管理、抢先多任务和中断处理功能。内核的上面是图形用户界面GUI和桌面应用程序。在GUI内部运行着所有的应用程序,而且多个应用程序可以同时运行。
Windows CE是专门为体积小、资源要求低、便携式的机器而设计的,主要应用与掌上型、手持式PC。所以,其系统的实时性能不是很好,只是属于软实时操作系统。

三、 几种操作系统的比较

VxWorks RT-Linux Vrtx WinCE
实时性 非常好 好 一般,软实时操作系统
稳定性 好 较好,在高性能系统中仍需改进
支持的处理器 x86、i960、Sun Sparc、Motorola MC68xxx、MIPS RX000、POWER PC等等 i386, PPC, ARM.(不全) x86, 68k, PPC, i960, ARM ARM, MIPS, PowerPC, SH, x86 保护模式, StrongARM, NEC, VR4111
支持的工具 Tornado RTLinux/Free、RTLinux/Pro XRAY 调试器, Xpert分析工具
内核的大小 比较小,可裁减 小
版权费 免费
许可证费 GPL许可证
系统的开放性 源代码开放 库形式开发
技术支持 免费 免费


四、 国内工控行业的应用情况
五、 国外工控行业的应用情况

六、 推荐方案
l 我们的实际情况
就我们对于Rtos的应用来说可以分为两个部分:基于嵌入式系统的监控终端和通讯子站或者RTU。因此,我们要分析这两个方面的软硬件定位、成本、性能要求来综合考虑我们的Rtos的选择,以使我们的产品开发做到最简单实用、综合成本最低。
对于监控终端来说,我们分公司目前产品的定位可以分为三个层次:

轻量级产品 主要包括照明监控的LTU、配电TTU、故障指示器,这类产品功能相对简单,就目前来说我们C51系列的单片机基本够用,在一定的时间内估计对于RTOS的需求并不是很大,但是这类产品对于硬件的成本、功耗等的考虑尤其苛刻;
中型级别 主要包括我们现有的"三遥"的FTU、楼控的CDT等,这类产品采集的数据量较多,计算也很多,对于处理器要求较高,现有的51单片机的资源一般不够用,使用RTOS最为有效。
高端产品 包括用在监控站的RTU、类似昆明项目中的配电电能量统计一体化的监控装置等,这类产品的功能和通讯子站基本上类似了。

对于通讯子站,就目前来说,我们主要采取研华的工控机,基于Windows和Linux两种操作系统作为我们软件的平台定位,而且从各方面来看Linux将会成为我们今后通讯子站系统的主流运行平台。我们在Linux的开发上有一定的优势,对系统的实时性能要求也比较高。
(我们产品未来的发展,请加上)
l 我们的选择
VxWorks是实时性能非常好的硬实时操作系统,是工业级的主流产品,它的市场占有率一直很高,在国内也有很多大公司使用。其集成开发工具Tornado功能齐全强大,并且与我们现在使用的开发工具VC++很类似,如果在我们的产品开发中能够使用它当然是最好的选择,但是其价格非常昂贵,并且附带的版权费用也不少,对于不同的处理器都要有相应的版本支持,并且另行收费。,这也是我们产品成本中的相当一部分费用。在我们的经费不是很多的情况下,不适宜使用。
但是RT-Linux就不同了,它是从开发源代码的Linux改进而来的,并且它对实时性的响应也能够达到我们产品的要求。在国内也有越来越多的实时系统开发商开发该类产品给客户使用,其中华恒公司就是开发嵌入式Linux产品的一个代表。在我们选择硬件的同时,越来越多的厂家都有成功的应用RT-Linux的案例,这为我们在产品中使用嵌入式Linux开发也有一定的帮助。但是,RT-Linux的内核不小,这对于我们的硬件来说,要求的内存容量就要相对大一点。在国内也有不少Linux的狂热分子,由于Linux的开放性,使得我们可以向全国乃至全世界的Linux高手求助,这些都是免费的技术支持,他们不但乐意这样做,而且透过Internet我们可以很快地就得到答案。虽然近几年在国内Linux的发展相当快,与前比较已经是几个层次的提高,但是由于Linux源于英文,所以在国内很多人不会英文的情况下仍然有一定的阻力。并且对于RT-Linux在国内的产品信息更新速度虽然可以做到与国外基本一致,但是对于技术信息方面还是带有一定程度的滞后性,我们要得到比较有效的技术支持还是国外比较好,这对于我们的开发人员来说还要求英文的程度比较好。并且,从Linux到RT-Linux也有一定的门槛。
2001年10月,Turbolinux Systems(汉城,韩国)和FSM实验室(Socorro, NM,美国)在韩国汉城签署并宣布了一项协议,按照该协议,双方将在亚太地区尤其是中国市场共同致力于RTLinux(实时嵌入式Linux)的销售、技术支持和市场推广。该项合作也显示了嵌入式Linux在中国的发展壮大。可见,Linux在亚洲、中国的发展前景是多么的客观,我们得到Linux的技术、各类信息将会越来越多,越来越快。
就我们公司的目前情况来说,RT-Linux是比较现实的选择。

(二) 开发工具的选择
一、 几种常用的开发工具
l TorandoⅡ
1、 简介
Tornado是WindRiver公司推出的一套实时操作系统开发环境,是嵌入式实时系统领域里最著名的开发调试环境。Tornado给嵌入式系统开发人员提供了一个不受目标机资源限制的超级开发和调试环境,由三个高度集成的部分组成:Tornado开发工具,一整套强有力的交叉开发工具;VxWorks实时操作系统;连接目标机与宿主机的通信选项,如:以太网、在线仿真或ROM仿真等。
2、 特点和功能
针对不同的目标机,Tornado给开发者提供了一个一致的图形接口和人机界面。当使用Tornado的开发人员转向新的目标机时,不必再花时间学习或适应新的开发工具;对深层次的嵌入式应用开发者来说更重要的是,Tornado所有的工具都是驻留在开发平台上的。Tornado的所有工具都是通过一个目标机服务器(Target Server)与目标机进行通信,以获取目标机调试信息。所以无论连接方式是Ethernet、还是串口线,ICE仿真器、ROM仿真器或客户设计的调试通道,所有工具均可使用。
Tornado的工具包括:用于管理目标机与调试工具的启动器;用于详细查看目标系统对象、内存、堆栈和CPU占用率的Browser;图形化自动配置工具WindConfigTM;系统和任务级调试工具CrossWind,可以调试C、C++以及汇编程序;基于Internet的技术支持工具;适用于所有目标机结构的编译器;应用于对象模块的动态链接和加载或卸载的动态下载器;与目标机进行交互的命令解释工具WindShTM。
Tornado允许开发者增量地将目标模块加载到目标系统上去,这种动态的链接和加载功能是Tornado系统的核心功能,可以使开发者省去通常的开发步骤:在主机上将应用程序与内核链接起来,然后将整个应用程序下载到目标系统上去。这样,编辑-测试-调试的周期就会大为缩短;而且,所有的模块都是可以共享的,主机上的应用程序模块也不需要重新链接。
Tornado还有其他备选工具,例如:WindPower、WindNet等。

l RT-Linux
在市场上,有很多种不同版本的RT-Linux的操作系统,其中由FSMLabs公司提供的主要有RTLinux/Free、RTLinux/Pro、RTLinux/BSD、OpenRTLinux几种。
RTLinux/Free是免费的,并且遵循GNU和THE OPEN RTLINUX PATENT LICENSE。该产品是在Linux上面为工业自动化、通信、仪器设备和控制等方向而设计的,是方便可靠的硬实时操作系统。
RTLinux/Pro是运行于Linux GPL上的硬实时操作系统。是为商业上对实时性能要求极高的应用程序而设计的。RTLinux/Pro是RTLinux的一个专业版本,包含诸多开发工具及增强选件,如实时网络RTLnet支持等。广泛应用在卫星控制、喷气式引擎测试、计算机图形处理等领域。它支持多种芯片,包括P4s/Athlons 以及MPC860, Elan 520,ARM7等。
RTLinux/BSD是运行于Free BSD and Net BSD上的硬实时操作系统,和RTLinux/Pro使用相同的内核。
OpenRTLinux包含了Linux的应用程序和实时核心(real-time kernel),并且可以和Linux一样自由发布,且遵循GPL和the OpenRTLinux Patent License。
以上这些产品都是由RT-Linux发展而来的,使用者可以工具自身的需求选择相应的产品。并且与RTLinux/Free相应还有一些可以免费使用的软件,可以用于调试程序和测控数据等用途。

l XRAY调试工具包
用XRAY调试工具包具有多方面的调试能力。XRAY是实际上的嵌入式开发的标准,它集成了享有声誉的XRAY调试器,内置文本编辑器,编译工具,源码控制以及浏览工具等。除了功能强大的系统级调试外,XRAY还有支持主体仿真和交互开发的优化过的源码调试能力。XRAY进行C、C++和汇编语言的混和调试,支持C++语言功能。还可以用XRAY对最终产品中的可执行代码调试。XRAY的显示系统丰富多样,可显示复杂的数据结构,以及链表等基于指针的结构。最后,一个功能强大的宏语言帮助你进行自动测试。
a) XRAY支持多种RTOS和EST,HP,ARM在线仿真器和仿真探头。
b) XRAY Spectra, XRAY Monitor支持以太网,串口。
c) XRAY Simulator 支持 PC/UNIX 宿主机环境的纯软件指令仿真
d) XRAY BDM支持Motorola 683XX,8XX,IBM 5XX,Coldfire的BDM方式调试
e) XRAY OCD 支持Motorola 603/8260/740/750 ,IBM 4XX JTAG方式调试
f) XRAY RDI 支持ARM7/9 JTAG/Monitor/ICE 方式调试

二、 推荐方案
在前一段时间,我们使用VRTX做过一段时间的开发探索,对该操作系统有一定程度的了解。但是并没有使用到XRAY调试工具包,只是用Turbo Debug来进行调试。
我们选择什么样的开发工具主要取决于我们采用什么操作系统。Tornado这样的开发工具无疑是强大的,并且与我们常用的操作系统Windows和开发工具VC++相配合使用很方便,但是其价格昂贵却令人望之却步。而RT-Linux的相应开发工具有收费和免费(需遵循相应协议)之分。工具的选择我们选择硬件的厂商也有一定的关系,他们所能提供的操作系统,开发工具,调试工具与我们的选择也有很大的关系。对于RT-Linux大部分都是免费的,而且源代码开放,其配套的一些调试工具,开发工具都可以从网络上面免费下载使用。例如:Generic Interface Toolkit是与RT-Linux 3.1/3.2 or RTAI 24.1.9配套使用的免费工具,主要用于数据采集;Real-Time Analog Input/Analog Output是与rtlinux2.3/linux2.2.14配套的工具,用于监视周期性的数据输入/输出等等。
我们建议还是选择配套的RT-Linux开发工具比较好。

(三) 硬件
(四) 使用Rtos的优缺点
一、 我们采用Rtos的需要
在我们从事电力自动化监控终端和Scada系统开发以来,虽然我们的产品已经有了明显的进步,但是在产品开发的周期以及装置的稳定性、可靠性等方面看到我们产品继续发展的危机。现今市场的竞争越来越激烈,客户对于产品的要求(主要体系在功能、价格、性能)越来越高,我们的同行也越来越多地在产品中应用了实时操作系统和基于RTOS的集成开发环境。如果我们不为我们的产品作出一些有效的改变,而只是停留在现在的满足阶段,那么我们在市场上将会被逐渐淘汰。我们采用Rtos并不是跟风,而是为了满足适应市场的需要,满足我们产品的需要,为了能够生产出更优质、更高效益的产品,我们选择Rtos。
在我们现有的产品中,越来越多的产品对通讯环节提出了更高的要求,通讯环节一直是产品性能稳定性的一个重要的指标。如何能够保证通讯的可靠性,增强通讯环节在我们产品中的通用性和可移植性,是未来产品设计的一个重要的方向。按照我们的分公司"配照一体化"的设计思路,针对电力Scada建立我们自己的通讯平台,可以在通讯的核心环节中采用实时操作系统,从而将不同通讯介质、不同规约/协议的监控终端统一到标准协议和Scada平台上。
随着网络的普及,以及多种通讯网络的发展,TCP/IP作为INTERNET最流行通讯协议,在最近十几年来经受过了严格的考验和发展。如果能够兼容借鉴其中的部分内容,规划我们专有的通讯构架,我们将有可能获取更理想的效果。特别是现在城域网的普及,在终端层和子站层采用城域网、走TCP/IP协议是一种趋势,而现有实时操作系统大多数都带有TCP/IP协议栈。
如果我们采用实时操作系统开发自己的装置,这样既能够满足Can总线协议、电力通规约或自己私有的协议的要求,方便以后的拓展,也能满足我们建立自己的通讯平台的需要。

二、 我们采用Rtos的优点
当前实时系统的实现多为微内核体系结构,这使Rtos的核心小巧而可靠,易于ROM固化,并可模块化扩展。在微内核结构系统中,RTOS服务模块在独立的地址空间运行,所以,不同模块的内存错误便被隔离开来。嵌入式实时操作系统可以为专用设备而定制一些特殊的功能和删除一些没用的功能,以达到系统稳定、高效和最小化的目的。RTOS是针对不同处理器优化设计的高效率实时多任务内核,优秀商品化的RTOS可以面 对几十个系列的嵌入式处理器MPU、MCU、DSP、SOC等提供类同的API接口,这是RTOS 基于设备独立的应用程序开发基础。因此基于RTOS上的C语言程序具有极大的可移植性。据专家测算,优秀RTOS上跨处理器平台的程序移植只需要修改1-5%的内容。
如果我们采用RT-Linux这类免费或一些价格比较便宜的产品作为我们应用的操作系统,那么我们的成本就主要在于硬件,不但大大降低了我们的开发成本,而且产品又可以达到我们的要求。


三、 我们采用Rtos的缺点
Rtos进程间通信和上下文切换的开销将大大增加,相对于大型集成化内核系统来说,它必须更多地进行系统调用来完成相同的任务。
由于Rtos是应用于特定的硬件上面的,所以在实时操作系统上面开发应用程序的开发人员不但要对硬件有一定的了解,并且还要熟悉该系统的编程操作,对于没有经验的开发人员来说入门的时候会比较困难。

四、 结论
在我们的产品中使用实时系统,不但可以提高我们产品的质量,改进我们产品可靠性和实时性不足的缺点,甚至可以降低我们的产品成本,提高我们的效益。也可以使我们的产品跟上时代的步伐,不至于落后于我们的同行。
嵌入式Linux在数据采集和控制方面具有一定的优势,并且由于Linux的免费,在网络上面有很多相关的开发工具、调试工具等可以免费下载的,并且有相当多一部分的源代码是开发的,可以供我们根据自己的需要来进行修改。所以RT-Linux是我们最佳的选择。

(五) 总结
(六) 参考资料
http://www.fsmlabs.com/
http://www.linuxdevices.com
http://www.embed.com.cn/
http://www.embyte.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值