计算机嵌入式操作系统初探

时间:2022-09-20 04:20:39

计算机嵌入式操作系统初探

本文简要介绍了嵌入式操作系统的发展过程、操作系统的分类技术,重点分析了计算机嵌入式系统的特性,探讨了当前典型的嵌入式操作系统以及嵌入式操作系统的可定制性、面向对象以及分布式操作等方面的发展趋势。

【关键词】嵌入式操作系统 实时性 嵌入式Linux 智能化

目前的计算机网络已经面临非常大的威胁,这些威胁的来源是多方面的,并且这种威胁也会不断给社会带来很大的影响。所以来自网络的安全问题已经被当前的信息社会所有的领域开始重视起来,但是因为计算机网络具有联结形式的多样性特征,具有终端分布不均匀性和特征,也具有网络的开放性和互连性等特征,这些特征都使网络很容易受黑客、病毒、及恶意软件的攻击,因此网上信息的安全和保密工作就成为了目前一个非常重要的问题。

1 嵌入式操作系统的发展

嵌入式操作系统伴随计算机科学信息的应用与发展经历了4个特别的阶段:

第一阶段:无控制系统的嵌入算法阶段,单芯控制组片为核心的可编程控制器形式的系统,具有与监测、伺服、指示设备相配合的功能。系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口。

第二阶段:以嵌入式CPU为基础、简单操作系统为核心的嵌入式系统CPU,种类繁多,通用性比较差;处理机处于过载状态,某些处理机又出于轻载状态,将过载处理机中的任务转移到轻载的处理机中运行,目的是为了提高系统的执行性能。

第三阶段:通用的嵌入式实时操作系统阶段,以嵌入式操作系统为核心的嵌入式系统。根据调度策略的不同,性能的评价标准分为静态标准和动态标准,静态标准的高性能是指各处理机中的负载达到平衡。动态标准的高性能是指任务的平均等待时间和相应时间。

第四阶段:以基于Internet为标志的嵌入式系统。这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Internet之外,负载量的大小决定某一处理机在系统中的执行性能以及响应时间,现在目前主流的嵌入式操作系统有linux、uxlinux、WinCE、PalmOS、Symbian、eCos、uc/os-II、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEFRITY、OSE、FreeRTOS 等。

2 嵌入式操作系统的分类

从嵌入式系统时候具有实时性来分类,即嵌入式操作系统可以分为两类,一类是面向控制、通信等领域的实时操作系统,如WindRiver公司的Vx-Works、ISI的pSOS、QNX系统软件公司的QNX、ATI的Nucleus等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理(PDA)、移动电话、机顶盒、电子书、WebPhone等。另一种常用的分类方法是,根据嵌入式操作系统的具体应用领域来分类可分为:商用系统、专用系统以及开放系统三大类。

2.1 商用嵌入式操作系统

商用嵌入式操作系统功能较强大, 辅助工具较齐全,可应用的范围也较广,在许多领域都有应用,例:WircroSoft的WindowsC E 、W i n d R i v e r 的v x W o r k s 、E P S O N 的ROS33、CoreTek的DeltaOS、pSOS+、3Com的Palm OS、以及中科院的Hopen等。

2.2 开放嵌入式操作系统

开放嵌入式操作系统是近年来迅速发展的一类操作系统,混合编程模型的优势在于能取单一模型所具备的长处,克服单一模型所存在的缺点与不足。在编写并行程序时,使用MPI将任务分解成若干子任务,每个节点完成一个子任务,由于每个节点只能读写本地内存中的数据。混合粒度的并行化可以达到性能和可扩展性两方面兼顾,MPI解决多处理器间的粗粒度的并行通信,而GPU采用由硬件管理的轻量级线程并行机制,可以很好地解决处理器内部的通信,CUDA提供大量线程数目可以快速地解决大规模矩阵乘计算。在MPI+CUDA并行模型中,MPI并行位于顶层,CUDA位于底层。这种模型很好的映射了多处理器计算机组成的集群体系结构。

3 嵌入式操作系统的特性

与其他类型的操作系统相比,嵌入式操作系统具有以下一些特点。

3.1 嵌入式操作系统的实时性

嵌入式操作系统的实时性意味着操作系统在规定时间内完成操作动作,确保执行任务的准确性,操作系统的负载量的大小决定某一处理机在系统中的执行性能以及响应时间而不是单纯的速度快。嵌入式任务往往是时间关键性约束的,必须在某个时间范围内完成。

3.2 嵌入式操作系统的可剪裁性

