讲师博文
嵌入式操作系统介绍 来源 : 华清远见     2023-10-23

随着时代发展人类文明的进步,社会发展统一的方向就是快捷、方便的生活节奏,其中互联网起到了举足轻重的作用。如:网络购物、网络学习、网络社交等等,充斥着人们的生活方方面面。在互联网的飞速发展的今天,人们对定制化、个性化的产品需求与日俱增,如 聊天机器人、智能猫眼、智能家居、物联网等。其中有一个技术对互联网的发展起到了十分重要的作用。这个技术就是嵌入式技术。以下是对嵌入式及其嵌入式操作系统的简单介绍。

首先我们要明白什么是嵌入式,官方定义为:以应用为中心,计算机技术为基础,软硬件可裁剪,对功耗、体积、成本、稳定性有严格要求的专用计算机系统。

那什么是以应用为中心?意思是说我们的产品的主要作用是什么?比如电子手表是用来计时的,不能拿电子手表当计算器用(即便计算器和电子手表都是电子产品)。再比如空调的遥控器不能控制汽车门锁,再或者车载电脑不能用来做PPT。已应用为中心的核心就是这个产品的主要作用是什么。

什么是软硬件可裁剪呢?熟悉计算机的同志都知道我们的PC机在安装操作系统时由于适配问题需要自己安装一些设备驱动,如 声卡驱动或网卡驱动。以路由器为例,我们的路由器上也跑着一个操作系统(ClearOS、Endian、Untangle、RouterOS等)。操作系统共有5大功能:1.文件管理  2.进程管理  3.内存管理  4.网络管理  5.设备管理。我们在使用路由器时一般不需要有显示器、和扬声器及键盘鼠标等设备,所以我们在向路由器移植操作系统时可以将显卡、声卡、键盘鼠标等外设驱动不进行系统内核编译,此类操作叫做软件裁剪。当然既然没有显卡、声卡等外设在设计PCB时自然可以将相应的设备接口裁剪掉,此类操作称为硬件裁剪。

那么功耗、体积、成本、稳定性的含义就不难理解了,我们的产品总不能功耗高、体积大、成本高、稳定性差吧!如果这样的话企业早晚Game over。

那专用计算机系统指的是什么呢?我们知道计算机系统分为硬件系统(运算器、控制器、存储器、输入设备、输出设备),和软件系统(操作系统、服务程序、用户APP等)。专用计算机系统和以应用为中心所指基本相似,以汽车ECU为例 大众PASSAT发动机的ECU不能使用在大众BORA发动机上(即便是同厂家的汽车也是无法通用的,PASSAT的ECU就是PASSAT的,BORA 的ECU就是BORA的)凸显了专用性,再或者汽车的ECU不能用在坦克上也是同样的道理。

总的来说,嵌入式技术就是一个专门解决人类生活需求的高端IT技术。本质是将人类的想法嵌入到芯片中,让芯片(或称机器)按照人类的想法工作,达到方便人类生活或工作的目的。

嵌入式是一个软硬件通吃的技术,与传统互联网开发不同,不仅要关注软件代码的逻辑性,还要关注软硬件的适配性。

嵌入式既然是专用计算机系统,计算机系统又分为软件系统和硬件系统。那接下来我将简单介绍一下嵌入式软件系统中的操作系统。

嵌入式操作系统种类很多(Wince 、VxWorks 、linux 、uCos 、PalmOS等)

Wince 

Windows CE(也称为 Windows Embedded Compact)是一种基于 Windows 操作系统的嵌入式操作系统。以下是 Windows CE 的一些主要特点:

可移植性:Windows CE 支持多种 CPU 和平台,包括 x86、ARM、MIPS 等。

小巧灵活:Windows CE 的内核非常小巧,可以在非常有限的硬件资源下运行。此外,Windows CE 可以定制,可以根据具体应用的需要裁剪内核,使其更加适合嵌入式设备。

实时性:Windows CE 支持实时操作系统(RTOS)功能,可以在实时要求较高的应用中使用。

多任务支持:Windows CE 支持多任务并发执行,可以同时运行多个应用程序。

易开发:Windows CE 可以使用 C++、Visual Basic、C# 等多种编程语言进行开发,并提供了完整的开发工具链和开发文档。

兼容性:Windows CE 可以与标准 Windows 应用程序兼容,并支持许多标准 Windows API。

安全性:Windows CE 有内置的安全机制,可以保护嵌入式设备免受恶意软件和攻击。

VxWorks 

VxWorks 是一种实时操作系统(RTOS),主要用于嵌入式系统和嵌入式应用程序。以下是 VxWorks 的一些主要特点:

实时性:VxWorks 可以提供极高的实时性和可靠性,支持微秒级响应和处理能力。

可移植性:VxWorks 可以运行在多种硬件平台上,并支持多种 CPU 架构,如 ARM、MIPS、PowerPC 等。

