账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
嵌入式Linux系统转移关键探讨 (上)
 

【作者: Dan Noal、Tim Fahey】2006年06月02日 星期五

浏览人次:【6691】

对于Linux转移此一主题感兴趣的工程师,或许正考虑或已决定要转移其设备、产品线或整个开发团队至Linux系统。根据近期的业界调查数据,例如由Venture Development Corporation(VDC)所发布的嵌入式软件策略市场情报(The Embedded Software Strategic Market Intelligence Program)显示,Linux转移所涉及的困难或问题并构成阻碍企业采纳Linux系统的关键因素。


基于商业和技术上的多方面考虑,愈来愈多的设备软件市场开始采用Linux。而开放原始码所带来典型的益处则被视为选择使用Linux于设备软件项目的驱动要素,这些益处包括:


  • (1)免权利金;


  • (2)原始码的取得容易;


  • (3)可从多种商业及非商业来源取得软件;


  • (4)高质量的口碑;


  • (5)大量的开发人力资源;


  • (6)广泛的通讯或整合能力;


  • (7)针对处理器的需要取得支持。



在以上列举的优势中,免权利金一项最常被视为决策的关键。免权利金所节省的成本,可让Linux用户总成本(Total Cost of Ownership;TCO)低于其他操作系统。


选择商用软件包

Linux最大的效益之一就是无所不在:在任何地方都可以找到由任何人所发行的Linux。所以当选择了Linux之后,下一步便得决定究竟是要自行组合套件,或购买商用软件包。而采用Linux系统并特别重视总成本的决策者,往往会选择商用软件包。


Linux用户经常会有的疑问是:我在从事何种事业?我在开发操作系统还是应用程序?如果我不是操作系统商,那么当我可以从商业版供货商取得一个预先整合、预先测试的开放原始码操作系统时,为什么还要浪费宝贵的研发资金在取得原始码、组合、测试与发展操作系统上?


此外,这些用户还会感到困惑:可以利用这些研发资金做其他的运用吗?是否可以建立具机动性的新功能,使得在解决客户问题上做得比竞争者更好更快?这是不是为客户提供解决方案的更佳途径?而为了解决以上这些问题,Linux用户正积极朝着采用商用软件包的方向迈进。


另一个驱使决策者采用商用软件包原因则是上市时程。Linux用户了解若要自行推出Linux版本,需要投入庞大的资源和时间。但若选择一个预先组合且经过验证的商用软件包,便能减缓上市时程的压力,并将有助于加速产品的上市。



《图一 为何转移到商用Linux商用软件包?》
《图一 为何转移到商用Linux商用软件包?》

一般而言,商用软件包供应者所提供的支持或顾问服务,有助于缩短企业内部和产品上市所需的技术差距。相对于开放原始码社群的支持,高时效性的厂商支持更能够缩短上市时程,并提升客户满意度。这种种的因素都促使用户倾向于采纳商用软件包。此外,还可藉此链接供货商的合作伙伴系统,尤其是当所选择的硬件缺乏开放原始码支持时,这项优势即可能成为决定成败的关键。这问题再次导向另一项抉择:究竟是要将资源耗费在操作系统与硬件的链接,或投注于应用程序代码的开发上?


由于商业和技术等现实因素,促使开放原始码社群向商业领域寻求协助以便实现Linux所应具备的效益。而选择了软件的来源,等同于选择了开发工具或开发工具包的来源。当然,开放原始码和商用来源二者在这方面也各有所长。


当使用的开发工具完全来自于开放原始码社群时,所拥有之原始码也能以任何方式运用此工具,因此可掌握最高的控制层级。此外,也可以任意选择其他兼容工具,为设计增加所需的功能。开放原始码意谓着不需签署任何软件或软件支持合约。对某些用户而言,不需管理与另一家厂商的合约,也免除了一项繁琐的行政工作。


开放原始码工具的经常成本(nominal cost)通常较低,这是因为并无直接的金钱交易。(不过必须注意的是,如果选择自行开发操作系统,则在决定自行开发工具之前,就必须先充分了解将付出的机会成本。)由于开发工具免费且广泛流通,因此能够更快速地开始项目设计。相对而言,其他开发者则必须整合分散的开发工具,因此会影响项目的开始和完成时间。


在商用领域方面,部份商用工具供货商可提供整合式的开发工具包。商用产品在出货前都会进行商用级的质量确认,大多数开放原始码的用户也都肯定开放原始社群所提供的质量保证。值得一提的是,整体工具套件的质量保证比任何一个工具的质量保证更为重要,然而如果选择开放原始码的话,将需要自行进行这方面的确认。


