常见的嵌入式操作系统

小知识:

linux发源于unix,苹果的mac os也是

嵌入式操作系统与通用的操作相比较主要特点在于:
  1.小内核,稳定可靠。
  2.需要可装卸、可裁剪,以便能灵活应对各种不同的硬件平台。
  3.面向应用,强实时性,可用于各种设备控制当中。
  国际上常见的嵌入式操作系统大约有40种左右如:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive 。他们基本可以分为两类,一类是面向控制、通信等领域的实时操作系统,如windriver公司的vxworks、isi的psos、qnx系统软件公司的qnx、ati的nucleus等另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理(pda)、移动电话、机顶盒、电子书、webphone等,系统有Microsoft的WinCE,3Com的Palm,以及Symbian和Google的Android等。

1、μClinux

μClinux是一种优秀的嵌入式Linux版本,其全称为micro-control Linux,从字面意思看是指微控制Linux同标准的Linux相比,μClinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的API,以及TCP/IP网络协议等。因为没有MMU内存管理单元,所以其多任务的实现需要一定技巧。

μClinux在结构上继承了标准Linux的多任务实现方式,分为实时进程和普通进程,分别采用先来先服务和时间片轮转调度,仅针对中低档嵌入式CPU特点进行改良,且不支持内核抢占,实时性一般。

综上可知,μClinux最大特点在于针对无MMU处理器设计,这对于没有MMU功能的stm32f103来说是合适的,但移植此系统需要至少512KB的RAM空间,1MB的ROM/FLASH空间,而stmf103拥有256K的FLASH,需要外接存储器,这就增加了硬件设计的成本。

μClinux结构复杂,移植相对困难,内核也较大,其实时性也差一些,若开发的嵌入式产品注重文件系统和与网络应用则μClinux是一个不错的选择。

2、μC/OS-II

μC/OS-II是在μC/OS的基础上发展起来的,是用C语言编写的一个结构小巧、抢占式的多任务实时内核。μC/OS-II能管理64个任务,并提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,具有执行效率高、占用空间小、实时性能优良和扩展性强等特点。

在文件系统的支持方面,由于μC/OS-II是面向中小型嵌入式系统的,即使包含全部功能,编译后内核也不到10 KB,所以系统本身并没有提供对文件系统的支持。但是μC/OS-II具有良好的扩展性能,如果需要也可自行加入文件系统的内容。

在对硬件的支持上,μC/OS-II能够支持当前流行的大部分CPU,μC/OS-II由于本身内核就很小,经过裁剪后的代码最小可以为2KB,所需的最小数据RAM空间为4 KB,μC/OS-II的移植相对比较简单,只需要修改与处理器相关的代码就可以。

综上可知,μC/OS-II是一个结构简单、功能完备和实时性很强的嵌入式操作系统内核,针对于没有MMU功能的CPU,它是非常合适的。它需要很少的内核代码空间和数据存储空间,拥有良好的实时性,良好的可扩展性能,并且是开源的,网上拥有很多的资料和实例,所以很适合向stm32f103这款CPU上移植。

uC/OS与Linux一样,是一款公开源代码的免费实时内核,已在各个领域得到了广泛的应用。uC/OS的特点如下:

(1)具有RTOS的基本性能;

(2)代码尺寸小,结构简明;

(3)易学、易移植;

uC/OS提供完善的嵌入式实时内核的源代码,并对该代码作详尽的解释。而商业上的实时操作系统不但价格昂贵,而且其中很多都是所谓的黑盒子,即不提供源代码。

3、eCos

eCos(embedded Configurable operating system),即嵌入式可配置操作系统。

它是一个源代码开放的可配置、可移植、面向深度嵌入式应用的实时操作系统。

最大特点是配置灵活,采用模块化设计,核心部分由小同的组件构成,包括内核、C语言库和底层运行包等。

每个组件可提供大量的配置选项(实时内核也可作为可选配置),使用eCos提供的配置工具可以很方便地配置,并通过不同的配置使得eCos能够满足不同的嵌入式应用要求。