为了能够适应各种应用需求的变化,处理机中任务提早运行完成,但是其他处理器中还有大量的任务等待执行,此时将需要排队等待执行的处理机上的过载任务分配到已经结束执行过程并在空等待的处理机中,这种方式就叫做负载平衡方法。负载平衡是为了均衡系统间各个处理机中的任务负载量,统筹管理处理机中的任务分配方式,提高分布式系统的处理能力,从而提高系统的性能。

3.3 嵌入式操作系统的可靠性

嵌入式系统一旦开始运行就不需要人的过多干预。设备主机间存储器拷贝时将该对象作为参数传入,这样内核函数调用将是异步的。不同的流允许一个流的存储器复制与另外一个流的内核执行相互重叠。

4 当前典型嵌入式操作系统分析

4.1 嵌入式Linux系统

目前对嵌入式Linux的开发主要集中在两个方向:一种思路是通过裁减的途径。由于分配到各个处理器中,每台节点机中的任务为N/P,这种方法在原子密度均匀时有很好的扩展性和负载平衡性。如果原子密度不均匀,当某些原子的近邻原子很少时可以采用空间分解法,由于空间分解法需要不同节点机间的处理器频繁通信,所以其通信开销较为高昂。

4.1.1 内核结构

嵌入式系统RTLinux结构中。RT-kernel对硬件中的中断进行处理,并用软件模拟中断控制器。可以实现零开销的线程切换,在GPU上,当一个线程要访问片外存储或者同步指令开始等待以后,GPU立即切换到另一个处于就绪态的线程,用计算隐藏延迟。当线程中的计算指令需要的时间较多,而访存时间相对较少,即计算密集度比较高时,延迟就可以被计算隐藏。

4.1.2 调度算法

实时任务的调度方式主要有两种:周期性调度与中断唤醒,编程模型的优势在于能取充分两种模型所具备的长处,克服单一模型所存在的缺点与不足。在编写并行调度程序时,使用MPI将任务分解成若干子任务,每个节点完成一个子任务,每个节点只能读写本地内存数据集。

4.1.3 开发与调试

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,使用以应用系统对功能、可靠性、成本、体积、功耗有严格要求的计算机系统。

4.2 Windows CE

Windows CE内核较小,能作为一种嵌入式操作系统应用到工业控制等领域。其优点在于便携性、提供对微处理器的选择以及非强行的电源管理功能。

4.2.1 内核结构

基于模块化的嵌入式操作系统,Host端是指在CPU上执行的部分,而device端是在显示芯片上执行的部分。当处理数据并行计算时,CUDA首先将程序编译成GPU能够执行的程序,而后传送到GPU。运行在GPU上的CUDA并行计算函数叫做“kernel(内核函数)”。

4.2.2 调度算法调度策略

基于优先级的可抢占调度,同级任务可采用轮转(round-robin)调度,嵌入式调度中的任务调度应用在系统中,可以有效提供灵活的调度机制,Wind内核采用的是抢占调度策略,嵌入式任务的调度需要有系统内核处理,应用嵌入式实时操作系统的调度任务使用优先级调度方法,在每次的调度中需要创建一个VxWorks消息队列,在调度任务进城中获得当前的消息,完成对外部接口函数的调用。

4.2.3 开发与调试环

开发调试采用开发主机目标机的方式,目标操作系统接收到这样的请求可以直接处理,调试的程序则运行于基于特定硬件平台的嵌入式操作系统,调试器将表达式转换为简单的字节码,传送至,程序运行后命中监视点、唤醒,根据字节码记录用户所需数据存入特定缓冲区。

5 嵌入式操作系统应用和展望

嵌入式操作系统得到了广泛的应用,简约化的系统调度策略,将不同的调度策略应用到能量求解的智能化程序中,缩短了并行程序执行时间。消除操作系统中实时智能平台并行化所造成的数据竞争和死锁,避免了因为数据竞争和死锁所引起的计算结果不准确和效率低等问题,这样就优化的嵌入式系统的应用,在未来的使用中,具有云计算功能和无线引入实现的嵌入式操作系统将得到广泛的使用。

6 结束语

嵌入式操作系统应用的发现需要互联网、通信和计算机科技的协同发展,促使计算机硬件的设备的进步,嵌入式系统在计算机应用中发挥的巨大的作用,现代应用技术的嵌入式系统已经向着云计算功能和无线智能实现的嵌入式操作系统的使用过渡,集成更多的器件和功能,适应新时代技术的需要。

作者单位

黄石理工学院数理学院 湖北省黄石市 435000

上一篇:关于嵌入式数据库技术的探讨 下一篇:企业信息安全体系构建与管理分析