内存保护:VxWorks 提供内存保护和故障隔离机制,可以防止应用程序之间的干扰和内存访问错误。

多任务支持:VxWorks 可以支持多个任务同时运行,并可以实现任务间的通信和同步。

易开发:VxWorks 提供了完整的开发工具链和 API 库,可以使用 C、C++ 等编程语言进行开发。

网络支持:VxWorks 提供了完整的网络支持,包括 TCP/IP 协议栈、套接字库、Web 服务器等。

实时调试:VxWorks 提供实时调试功能,可以在程序运行的过程中进行调试和分析。

VxWorks 是一种高度可定制、可靠、高性能的实时操作系统,适用于嵌入式系统和实时应用程序。

linux 

Linux 是一种广泛使用的开源操作系统,在嵌入式系统中也有着广泛的应用。以下是 Linux 嵌入式操作系统的主要特点:

开源:Linux 是一种开源操作系统,用户可以自由获取源代码并进行修改和定制,因此可以根据具体应用的需要进行定制。

可移植性:Linux 支持多种处理器架构,包括 ARM、x86、MIPS 等,因此可以运行在多种硬件平台上。

稳定性:Linux 是一个稳定、可靠的操作系统,能够在嵌入式设备上长时间运行。

多任务支持:Linux 可以支持多个任务同时运行,同时提供了丰富的进程和线程管理机制。

易开发:Linux 提供了丰富的开发工具链和开发文档,并支持多种编程语言,如 C、C++、Python 等。

网络支持:Linux 提供了完整的网络支持,包括 TCP/IP 协议栈、套接字库、Web 服务器等。

社区支持:由于 Linux 是一个开源项目,因此有一个庞大的社区支持,用户可以从社区获取支持和解决问题。

Linux 是一种开源、可移植、稳定、可靠、易开发、有丰富的网络支持和社区支持的操作系统,适用于嵌入式系统和嵌入式应用程序。

uCos 

uC/OS(Micro-controller Operating Systems)是一种小型实时操作系统,主要用于嵌入式系统和嵌入式应用程序。以下是 uC/OS 的一些主要特点:

可移植性:uC/OS 可以运行在多种硬件平台上,并支持多种 CPU 架构,如 ARM、MIPS、PowerPC 等。

实时性:uC/OS 提供了高实时性和可靠性,支持微秒级响应和处理能力。

内存管理:uC/OS 提供了灵活的内存管理机制,可以根据应用程序的需要进行定制。

多任务支持:uC/OS 可以支持多个任务同时运行,并可以实现任务间的通信和同步。

易开发:uC/OS 提供了完整的开发工具链和 API 库,可以使用 C、C++ 等编程语言进行开发。

小型化:uC/OS 是一种小型的实时操作系统,具有小内核和小的存储占用。

高效性:uC/OS 的设计和实现都注重效率和性能,可以在有限的资源下提供高效的运行和处理能力。

uC/OS 是一种小型、高效、实时、可移植、易开发、灵活的嵌入式操作系统,适用于各种嵌入式系统和实时应用程序。

PalmOS

PalmOS 是一种已经停止开发的嵌入式操作系统,主要用于 PalmPilot 手持设备和其他 PDA(个人数字助理)设备。PalmOS 的开发停止于2009年。在2009年,Palm 公司发布了一种新的操作系统 Palm webOS,这是一种基于 Linux 内核的全新操作系统,取代了 PalmOS。随后,Palm 公司被惠普公司收购,PalmOS 的开发也被停止。虽然 PalmOS 已经停止开发,但其在历史上对嵌入式操作系统的发展和普及仍有重要的贡献。以下是 PalmOS 的一些主要特点:

简单易用:PalmOS 设计简单,易于使用,可以快速学习和掌握。

稳定性:PalmOS 是一个非常稳定的操作系统,可以长时间运行。

应用程序丰富:PalmOS 有大量的应用程序可供下载和使用,包括日历、电子邮件、游戏、文件管理器等。

内存管理:PalmOS 提供了灵活的内存管理机制,可以根据应用程序的需要进行定制。

多任务支持:PalmOS 可以支持多个任务同时运行,并可以实现任务间的通信和同步。

易开发:PalmOS 提供了完整的开发工具链和 API 库,可以使用 C、C++ 等编程语言进行开发。

小型化:PalmOS 是一种小型的嵌入式操作系统,具有小内核和小的存储占用。

PalmOS 是一种简单易用、稳定、内存管理灵活、多任务支持、应用程序丰富、小型化的嵌入式操作系统,适用于个人数字助理和其他手持设备。

 

扫码申领本地嵌入式教学实录全套视频及配套源码

上一篇:Linux线程与进程的区别

下一篇:如何建立编程思维以及面向对象程序设计思想?

400-611-6270

Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5京公海网安备11010802025203号