当前位置:首页 » 操作系统 » rtos源码

rtos源码

发布时间: 2022-11-12 20:39:31

Ⅰ 嵌入式实时操作系统的特点

嵌入式实时操作系统应用十分广泛,包括数据通信、信息家电、航空航天、工业控制、生物医学电子、船舶工程、计算机外设、电信设备、交通运输、国防武器控制等领域,已经形成IT产业争夺的重点领域,它所带来的工业年产值已超过1万亿美元。在嵌入式系统开发中使用嵌入式实时操作系统已成为一种不可逆转的潮流与时尚。

1 背景

随着计算机技术的迅速发展和芯片制造工艺的不断进步,嵌入式系统的应用日益广泛:从民用的电视、手机等电路设备到军用的飞机、坦克等武器系统,到处都有嵌入式系统的身影。在嵌入式系统的应用开发中,采和嵌入式实时操作系统(简称RTOS)能够支持多任务,使得程序开发更加容易,便于维护,同时能够提高系统的稳定性和可靠性。这已逐渐成为嵌入式系统开发的一个发展方向。

2 嵌入式操作系统概述

嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件。它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器Browser等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、标准设备驱动程序以及工具集等。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。

嵌入式系统的出现至今已经有30多年的历史。纵观嵌入式技术的发展过程,大致经历了四个阶段。

(1)无操作系统的嵌入式算法阶段

这一阶段的嵌入式系统是以单芯片为核心的系统,具有与一些监测、伺服、指示设备相配合的功能。一般没有明显的操作系统支持,而是通过汇编语言编程对系统进行直接控制。主要特点是系统结构和功能都相对单一,针对性强,无操作系统支持,几乎没有用户接口。

(2)简单监控式的实时操作系统阶段

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

(3)通用的嵌入式实时操作系统阶段

以通用型嵌入式实时操作系统为标志的嵌入式系统,如VxWorks、pSos、Windows CE就是这一阶段的典型代表。这一阶段嵌入式系统的特点是:能运行在各种不同的微处理器上;具有强大的能用型操作系统的功能,如具备了文件和目录管理、多任务、设备驱动支持、网络支持、图形窗口以及用户界面等功能;具有丰富的API和嵌入式应用软件。

(4)以Internet为标志的嵌入式系统

伴随着通用型嵌入式实时操作系统的发展,面向Internet网络和特定应用的嵌入式操作系统正日益引起人们的重视,成为重要的发展方向。嵌入式系统与Internet的真正结合、嵌入式操作系统与应用设备的无缝结合代表着嵌入式操作系统发展的未来。

3 两种源码开放的RTOS

嵌入式实时操作系统有很多,如VxWorks、PalmOS、WindowsCE等。这些操作系统均属于商品化产品,价格昂贵且由于源泉代码不公开导致了诸如对设备的支持、应用软件的移植等一系列的问题;而开放源码的RTOS在成本和技术上有其特有的优势,在RTOS领域占有越来越重要的地位,本文将介绍μC/OS-II和eCos两种优秀的源码公开的实时操作系统,通过对它们各自的特点和性能进行分析和比较,给出相关的数据,为选择一种合适的RTOS提供参考。

3.1 μC/OS-II

μC/OS-II的前射是μC/OS,最早出自于1992年美国嵌入式系统专家Jean J.Labrosse在《嵌入式系统编程》杂志的5月和6月刊上刊登的文章连载,并把μC/OS的源码发布在该杂志的BBS上。当时就有500多人下载了这份源码。世界上数以千计的工程技术人员将μC/OS应用到了各个领域,如照相机业、发动机控制、网络接入设备、高速公路电话系统、ATM机和工业机器人等。许多大学用μC/OS作教材,用于实时系统教学。1998年,作者决定出版μC/OS的第二本书《μC/OS-II The Real Time Kernel》,并设立了正式的网站:www. ΜC/OS-II.com,给μC/OS-II增加了一些新的功能,并且增加了约200页的解释。

μC/OS和μC/OS-II是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU上。许多移植的范例可以从网站上得到。用户只要有标准的ANSI的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS嵌入到开发的产品中。

μC/OS具有执行效率高、占用空间小、实时性能优良和可扩展性能等特点,最小内核可编译至2KB。μC/OS-II已经移植到了几乎所有知名的CPU上。

3.2 eCos