有些商用开发工具厂商供应的开发工具包,已经预先整合了符合特定行业的开发工具需求。藉由商用套件的帮助,可以免除繁重的工具整合程序,因此开发人员能够更专注于应用软件的开发。若客户有额外的功能需求,例如增加第三方的plug-ins时,则仍需进行整合。商用工具厂商还能提供额外的功能,例如内存分析器或晶载除错器(on-chip debugger)等,而这些并无法从免费的开放原始码社群中取得。此外,商用解决方案提供支持和专业服务,可协助用户克服在开发过程中所遭遇的困难。


转移项目问题

当选择了操作系统、操作系统的来源及开发工具包之后,一切都已经就绪。但是在开始前,还必须进行一些准备工作才能让项目的执行更成功,并确保后续工作能更加得心应手。


第一步需建立评量的基础,以做为往后转移成功与否的评估依据。有几项因素必须评估:为何要进行这项改变?是否设定目标以定义Linux或商用级Linux的成功转移?是否建立了评量决策效率的方法?如果选择商用软件包的目的是降低总体拥有成本(TCO),那么如何知道是不是做到了?有那些因素必须进行评量,有那些不列入评量?


换个角度思考,便是如何以量化的角度证明所做的决策是正确的?测量的方法又为何?


首先,必须谨记有关投资报酬率(ROI)、TCO或任何将用来评量成败风险的依据,其成效可能因评量方式而有不同的结果。一般关于降低TCO的评量因素包括无须负担权力金、相对较便宜的程序代码维护,以及人力成本的节省等。而策略上的效益则属于比较概念性的评量,意即当选择了Linux及商用软件包时,便可藉由下游产品或投资而建立竞争差异性的机会,或开启为公司创造真正利益的大门,若作了不同的决定,则无法创造获益。但如果现在不建立评量的基础,将永远无法得知真正的效益。


此外,用户也必须透彻审视所做的假设,如果在这个阶段出错,将影响达到目标TCO的能力。同时必须辨识风险,并且建立一个有效的风险转移计划。风险一旦被忽视,将会变得更加麻烦,若风险不加以处理,则无可避免的将会增加TCO。


客观评估、比较团队能力及项目需求,然后决定需要何种协助。用户或许需要一些特定的项目技术协助,例如测试与验证、科技教育或整体项目管理等。因此可以选择将整个项目委外给外部的服务提供商,让团队能继续专注于应用软件的开发。


最后,必须仔细地检视此转移项目计划。虽然有点老生常谈,但数据却经常被忽略。根据VDC针对延误嵌入式软件项目的成员所做的调查研究显示,超过40%的受访者认为造成项目延误的主要因素就是他们所称的「不切实际的时程」。


当实际检视项目的延误状况,就会发现事情比想象的严重。VDC报告指出,超过三分之一的嵌入式项目计划时程遭到延误,而另外的10%则干脆直接取消其项目。尽管因素不一,不过从许多个案中可看出,若从一开始即妥善处理转移,往往可以预防并阻止这些事件发生。但究竟该如何避免成为这些统计数字的一部份?采用Linux转移措施将是最好的方式。


Linux转移是项挑战。如同一般的操作系统转移,此系统转换不一定都能顺利进行、准时完成且符合预算。尽管Linux一开始便是以企业操作系统做为发展目标,且许多具备Linux专业知识的程序设计人员也来自于企业界,但如果程序代码未能妥善设计并针对嵌入式设备的限制进行调整,则可能让Linux转移项目出现风险。因此在Linux转移计划中,可遵循能让任务式(task-based)解决方案成功的软件开发原则。


重大的课题

大多数设备操作系统解决方案的架构和Linux有相当大的差异。用户可以选择最接近嵌入式操作系统的Linux软件架构以简化转移的过程,但从以下几点理由可看出,这并非适当的架构:


  • (1)Linux的系统呼叫(system calls)与现今嵌入式平台所使用的应用程序代码及中间件不同。因此用户设备中的操作系统也许无法了解Linux发展的程序概念;


  • (2)既有的设备操作系统和Linux二者间的I/O架构可能有差异性;


  • (3)内部程序或内部处理器之间的通讯也许差异性颇大。在Linux内程序和线程(thread)的排程,也可能和用户现有的应用程序经验截然不同。