eCos操作系统的可配置性非常强大,用户可以自己加入所需的文件系统。eCos操作系统同样支持当前流行的大部分嵌入式CPU,eCos操作系统可以在16位、32位和64位等不同体系结构之间移植。

eCos由于本身内核就很小,经过裁剪后的代码最小可以为10 KB,所需的最小数据RAM空间为10 KB。

在系统移植方面 eCos操作系统的可移植性很好,要比μC/OS-II和μClinux容易。

综上所述,eCos最大特点是配置灵活,并且支持无MMU的CPU的移植,开源且具有很好的移植性,也比较合适于移植到stm32平台的CPU上。但eCOS的应用还不是太广泛,还没有像μC/OS-II那样普遍,并且资料也没有μC/OS-II多。eCos适合用于一些商业级或工业级对成本敏感的嵌入式系统,例如消费电子领域中的一些应用。

4、FreeRTOS

由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。

相对于C/OS-II、 embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行,其最新版本为6.0版。

作为一个轻量级的操作系统,FreeRTOS提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。

FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。

FreeRT0S内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用时间。

FreeRTOS的不足:

相对于常见的μC/OS—II操作系统,FreeRTOS操作系统既有优点也存在不足。

其不足之处, 一方面体现在系统的服务功能上,如FreeRTOS只提供了消息队列和信号量的实现,无法以后进先出的顺序向消息队列发送消息;另一方 面,FreeRTOS只是一个操作系统内核,需外扩第三方的GUI(图形用户界面)、TCP/IP协议栈、FS(文件系统)等才能实现一个较复杂的系统, 不像μC/OS-II可以和μC/GUI、μC/FS、μC/TCP-IP等无缝结合。

5、mbed OS

开源嵌入式操作系统,ARM公司将mbed OS免费提供给所有厂商使用,mbed提供了一个相对更加系统和更加全面的智能硬件开发环境。

主要功能:

提供用于开发物联网设备的通用操作系统基础,以解决嵌入式设计的碎片化问题。支持所有重要的连接性与设备管理开放标准,以实现面向未来的设计。使安全可升级的边缘设备支持新增处理能力与功能。通过自动电源管理解决复杂的能耗问题。

主要特点:

开发速度快,功能强大,安全性高,为了量产化而设计,可离线开发,也可以在网页上编辑。

6、RTX

是ARM公司的一款嵌入式实时操作系统,使用标准的C结构编写,运用RealView编译器进行编译。不仅仅是一个实时内核,还具备丰富的中间层组件,不但免费,而且代码也是开放的。

主要功能:

开始和停止任务(进程),除此之外还支持进程通信,例如任务的同步、共享资源(外设或内存)的管理、任务之间消息的传递。开发者可以使用基本函数去开启实时运行器,去开始和终结任务,以及去传递任务间的控制(轮转调度)。开发者可以赋予任务优先级。

主要特点:

支持时间片,抢占式和合作式调度。不限制数量的任务,每个任务都具有254的优先级。不限制数量的信号量,互斥信号量,消息邮箱和软定时器。支持多线程和线程安全操作。使用MDK基于对话框的配置向导,可以很方便的完成MDK的配置。

7、VxWorks

美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系(RTOS),具有硬实时、确定性与稳定性,也具备航空与国防、工业、医疗、汽车、消费电子产品、网络及其他行业要求的可伸缩性与安全性。

主要功能:

支持可预测的任务同步机制、支持多任务间的通信、存储器优化管理、操作系统的(中断延迟、任务切换、驱动程序延迟等)行为是可知的和可预测的。实时时钟服务+中断管理服务。

主要特点:

具有一个高性能的操作系统内核Wind(实时性好、可裁减)友好的开发调试环境、较好的兼容性、支持多种开发和运行环境

8、QNX

诞生于1980年,是一种商用的遵从POSIX规范的类Unix嵌入式实时操作系统。

主要功能:

支持在同一台计算机上同时调度执行多个任务;也可以让多个用户共享一台计算机,这些用户可以通过多个终端向系统提交任务,与QNX进行交互操作。