eCos(embedded Configurable operating system),即嵌入式可配置操作系统,最初起源于美国的Cygnus Solutions公司。Cygnus公司于1998年11月发布了第一个eCos版本eCos1.1,当时只支持有限的几种处理器结构。1999年11月,RedHat公司以6.74亿美元收购了Cygnus公司。在此后的几年里,eCos成为其嵌入式领域的关键产品,得到了迅速的发展。2002年,RedHat公司由于财务方面的原因,裁剪了eCos开发队伍,但并没有停止eCos的发展。RedHat公司随后宣称将继续支持eCos的发展,而由原eCos主要开发人员组建了eCos Centric公司,并于2003年5月正式发布了eCos2.0。

虽然eCos是RedHat的产品,但是eCos并不是linux或Linux的派生,eCos弥补了Linux在嵌入式应用领域的不足。目前,一个最小配置的Linux内核大概有500KB,需要占用1.5MB的内存空间,这还不包括应用程序和其它所需的服务;eCos可以提供实时嵌入式应用所需的基本运行基件,而只占用几十KB或几百KB的内存空间。eCOS是一个源码开放的可配置、可移植、无版税、面向深嵌入式应用的实时操作系统。从eCOS的名称可以看出,它最大的特点在于它是一个配置灵活的系统。ECOS的核心部分是由不同的组件组成的,包括内核、C语言库和底层运行包等。每个组件以能提供大量的可配置选项,利用eCOS提供的配置工具可以很方便地进行配置。通过不同的配置使得eCOS能够满足不同的嵌入式应用。

4 μC/OS-II与eCOS的比较

对于以上两种源泉码公开的实时操作系统,我们主要从以下几个方面进行比较。通过比较,能够为大家选择适合自己系统的RTOS提供参考。

4.1 内核调度机制

RTOS内核的核心是调度器。当系统包含多个任务或多个线程时,必须使用调度器来决定当前执行哪一个任务或线程。调度器对线程的运行进行控制,并为线程提供一种同步机制。表1列出了这两种RTOS调度器(调度机制)的比较。

表1 调度器比较

调度方法 同优先级调度 优先级数/个 任务数量/个
uC/OS-II
固定
优先级
抢占式

64
(8个保留)
56

eCos: 位图
优先级
抢占式

32
32

eCos:多级队列
优先级
抢占式

32
无限

eCos:奖券
测试中
测试中
测试中
测试中

μC/OS只支持固定优先级抢占式,不支持时间片轮转调度,调度方法简单、实时性好,用法也简单;eCOS调度方法丰富,适应性好。当然,目前的eCOS只允许在其目标系统中使用一个单独的调度器,未来的版本将可以允许多个调度器协同工作。

4.2 任务间同步、通信机制

RTOS的功能一般要通过若干任务和中断服务程序共同完成,任务与任务之间、任务与中断服务程序之间必须协调动作,互相配合,这就牵涉到任务间的同步与通信问题。表2为这两种操作系统同步与通信机制的比较。

表2 同步与通信机制的比较

uC/OS-II
eCos

同步与通信机制
信号量、邮箱、消息队列
互斥、条件变量、计数型信号量、邮箱和事件标志

4.3 任务切换时间和中断延迟时间

任务切换时间和中断延迟时间是评估RTOS性能的两个重要指标。任务切换时间可以反映出RTOS执行任务的速度,而中断延迟时间可以反映出RTOS对外界变化的反应速度。表3为这两种操作系统任务切换时间和中断延迟时间的比较。

表3 任务切换时间和中断延迟时间的比较

任务切换时间/us
中断延迟时间/μs
测试环境

μC/OS-II
29.7~34.2
78.8
Intel80186(33MHz)

eCos
15.84
19.2
MPC860A3(33MHz)

4.4 对硬件的支持

μC/OS-II和eCOS支持当前流行的大部分嵌入式CPU,都具有很好的可移植特性。μC/OS-II支持从8位到32位的CPU;而eCOS可以在16位、32位和64位等不同体系结构之间移植。μC/OS-II和eCOS由于本身内核就很小,经过裁剪后的代码最小可以分别为小于2KB和10KB,所需的最小数据RAM空间可以为4KB和10KB,因此它们对硬件的要求很低,具有极高的经济性。

结语

通过比较可以看到:μC/OS-II相对eCOS来说,源代码最小很多,特别适合学习和研究。它最大的特点是小巧,适合应用在一些RAM和ROM有限的小型嵌入式系统中,如单片机系统。ECOS最大的特点是配置灵活,适合于用在一些商业级或工业级的嵌入式系统,如一些消费电子、汽车领域等等。总之,选用什么样的操作系统,要根据目标系统的硬件条件和用户应用程序的复杂度来确定。

Ⅱ 谁能给我介绍下Nucleus操作系统