所以,当开始转移的程序时,必须了解要用于评量成果的关键指针。转移的关键效能尺度(需由用户计划和定义)是最优先的要件,必须从一开始就设定这些效能尺度,并向下实行至软件架构层级。因为无论是延误执行效能调整,或者定义效能尺度的时间点,从需求发展(requirements development)阶段拖延至最终系统整合测试的优化阶段,都将会导致在判定问题时的麻烦与困难。


质量测试是转移的重大课题。在转移设备上建立同等的功能性和质量,是一种风险性的赌注。Linux的功能性、效能和强韧度,都需要比RTOS版本的设备高上许多,因为投资转移计划所要求的报酬并非只是成本上的改善。


转移到Linux设备操作系统的另一个重大影响,就是对于软件开发环境所带来的冲击。这可能代表组织中的重大变化,而且如同其他重大的改变,它必须有效地被管理、组织和沟通。事实上,这对应用也将产生显著的影响。


此外,关于如何处理软件需求和设计、组态管理、整合测试、除错、错误追踪及软件开发环境等方面也都可能产生变化。Linux环境可为程序设计人员带来很大的改善机会,但同时也会伴随着一些风险。目前已有很多不同的Linux软件开发方法。工程师现在可以建立自己的工具链、除错器、测试公用程序、IDE架构和测试scripts程序等。尽管这种由Linux所提供的自由性可能会导致混乱,并成为开发管理者的头痛问题,不过,有经验的开发管理者将能够在自由创造与混乱间取得平衡。


为了让Linux的转移达到最简化与最正面的效应,必需确实了解重要的科技尺度以评量转移成效。从项目一开始即定义驱动因素和设定评量尺度,并于软件架构各阶层的转移过程维持成效追踪。


规划

了解Linux转移的技术问题是非常重要的,而项目领导人也必须定义项目阶段、进入和离开的门坎、以及每一阶段的成功尺度,才能带领团队朝项目目标前进。



《图二 转移方法》
《图二 转移方法》

(图二)显示在部份项目发展上所采用的方法,称之为设备软件优化方法学(Device Software Optimization Methodology)。此图显示一个软件项目必须遵循的步骤。除了严谨和规律之外,也必须为程序建立文件、遵照文件执行、并且与团队成员充分沟通整个程序。任何软件项目都是遵循这些熟悉的程序步骤。其次,必须审视每一个步骤,包括针对特定Linux转移项目所建立的最佳方法。


(本文作者Dan Noal为Wind River Systems美商温瑞尔资深总监;Tim Fahey为资深经理)


(本文下期将介绍Linux转移的方法学,以及如何运用此方法学达到最佳Linux转移,为设计带来最大的益处,敬请期待)


相关网站

Wind River美商温瑞尔网站

Sun Microsystems太阳计算机网站

Novell网站

市场动态

Novell网站一年前,IBM公司的主席和首席执行官萨姆-帕米萨诺信誓旦旦地表示要在2005年底以前向Linux桌面转移,而现在,IBM开始对开源软件问题的看法变得柔和了许多。IBM公司的发言人南西-卡普兰称:我们想法这是很明确的,有人在使用Linux,没有人能告诉他们要停下来。相关介绍请见「」一文。

IBM向Linux桌面转移语调有所缓和虽然目前实施的电子政务项目中以Windows 平台的居多,但是公司还是做了很多技术储备以应对将来用户可能向Linux平台转移,而且 这种储备可能会被证明是明智的。 就“预装联盟”本身而言,微软也无法做到100%的控制。你可在「」一文中得到进一步的介绍。

中国电子政务平台向Linux转移在「近日,IBM公司宣布,OS/2所有产品的销售将于今年12月23日停止,而多任务操作系统也将于2006年12月31日前停止销售,并开始向Linux系统转移。」一文为你做了相关的评析。

相关文章
多功能嵌入式系统新未来:从Android到Raspberry Pi 3
让Windows和Linux一起跳桑巴舞
Debian的系统设计哲学
Linux 开发者的最爱 - Debian
Utility Computing在卖什么药?
comments powered by Disqus
相关讨论
  相关新闻
» 美光针对用户端和资料中心等市场 推出232层QLC NAND
» 摩尔斯微电子在台湾设立新办公室 为进军亚太写下新里程碑
» 爱德万测试与东丽签订Micro LED显示屏制造战略夥伴关系
» 格斯科技携手生态系夥伴产学合作 推出油电转纯电示范车
» Arm:因应AI永无止尽的能源需求 推动AI资料中心工作负载


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84SA785VYSTACUKO
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw