嵌入式操作系统SMARTOS介绍
发布时间:2008/9/2 0:00:00 访问次数:930
smartos是由浙江大学嵌入式中心研制的嵌入式操作系统,是陈天洲领导下的嵌入式操作系统研发团队,完全自主研发的嵌入式操作系统。在面向嵌入式系统设计中,smartos具有较多的技术创新,多个组件在普天、西湖数源、intel、网新、信雅达等公司得到推广应用。
嵌入式操作系统smartos及相关组件,在2005年1月15日正式推出了smartos 1.0版,并在2005年6月15日开源。smartos 1.0已经通过了上海市计算机软件评测重点实验室的功能评测(2005年1月)与性能评测(2005年4月)。2005年10月发布2.0版本,是一个可支持下一代soc与多核芯片的实时多任务嵌入式操作系统。
smartos主要的创新:
(1)分组硬实时调度算法
嵌入式系统的任务有以下特点:任务数目少,任务使用的资源固定,各个任务的实时要求固定。通用的操作系统处理的任务随机性比较大,而在特定的嵌入式环境中,任务是可枚举可预测的。可以针对这个特性对调度进行优化以达到实时性的要求。
分组硬实时调度器,首先统计各个可预测任务的特点,将每个特点称为这个进程的一个维。如:任务需要使用的寄存器数量就是一个维。由于调度算法过度使用枚举,使得算法过于复杂,资源消耗太大,调度器对任务进行了分组,将维空间相近的任务聚类为组,并且将一定数量维上相似的组组合为组群。聚类的方法可以用欧几里得距离,在组空间计算进程间距离、组间距离,以部分维数,计算组群间距离。
调度算法抽象为如下:
1. 计算两个任务的各个维有无冲突。
2. 对于一个有不同组群组成的系统,在任务切换时选取于当前进程所在组群距离最小并且相吸的组群中的进程,可以保证调度的最优化。
(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。
(4)片内操作系统
项目组研究了在soc内集成微内核的操作系统,将嵌入式操作系统分为片内操作系统(os on chip)和片外操作系统。
我们利用片内flash、rom等存储器,固化一个微内核的操作系统,我们称之为片内操作系统。片内操作系统封装了所有soc内的系统资源,包括计算、存储、通讯等能力。
这种体系架构巧妙应用了soc高速/低功耗的优点,由片内os来管理cpu和内存,完成进程同步,调度和内存管理。该片内系统对用户来说是透明的,外围操作系统通过片内系统提供的接口进行进程调度同步和内存管理。而外围操作系统则完成包括外设驱动,文件系统等其他功能。
(5)面向多核soc的子线程体系结构
随着深亚微米技术的发展,现代芯片逐步向着采用双核、三核等多核模型的芯片发展,在手机等嵌入式系统中引入多核心的架构将可以全面增加处理器的功能。随着应用的增多,对于单核cpu而言,需要轮换着分配每个独立任务时间,任务之间
smartos是由浙江大学嵌入式中心研制的嵌入式操作系统,是陈天洲领导下的嵌入式操作系统研发团队,完全自主研发的嵌入式操作系统。在面向嵌入式系统设计中,smartos具有较多的技术创新,多个组件在普天、西湖数源、intel、网新、信雅达等公司得到推广应用。
嵌入式操作系统smartos及相关组件,在2005年1月15日正式推出了smartos 1.0版,并在2005年6月15日开源。smartos 1.0已经通过了上海市计算机软件评测重点实验室的功能评测(2005年1月)与性能评测(2005年4月)。2005年10月发布2.0版本,是一个可支持下一代soc与多核芯片的实时多任务嵌入式操作系统。
smartos主要的创新:
(1)分组硬实时调度算法
嵌入式系统的任务有以下特点:任务数目少,任务使用的资源固定,各个任务的实时要求固定。通用的操作系统处理的任务随机性比较大,而在特定的嵌入式环境中,任务是可枚举可预测的。可以针对这个特性对调度进行优化以达到实时性的要求。
分组硬实时调度器,首先统计各个可预测任务的特点,将每个特点称为这个进程的一个维。如:任务需要使用的寄存器数量就是一个维。由于调度算法过度使用枚举,使得算法过于复杂,资源消耗太大,调度器对任务进行了分组,将维空间相近的任务聚类为组,并且将一定数量维上相似的组组合为组群。聚类的方法可以用欧几里得距离,在组空间计算进程间距离、组间距离,以部分维数,计算组群间距离。
调度算法抽象为如下:
1. 计算两个任务的各个维有无冲突。
2. 对于一个有不同组群组成的系统,在任务切换时选取于当前进程所在组群距离最小并且相吸的组群中的进程,可以保证调度的最优化。
(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。
(4)片内操作系统
项目组研究了在soc内集成微内核的操作系统,将嵌入式操作系统分为片内操作系统(os on chip)和片外操作系统。
我们利用片内flash、rom等存储器,固化一个微内核的操作系统,我们称之为片内操作系统。片内操作系统封装了所有soc内的系统资源,包括计算、存储、通讯等能力。
这种体系架构巧妙应用了soc高速/低功耗的优点,由片内os来管理cpu和内存,完成进程同步,调度和内存管理。该片内系统对用户来说是透明的,外围操作系统通过片内系统提供的接口进行进程调度同步和内存管理。而外围操作系统则完成包括外设驱动,文件系统等其他功能。
(5)面向多核soc的子线程体系结构
随着深亚微米技术的发展,现代芯片逐步向着采用双核、三核等多核模型的芯片发展,在手机等嵌入式系统中引入多核心的架构将可以全面增加处理器的功能。随着应用的增多,对于单核cpu而言,需要轮换着分配每个独立任务时间,任务之间
上一篇:单片机CF卡接口设计