主要特点:

核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。

9、NuttX

NuttX是一个实时嵌入式操作系统(Embedded RTOS),第一个版本由 Gregory Nutt 于 2007 年在宽松的 BSD 许可证下发布。

主要功能:

可以构建为开放的、平面的嵌入式 RTOS,或单独构建为具有系统调用接口的微内核。容易扩展到新的处理器架构、 SoC 架构或板级架构。实时的、确定性的、支持优先级继承。BSD 套接字接口。优先级管理的扩展。可选的具有地址环境的任务(进程)。

主要特点:

配置灵活,采用模块化设计,核心部分由小同的组件构成,包括内核、C语言库和底层运行包等。每个组件可提供大量的配置选项(实时内核也可作为可选配置),使用eCos提供的配置工具可以很方便地配置,并通过不同的配置使得eCos能够满足不同的嵌入式应用要求。

10、都江堰操作系统(djyos)

(注意:网友提示都江堰操作系统官网提示,stm32的f4和f7没调通)

都江堰操作系统,简称djyos,得名于一个伟大的水利工程:都江堰。

与传统操作系统不同,djyos不是以线程而是以事件为调度核心,这种调度算法使程序员摆脱模拟计算机执行过程编写程序的思维方式,而是按人类认知世界的方式编写应用程序,就如同在嵌入式编程中引入了VC似的。

djyos的调度算法使程序员可以摆脱线程和进程的束缚,djyos没有有关线程的api,一个完全不懂线程知识的程序员也可以顺利地在djyos下编写应用程序。

djyos 操作系统是以事件为核心进行调度的,这种调度策略使程序员可以按人类认知事物的习惯而不是计算机的习惯来编程。

11、Alios Things

据著名媒体嵌入式操作系统RTOS介绍,AliOS Things 是 AliOS 家族旗下、面向 IoT 领域的、高可伸缩的物联网操作系统。AliOS Things将致力于搭建云端一体化IoT基础设施,具备极致性能、极简开发、云端一体、丰富组件、安全防护等关键能力,并支持终端设备连接到阿里云Link,可广泛应用在智能家居、智慧城市、新出行等领域。

点评:阿里系,背靠阿里资源来势汹汹杀入物联网市场,芯片+模组厂商合作,是非常有力的一个玩家,但这也是其最大的劣势!

12、Huawei LiteOS

