×
嵌入式 > 技术百科 > 详情

嵌入式操作系统SMARTOS介绍

发布时间:2023-09-20 发布时间:
|

SMARTOS是由浙江大学嵌入式中心研制的嵌入式操作系统,是陈天洲领导下的嵌入式操作系统研发团队,完全自主研发的嵌入式操作系统。在面向嵌入式系统设计中,SMARTOS具有较多的技术创新,多个组件在普天、西湖数源、Intel、网新、信雅达等公司得到推广应用。

嵌入式操作系统SMARTOS及相关组件,在2005年1月15日正式推出了SMARTOS1.0版,并在2005年6月15日开源。SMARTOS1.0已经通过了上海市计算机软件评测重点实验室的功能评测(2005年1月)与性能评测(2005年4月)。2005年10月发布2.0版本,是一个可支持下一代SOC与多核芯片的实时多任务嵌入式操作系统。

SMARTOS主要的创新:

(1)分组硬实时调度算法

嵌入式系统的任务有以下特点:任务数目少,任务使用的资源固定,各个任务的实时要求固定。通用的操作系统处理的任务随机性比较大,而在特定的嵌入式环境中,任务是可枚举可预测的。可以针对这个特性对调度进行优化以达到实时性的要求。

分组硬实时调度器,首先统计各个可预测任务的特点,将每个特点称为这个进程的一个维。如:任务需要使用的寄存器数量就是一个维。由于调度算法过度使用枚举,使得算法过于复杂,资源消耗太大,调度器对任务进行了分组,将维空间相近的任务聚类为组,并且将一定数量维上相似的组组合为组群。聚类的方法可以用欧几里得距离,在组空间计算进程间距离、组间距离,以部分维数,计算组群间距离。

调度算法抽象为如下:

1.计算两个任务的各个维有无冲突。

2.对于一个有不同组群组成的系统,在任务切换时选取于当前进程所在组群距离最小并且相吸的组群中的进程,可以保证调度的最优化。

(2)CACHE可分配的内存调度算法

操作系统的运行离不开对内存的操作,但由于内存的访问速度较慢,直接导致处理器流水线中断。目前主要利用CACHE来加快数据访问速度。但是再大的CACHE也一定有失配的情况,这可能直接导致实时性差,不能获得预期的相应速度,难以实现时间的可预测性。本项目立足于现在嵌入式体系结构中的新特点,如MMU、CACHE可分配为内存等特点,研发了新型的存储访问模型。

项目组在ARMV5的基础上,使用了Intel近年推出的XScale系列芯片,目前使用的是2004年推出的XScalePXA/275。通过XScale提供的CACHE操作指令,可以将一部分CACHE重构为内存,给这块CACHE赋予一块地址空间。

(3)支持多外设虚设备的层次文件系统

现今大容量存储系统已经作为可移动嵌入式系统上的多种应用程序不可缺少的重要存储手段。目前嵌入式系统的主要存储设备包括CF卡、MMC/SD卡、微硬盘等。对于大容量这一条件来讲,微硬盘显然是最好的选择。但是可移动嵌入式系统根本不能接受微硬盘过度的电源功耗,这就限制了它的使用。而CF卡等低容量设备功效却比微硬盘低的多。

所以需要设计一种新的文件系统,能够高效利用电源,并且克服存储容量的限制,这就是基于虚设备的层次文件系统。它充分利用了多种移动存储设备的不同特性,综合了CF卡高效电源利用和微硬盘大容量等特征,提供了一个节能高效的大容量存储管理系统。

为了最大限度的平衡现有文件系统的工作和对所有实现保持一个一致的框架,我们实现了一种基于逻辑虚设备层的设计方案。逻辑虚设备对于本地内核文件系统来说是一个普通设备,它允许现有文件系统读写逻辑磁盘地址。而逻辑虚设备层能够完成从逻辑地址到物理磁盘地址的转换,并且可以灵活地调度底层设备以完成实际的I/O。

(4)片内操作系统

项目组研究了在SOC内集成微内核的操作系统,将嵌入式操作系统分为片内操作系统(OSonChip)和片外操作系统。