NucleusPLUS是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95%的代码是用ANSIC写成的,因此非常便于移植并能够支持大多数类型的处理器。从实现角度来看,NucleusPLUS是一组C函数库,应用程序代码与核心函数库连接在一起,生成一个目标代码,下载到目标板的RAM中或直接烧录到目标板的ROM中执行。

简介
NucleusPLUS是目前最受欢迎的嵌入式操作系统之一。
性能
在典型的目标环境中,NucleusPLUS核心代码区一般不超过20K字节大小。NucleusPLUS采用了软件组件的方法。每个组件具有单一而明确的目的,通常由几个C及汇编语言模块构成,提供清晰的外部接口,对组件的引用就是通过这些接口完成的。除了少数一些特殊情况外,不允许从外部对组件内的全局进行访问。由于采用了软件组件的方法,NucleusPLUS各个组件非常易于替换和复用。NucleusPLUS的组件包括任务控制、内存管理、任务间通信、任务的同步与互斥、中断管理、定时器及I/O驱动等。
编辑本段特点
Nucleus具有如下特点:
提供源代码
1、提供源代码 NucleusPLUS提供注释严格的C源级代码给每一个用户。这样,用户能够深入地了解底层内核的运作方式,并可根据自己的特殊要求删减或改动系统软件,这对软件的规范化管理及系统软件的测试都有极大的帮助。另外,由于提供了RTOS的源级代码,用户不但可以进行RTOS的学习和研究,而且产品在量产时也不必支付License,可以省去大量的费用。对于军方来说,由于提供了源代码,用户完全可以控制内核而不必担心操作系统中可能会存在异常任务导致系统崩溃。
性价比高
2、性价比高 NucleusPLUS由于采用了先进的微内核(Micro-kernel)技术,因而在优先级安排,任务调度,任务切换等各个方面都有相当大的优势。另外,对C++语言的全面支持又使得NucleusPLUS的Kernel成为名副其实的面向对象的实时操作系统内核。然而,其价格却比较合理。所以,容易被广大的研发单位接受。
易学易用
3、易学易用 NucleusPLUS能够结合Paradigm,SDS以及ATI自己的多任务调试器组成功能强大的集成开发环境,配合相应的编译器和动态联结库以及各类底层驱动软件,用户可以轻松地进行RTOS的开发和调试。另外,由于这些集成开发环境(IDE)为所有的开发工程师所熟悉,因而,容易学习和使用。
功能模块丰富
4、功能模块丰富 NucleusPLUS除提供功能强大的内核操作系统外,还提供种类丰富的功能模块。例如用于通讯系统的局域和广域网络模块,支持图形应用的实时化Windows模块,支持Internet网的WEB产品模块,工控机实时BIOS模块,图形化用户接口以及应用软件性能分析模块等。用户可以根据自己的应用来选择不同的应用模块。

Ⅲ 如何将linux下的程序,移植到freertos中

方法/步骤

  • 嵌入式操作系统有分时操作系统和实时操作系统,如果操作系统能够使计算机系统及时响应外部事件请求,并能控制所有实时设备和实时任务协调运行,且能在一个规定的时间内完成对事件的处理,怎么这种系统称为实时操作系统。

    如果系统必须在极其严格的时间内完成的任务叫做硬件的实时操作系统,如果不是很严格的话就是软件的实时操作系统。

Ⅳ 在学习freertos之前,应学习哪些东西

学习FreeRTOS前的准备工作这里只要做好两点就可以了。1, 从官网下载最新的程序包2, 官网有FreeRTOS每个函数的API说明,已经相应API的例子,其实源码的.h文件里面也有大部分函数的使用例子 教程计划1 先把自己做的这几个例子讲解一下,关键是分析一下源码,源码必须得分析,要不知其然不知其所以然。2 然后把官方的这几个例子讲解一下,说这几个例子的主要目的是充分学习官方是如何使用这个RTOS的,非常有参考价值。3 针对我们板子自己的外设,做一套完整的,基于FreeRTOS的底层驱动,让这些驱动能够更加有效的在FreeRTOS下面工作。在学习freertos之前,应学习哪些东西

Ⅳ RT-Thread RTOS的RT-Thread / uCOS / FreeRTOS 简单比较