嵌入式操作系统RTOS介绍,Huawei LiteOS 是华为面向IoT(IoT是Internet of Things的缩写,物联网(Internet of Things)领域,构建的轻量级物联网操作系统,以轻量级低功耗、快速启动、互联互通、安全等关键能力,为开发者提供 “一站式” 完整软件平台,有效降低开发门槛、缩短开发周期。

点评:华为系,不过其开源程度比较低,其主要用于华为自己的产品,有大树罩着。

13、RT-Thread

嵌入式操作系统RTOS介绍,RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成,RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread具备一个IoT OS平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过11年的累积发展,RT-Thread已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过两千万台,成为国人自主开发、国内最成熟稳定和装机量最大的开源RTOS。

点评:国内最有可能成为Top 1,优势在于丰富的组件,中立立场!赶上了时机,得到诸多芯片厂商的支持,也挺受开发者喜欢的。缺点在于本身的教程文档和freertos等之类的比还是很弱。

嵌入式操作系统RTOS推荐的学习资源:

1.文档:https://www.rt-thread.org/document/site/

2.书籍:《 嵌入式实时操作系统:RT-Thread设计与实现 》《 RT-Thread内核实现与应用开发实战指南 基于STM32 》

14、SylixOS

嵌入式操作系统RTOS介绍,SylixOS 是一个开源的跨平台的大型实时操作系统(RTOS),SylixOS诞生于2006年,经过十多年的持续开发,SylixOS 已成为功能最为全面的国产操作系统之一。目前已有众多产品和项目应用案例,行业涉及航空航天、军事防务、轨道交通、智能电网、工业自动化等诸多领域。SylixOS 完全符合 POSIX 规范,开源社区丰富的自由软件移植非常方便。

15、Windows CE

Windows CE是微软针对个人计算机以外的计算机产品所研发的嵌入式操作系统,而CE则为Customer Embedded的缩写。该操作系统是一种针对小容量、移动式、智能化、32位、连接设备的模块化实时嵌入式操作系统。针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台。但Windows CE的嵌入不够实时,它属于软实时操作系统,目前也开始应用在中文手机的研究开发之中。

由于该操作系统与Windows有相似的背景,而且界面也比较统一,因此也得到了大家比较好的认可。该操作系统的基本内核需要至少200KB的ROM。

16、Linux

Linux操作系统源于一位芬兰大学生——Linus Torvalds的课余作品。当时,Linus Torvalds正在学习计算机科学家Andrew S.Tanenbaum开发的Minix操作系统,但发现Minix的功能很不完善,于是就编写了一个保护模式下的操作系统,这就是Linux的原型。

最开始,Linux被定位于黑客用的操作系统,并被放至FTP服务器上供人们自由下载。

Linux的内核小、功能强大、运行稳定、系统健壮、效率高,易于定制裁剪,在价格上极具竞争力。Linux不仅支持X86CPU,还可以支持其他数十种CPU芯片。

嵌入式 Linux 是以 Linux 为基础的嵌入式操作系统,广泛应用于信息家电、PDA、机顶盒、Digital Telephone、Answering Machine、Screen Phone、数据网络、Ethernet Switches、Router、Bridge、Hub、Remote Access Servers、ATM、Frame Relay、远程通信、医疗电子、交通运输计算机外设、工业控制、航空航天等领域。

使用嵌入 Linux 系统的优势有很多,比如:

  • Linux 是开放源代码的,不存在黑箱技术,遍布全球的众多 Linux 爱好者是 Linux 开发者的强大技术支持;
  • Linux 的内核小、效率高,内核的更新速度很快,Linux 是可以定制的,其系统内核最小只有约 134KB;
  • Linux 是免费的操作系统,在价格上极具竞争力。

17. Android

Android 是一种基于 Linux 的自由及开放源代码的操作系统,2003 年 10 月,Andy Rubin 等人创建 Android 公司,并组建 Android 团队,22 个月后被 Google 收购。目前 Android 操作系统主要用于智能手机、平板电脑和智能电视等。

Android 运行于 Linux Kernel 之上,但并不是 GNU/Linux。因为在一般 GNU/Linux 里支持的功能,Android 大都没有支持,包括 Cairo、X11、Alsa、FFmpeg、GTK、Pango,以及 Glibc 等都被移除掉了。Android 又以 Bionic 取代 Glibc,以 Skia 取代 Cairo,再以 OpenCore 取代 FFmpeg 等。

Android 为了达到商业应用,必须移除被 GNU GPL 授权证所约束的部分,例如,Android 将驱动程序移到 Userspace,使得 Linux Driver 与 Linux Kernel 彻底分开。Bionic/Libc/Kernel/ 并非标准的 Kernel Header Files。

18. iOS

iOS 是由苹果公司开发的手持设备操作系统。最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等苹果产品上。

iOS 与苹果的 Mac OS X 操作系统一样,它也是以 Darwin 为基础的,因此,同样属于类 Unix 的商业操作系统。它和 Linux 操作系统有一定渊源,都可以追溯到 Unix。

iOS 是商业操作系统,因此不是开源的,iOS 的开发工程师主要开发 iOS 的应用程序,使用的开发语言是 Objective-C 和 Swift。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 抱歉,我无法提供PPT文档。但是,我可以为您提供关于嵌入式Linux操作系统的一些基本信息。 嵌入式Linux操作系统是一种适用于嵌入式设备的操作系统。它具有轻量级、可定制、模块化等特点,可以在各种不同的硬件平台上使用。 嵌入式Linux操作系统通常包括以下组成部分: - 内核:嵌入式Linux操作系统的核心部分,负责管理硬件设备和提供基本的系统功能。 - 根文件系统:包含操作系统所需的所有文件和目录,通常以只读方式挂载在系统中。 - 应用程序:嵌入式Linux操作系统可以运行各种应用程序,例如网络服务、媒体播放器、传感器控制等。 开发嵌入式Linux操作系统需要具备以下技能: - 熟悉Linux操作系统和命令行工具。 - 掌握C/C++编程语言。 - 熟悉嵌入式系统开发中的硬件和软件交互。 - 了解嵌入式Linux操作系统的构建和定制方法。 总之,嵌入式Linux操作系统是嵌入式系统开发中非常重要的一部分,掌握相关知识可以帮助开发者更好地实现自己的嵌入式设备。 ### 回答2: 嵌入式Linux操作系统是一种能够在嵌入式设备上运行的操作系统。它具有轻巧、高效、灵活等特点,适用于各种嵌入式系统,如智能手机、平板电脑、数字电视、智能家居等。 嵌入式Linux操作系统的PPT主要包括以下内容: 1. 嵌入式Linux操作系统的概述:介绍嵌入式Linux操作系统的定义、特点、应用领域,以及与传统的桌面Linux操作系统的区别。 2. 嵌入式Linux操作系统的架构:介绍嵌入式Linux操作系统的基本架构,包括内核、设备驱动、文件系统等核心组件,以及应用程序开发的相关工具和技术。 3. 嵌入式Linux操作系统的开发流程:介绍嵌入式Linux操作系统的开发过程,包括系统需求分析、硬件平台选择、内核配置、驱动开发、应用程序开发等环节。 4. 嵌入式Linux操作系统的移植与定制:介绍如何将Linux操作系统移植到不同的硬件平台上,并根据具体应用需求进行定制,包括内核裁剪、模块添加、驱动支持等内容。 5. 嵌入式Linux操作系统的性能优化与调优:介绍如何对嵌入式Linux操作系统进行性能优化和调优,包括资源管理、功耗管理、实时性能提升等方面。 此外,PPT可以结合案例分析、实例演示等方式,具体展示嵌入式Linux操作系统在不同嵌入式设备上的应用实例,以及相关的开发工具、框架和技术。 通过这样的PPT,可以让听众了解嵌入式Linux操作系统的基本概念和原理,了解其在嵌入式设备中的应用范围和开发流程,以及相关的开发工具和技术,进一步提升其对嵌入式Linux操作系统的理解和应用能力。 ### 回答3: 嵌入式Linux操作系统是一种在嵌入式系统中使用的操作系统,它可以运行在各种嵌入式设备上,如智能手机、平板电脑、智能家居设备等。相比于其他操作系统,嵌入式Linux具有以下几个特点。 首先,嵌入式Linux操作系统具有开源性。开源意味着用户可以自由地查看、修改和分发软件代码。这使得开发人员能够根据具体需求进行定制和优化,提高系统性能和功能。 其次,嵌入式Linux操作系统具有可裁剪性。它允许用户根据实际需求选择和配置需要的软件组件,从而减小系统占用资源和提高系统运行效率。这种可裁剪性可以满足不同嵌入式设备的特殊需求。 此外,嵌入式Linux操作系统具有高度的可扩展性。它提供了许多开放性的接口和调试工具,方便开发人员进行应用程序的开发和调试。同时,嵌入式Linux支持各种外围设备的驱动程序,使得开发人员可以方便地将系统与其他硬件设备进行连接和交互。 另外,嵌入式Linux操作系统具有强大的网络功能。它支持各种网络协议和通信接口,如以太网、Wi-Fi、蓝牙等,可以实现设备之间的互相通信和数据传输。 总体而言,嵌入式Linux操作系统具有开源性、可裁剪性、可扩展性和网络功能等特点,使得它成为嵌入式系统开发的首选操作系统。通过灵活的定制和优化,它能够满足不同类型的嵌入式设备的需求,并为开发人员提供方便的开发和调试环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值