我们利用片内Flash、ROM等存储器,固化一个微内核的操作系统,我们称之为片内操作系统。片内操作系统封装了所有SOC内的系统资源,包括计算、存储、通讯等能力。

这种体系架构巧妙应用了SOC高速/低功耗的优点,由片内OS来管理CPU和内存,完成进程同步,调度和内存管理。该片内系统对用户来说是透明的,外围操作系统通过片内系统提供的接口进行进程调度同步和内存管理。而外围操作系统则完成包括外设驱动,文件系统等其他功能。

(5)面向多核SOC的子线程体系结构

随着深亚微米技术的发展,现代芯片逐步向着采用双核、三核等多核模型的芯片发展,在手机等嵌入式系统中引入多核心的架构将可以全面增加处理器的功能。随着应用的增多,对于单核CPU而言,需要轮换着分配每个独立任务时间,任务之间的切换浪费了不少宝贵的CPU资源。使用多核CPU后,多个独立任务可以有不同的处理单元执行,较单核而言,效率、性能自然会有大幅度提高。

基于多核的硬件体系结构要求操作系统的架构在多处理单元的协调上,能够更灵活地完成多核间的计算分配和相互数据交换;而对于系统基础组件也更加灵活,以充分享受高带宽带来操作系统的灵活性与定制性。

项目组采用了带有多媒体MMX协处理器、无线通讯DSP与应用处理器的Intel嵌入式芯片,研发了面向多核SOC的子线程体系结构,将线程细分为子线程,各子线程运行在不同的核上,充分利用系统资源达到线程内的并发。

在处理特定的指令时都用到了不同的处理单元,当一个单元在运作时另一个单元处于空闲状态,如果能够同时使几个处理单元都处于工作状态,就可以极大的提升性能。

SMARTOS系统特点:

高可靠性构件化嵌入式SMARTOS

自主知识产权

应用特制的嵌入式操作系统ASOS的模型

微内核理论发展到第三代“流水线内核”架构

兼容嵌入式Linux

实时性强

最大中断禁止时间190时钟周期之内;

任务切换时间300时钟周期之内;

高可用性研究

99.999%可用性(一年故障时间5分钟以内)

硬件热交换,资源冗余备份、接口板和系统板的热插拔

稳定高速的文件系统:片内Flash,片外Flash,SD,CF,微硬盘,软件支持U盘

自主专利的启动优化、电源管理、文件系统

OS测试引擎,包括定性分析与定量分析

SMARTOS核心技术要点

强实时设计:分组硬实时调度算法对任务需要的资源进行分类并相容性,上下文切换时间为300时钟周期。内存调度将部分Cache构造为内存,提高了内存效率。

硬件抽象层:构建了支持多外部存储器虚设备,实现了各外设能耗负载平衡的低功耗文件系统,支持嵌入式数据库底层设计。基于XML的终端硬件抽象层,用XML语言抽象出BSP标准,自动生成各种平台的BSP,简化系统的移植。

启动优化:硬件镜像的启动优化方法,将启动后的环境镜像到存储器上,下次启动时直接装载,同时使用了XIP技术、QT优化技术,加快启动速度。

节能计算:使用DVS技术构建SMART节能框架,通过预测对系统能耗进行管理。设计了面向能耗的处理器调度算法。以降低功耗为目标的编译优化,设计了节能编译器。

SOC操作系统:在面向SOC的嵌入式操作系统设计中,提出了OSonchip,将一个微内核固化到SOC内FLASH或者ROM上,实现了芯片级软硬件集成。在多核SOC的硬件架构上将线程细分,通过预测来发挥MMX、DSP、应用处理器的计算能力。

多模构件化协议栈:支持各种空中接口与无线IP网络,实现了多模切换网关、多模虚拟网络设备、多模语音通讯的无缝切换、无线窄带虚拟网络计算机。

SMARTOS中间件技术是在卜佳俊领导下的嵌入式中间件团队研发,主要包括:

嵌入式多媒体:音视频编解码、移动流媒体、视频点播与视频监控。

SMARTDB:实时可预测的事务调度,移动分布式事务支持与高级恢复技术。

SMARTIDE:跨平台IDE、国内手机OS的统一IDE、嵌入式全系统仿真器。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
实时控制.安全.如何加速实现未来工厂落地?