1 、任务管理及调度:
RT-Thread - 32/256可选优先级抢占式调度,线程数不限,相同优先级线程时间片轮转调度;支持动态创建/销毁线程。
uCOS - 256优先级抢占式调度,不允许相同优先级任务存在
2、 同步/通信机制:
RT-Thread - 支持semaphore, mutex, mailbox, message queue, event。mailbox可存储多条消息,任务等待可按优先级进行排队。
uCOS -semaphore,mutex, mailbox, message queue, event。mailbox只能存放1条消息
3、内存管理:
RT-Thread -固定分区内存管理,小内存系统动态内存管理,大内存系统SLAB内存管理
uCOS - 固定大小内存块管理
4、定时器:
RT-Thread - 挂接到系统OS定时器的硬定时器
uCOS - 只能使用OSTimeDly进行时间间隔处理
5、中断嵌套:
RT-Thread - 允许
uCOS - 允许
6、源码许可证:
RT-Thread - 遵循GPLv2+许可证。可用于商业产品(只需要注明使用了RT-Thread)
uCOS - 商业收费

Ⅵ 新人刚刚入门FreeRTOS,想问怎么在电脑上编译

不需要什么头文件,其实freertos和ucosii这种小型系统一样,本质是一个大的程序,因此需要它本身的所有源代码就可以运行了,但是你要弹输出窗口的话直接在你建的主文件里面include一下iostream.h或者stdio.h这样的文件就行了。
你把源码搞到以后,自己建立一个app.c文件,编写主函数,在里面创建任务,简单地输出一些字符串,调通了自然就明白了。

Ⅶ 实时嵌入式系统有哪些

实时嵌入式系统有:

(1) DeltaOS

DeltaOS是电子科技大学嵌入式实时教研室和科银公司 (专门从事嵌入式开发) 联合研制开发的全中文的嵌入式操作系统,提供强实时和嵌入式多任务的内核,任务响应时间快速、确定,不随任务负载大小改变,绝大部分的代码由C语言编写,具有很好的移植性。

(2) Hopen OS

Hopen OS是凯思集团自主研制开发的实时操作系统,由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。其核心Hopen Kernel的规模一般为10KB左右,占用空间小,并具有实时、多任务、多线程的系统特征。

(3) EEOS

EEOS是中科院计算所组织开发的开放源码的实时操作系统。该实时操作系统重点支持p-Java,要求一方面小型化,一方面能重用Linux的驱动和其他模块。

(4) HBOS

HBOS系统是浙江大学自主研制开发的全中文实时操作系统。它具有实时、多任务等特征,能提供浏览器、网络通信和图形窗口等服务;可供进行一定的定制或二次开发;能为应用软件开发提供API接口支持;可用于信息家电、智能设备和仪器仪表等领域开发应用。

(7)rtos源码扩展阅读:

常见的嵌入式操作系统:

一、VxWorks

VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是Tornado嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时操作系统领域逐渐占据一席之地。

二、Windows CE

Windows CE与Windows系列有较好的兼容性,无疑是Windows CE推广的一大优势。其中WinCE3.0是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌人式操作系统。

三、嵌入式Linux

这是嵌入式操作系统的一个新成员,其最大的特点是源代码公开并且遵循GPL协议,在近一年多以来成为研究热点,据IDG预测嵌入式Linux将占未来两年的嵌入式操作系统份额的50%。

四、μC/OS一Ⅱ

μC/OS一Ⅱ是着名的源代码公开的实时内核,是专为嵌入式应用设计的,可用于8位,16位和32位单片机或数字信号处理器(DSP)。

Ⅷ FreeRTOS功能和特点有哪些

FeeRTOS功能和特点编辑用户可配置内核功能多平台的支持提供一个高层次的信任代码的完整性目标代码小,简单易用遵循MISRA-C标准的编程规范强大的执行跟踪功能堆栈溢出检测没有限制的任务数量没有限制的任务优先级多个任务可以分配相同的优先权队列,二进制信号量,计数信号灯和递归通信和同步的任务优先级继承免费开源的源代码F
eeRTOS原理与实现编辑任务调度机制是嵌入式实时操作系统的一个重要概念,也是其核心技术

热点内容
随机启动脚本 发布:2025-07-05 16:10:30 浏览:514
微博数据库设计 发布:2025-07-05 15:30:55 浏览:18
linux485 发布:2025-07-05 14:38:28 浏览:298
php用的软件 发布:2025-07-05 14:06:22 浏览:747
没有权限访问计算机 发布:2025-07-05 13:29:11 浏览:421
javaweb开发教程视频教程 发布:2025-07-05 13:24:41 浏览:677
康师傅控流脚本破解 发布:2025-07-05 13:17:27 浏览:229
java的开发流程 发布:2025-07-05 12:45:11 浏览:674
怎么看内存卡配置 发布:2025-07-05 12:29:19 浏览:274
访问学者英文个人简历 发布:2025-07-05 12:29:17 浏览:824