SmartOS把过去几十年最具革命性的四种操作系统技术——Zones,ZFS,DTrace以及KVM——整合到了一个单一的操作系统中。它提供了构建于一套可靠的企业级存储堆栈之上的多用户环境。有了SmartOS里面KVM的引入,您无需为了运行老旧的应用程序和堆栈而放弃企业级操作系统了。 SmartOS可以把任何服务器都变为面向多用户环境,端对端,或者存储应用的高效主机平台。SmartOS为应用开发人员,服务提供商,和数据中心管理员提供独一无二的,革新的工具——调整并且增强现代数据中心的部署能力。 SmartOS的系统构成如下:Illumos内核+BSD包管理工具+GNU工具链,而文件系统则采用ZFS。虽然目前仅有最小化的LiveCD,还没有正式的成品,但是就其理念而言,会是个相当优秀的OS。
(1)分组硬实时调度算法 嵌入式系统的任务有以下特点:任务数目少,任务使用的资源固定,各个任务的实时要求固定。通用的操作系统处理的任务随机性比较大,而在特定的嵌入式环境中,任务是可枚举可预测的。可以针对这个特性对调度进行优化以达到实时性的要求。 分组硬实时调度器,首先统计各个可预测任务的特点,将每个特点称为这个进程的一个维。如:任务需要使用的寄存器数量就是一个维。由于调度算法过度使用枚举,使得算法过于复杂,资源消耗太大,调度器对任务进行了分组,将维空间相近的任务聚类为组,并且将一定数量维上相似的组组合为组群。聚类的方法可以用欧几里得距离,在组空间计算进程间距离、组间距离,以部分维数,计算组群间距离。
调度算法抽象为如下: (2)CACHE可分配的内存调度算法 操作系统的运行离不开对内存的操作,但由于内存的访问速度较慢,直接导致处理器流水线中断。目前主要利用CACHE来加快数据访问速度。但是再大的CACHE也一定有失配的情况,这可能直接导致实时性差,不能获得预期的相应速度,难以实现时间的可预测性。本项目立足于现在嵌入式体系结构中的新特点,如MMU、CACHE可分配为内存等特点,研发了新型的存储访问模型。 项目组在ARM V5的基础上,使用了Intel近年推出的XScale系列芯片,目前使用的是2004年推出的XScale PXA/275。通过XScale提供的CACHE操作指令,可以将一部分CACHE重构为内存,给这块CACHE赋予一块地址空间。 (3)支持多外设虚设备的层次文件系统 现今大容量存储系统已经作为可移动嵌入式系统上的多种应用程序不可缺少的重要存储手段。目前嵌入式系统的主要存储设备包括CF卡、MMC/SD卡、微硬盘等。对于大容量这一条件来讲,微硬盘显然是最好的选择。但是可移动嵌入式系统根本不能接受微硬盘过度的电源功耗,这就限制了它的使用。而CF卡等低容量设备功效却比微硬盘低的多。 所以需要设计一种新的文件系统,能够高效利用电源,并且克服存储容量的限制,这就是基于虚设备的层次文件系统。它充分利用了多种移动存储设备的不同特性,综合了CF卡高效电源利用和微硬盘大容量等特征,提供了一个节能高效的大容量存储管理系统。
为了最大限度的平衡现有文件系统的工作和对所有实现保持一个一致的框架,我们实现了一种基于逻辑虚设备层的设计方案。 逻辑虚设备对于本地内核文件系统来说是一个普通设备,它允许现有文件系统读写逻辑磁盘地址。而逻辑虚设备层能够完成从逻辑地址到物理磁盘地址的转换,并且可以灵活地调度底层设备以完成实际的I/O。 项目组研究了在SOC内集成微内核的操作系统,将嵌入式操作系统分为片内操作系统(OS on Chip)和片外操作系统。 我们利用片内Flash、ROM等存储器,固化一个微内核的操作系统,我们称之为片内操作系统。片内操作系统封装了所有SOC内的系统资源,包括计算、存储、通讯等能力。 这种体系架构巧妙应用了SOC高速/低功耗的优点,由片内OS来管理CPU和内存,完成进程同步,调度和内存管理。该片内系统对用户来说是透明的,外围操作系统通过片内系统提供的接口进行进程调度同步和内存管理。而外围操作系统则完成包括外设驱动,文件系统等其他功能。 (5)面向多核SOC的子线程体系结构 随着深亚微米技术的发展,现代芯片逐步向着采用双核、三核等多核模型的芯片发展,在手机等嵌入式系统中引入多核心的架构将可以全面增加处理器的功能。随着应用的增多,对于单核CPU而言,需要轮换着分配每个独立任务时间,任务之间的切换浪费了不少宝贵的CPU资源。使用多核CPU后,多个独立任务可以有不同的处理单元执行,较单核而言,效率、性能自然会有大幅度提高。 基于多核的硬件体系结构要求操作系统的架构在多处理单元的协调上,能够更灵活地完成多核间的计算分配和相互数据交换;而对于系统基础组件也更加灵活,以充分享受高带宽带来操作系统的灵活性与定制性。 项目组采用了带有多媒体MMX协处理器、无线通讯DSP与应用处理器的Intel嵌入式芯片,研发了面向多核SOC的子线程体系结构,将线程细分为子线程,各子线程运行在不同的核上,充分利用系统资源达到线程内的并发。 在处理特定的指令时都用到了不同的处理单元,当一个单元在运作时另一个单元处于空闲状态,如果能够同时使几个处理单元都处于工作状态,就可以极大的提升性能。
SMARTOS系统特点: l 自主知识产权 l 应用特制的嵌入式操作系统ASOS的模型 l 微内核理论发展到第三代“流水线内核”架构 l 兼容嵌入式Linux l 实时性强
l 高可用性研究
l 稳定高速的文件系统:片内Flash,片外Flash,SD,CF,微硬盘,软件支持U盘 l 自主专利的启动优化、电源管理、文件系统 l OS测试引擎,包括定性分析与定量分析
|