2002年以前,Montavista 的Linux 产品名称叫HardHat Linux(这个名字也最早在开源社区和大学里面流传), HardHat名字的由来也许是需要区别于市场的名气已经非常大的redhat, 表示Montavista的Linux 是一个实时和嵌入式的Linux的原因吧。因为创建初期正值网络经济的热潮,Montavista最初的商业模式和其他的开源软件一样,是一个免费的软件,但服务和升级需要收费。 2002年以后从Montavista Linux 2.0开始就改为Linux行业里面广泛采用的订阅模式,即付费获得产品,在订阅期内得到支持,升级和补丁。
Montavista Linux 的三个版本
Montavista Linux 目前有三个版本, professional edition -称为专业版本(简称pro),主要是针对各种通用的嵌入式应用,它也是Montavista Linux的核心产品,其他的版本也是由这个版本发展出来的, carried grade edition(简称CGE),也称为电信Linux版本,此版本是在专业版本的基础上增加了加固内核,事故处理,动态加载等高可能性的特点,符合OSDL电信Linux规范(也称为 CGL规范,来自www.osdl.org-这个机构最近和Linux基金会合并),CGE支持先进的ATCA计算平台等先进的硬件技术。Mobilinux是Montavista 重要的旗舰成品之一,2003年Montavista在专业版本上开发了一个称为消费电子(consumer electronic edition-简称CEE) 的版本,CEE由于Motorola基于Linux操作系统的智能手机而闻名海外,2005年底CEE再作重新开发并变名为Mobilinux专门针对手机市场,比较起以前的版本,Moblinux 增加了可以大大降低手持设备能源消耗的动态电源管理,Linux系统快速启动,尺寸优化技术和各种测量和分析工具。
在过去的6年里面 Montavista Linux 有两个重要的发展阶段,第一,内核的进化,4.0 版本以前Montavista Linux 一直是使用2.4版本的开源内核,如3.1版本是使用的2.4.20, 4.0版本之后,Montavista Linux 使用了目前流行的2.6版本的内核技术。第二,工具的进化,Hard Hat Linux的工具时传统Linux命令行,3.0版本以后Montavista Linux增加了集成的开发环境(IDE),使用的时KDE,3.1版本之后升级成Eclipse,这是一个目前功能最完善的集成开发环境。
Montavista Linux实时性
Montavista 一直坚持在开放和兼容社区内核发展的前提下,发展和开发Linux的实时性技术,并把它应用在Montavista Linux产品里面,比如Montavista Linux 2.1版本已经实现了Preemptible kernel 和Realtime scheduler,从而根本改变了传统Linux无论有那个进程和线程占有多少时间不能抢占和按照优先级调度的历史,3.1版本的时候,Montavista把当时还正在开发中的2.6内核当中的0(1)调度器和高分辨率定时器移植(backpor)到2.4内核的Montavista Linux 3.1三个版本中,让使用Linux进行嵌入式软件开发的用户最早的使用到最先进的Linux实时性技术,同时为今后升级到2.6内核作好了完全兼容的准备,2005年Montavista在开发2.6内核的4.0版本的初期,在开源社区创建了一个实时 Linux项目,通过和社区协作开发Montavista 在4.0 产品里实现了Linux 2.6内核的RT-Path技术。Montavista的技术专家是来自传统的嵌入式领域,对实时技术和要求非常了解,Montavista坚信基于开源 Linux的实时性是可以满足嵌入式系统的实时性需求,过去的实践也不断的证明了这一点。
Montavista Linux professional 5.0
Montavista Linux professional 5.0(简称pro 5.0)是5.0家族的第一个产品,2007年2月开始由Beta版本,4月陆续发布一部分嵌入式处理器参考平台的支持版本,pro 5.0的发表标志着包含最新的Linux技术的新一代嵌入式软件平台的到来,pro 5.0是在目前4.0的基础上融合了先进Linux内核,应用和工具技术开发而成的。下面从四个方面分析一下;
在5.0版本里,Montavista大大改进了尺寸优化技术,使用了先进的 Linux Tiny 和可以支持NPTL,ARM EABI 的uClibc,配合ARM Thumb mode 使用uClibC后的应用尺寸可以减少近50%,这还只是应用部分,如果考虑到文件系统的优化,那就有可能到70-80%,简单来讲,一个标准的 Linux 有大约14M,经过5.0版本(或者使用Mobilinux 4.1-它已经包含uClibc)完全优化后可以到3M 左右。