用户关于硬件,软件的体验

时间:2011-09-04


   现如今,电脑已成为人们生产、生活中不可或缺的工具。相信大家对于探讨什么是基础设备,以及软、硬件的发展趋势会如何影响设备开发者也很感兴趣。而本文在此将重点讨论软、硬件以及新兴科技的发展趋势,还有这些对于嵌入式设备的开发者又意味着什么。

  在过去的50年间,我们见证了计算技术的发展:从大型主机到互联的台式电脑再到智能连接设备。嵌入式硬件也经历了类似的发展过程:从简单的4比特、8比特、16比特的计算设备,到32比特的单核与多核芯片,再到为某些类别嵌入式设备而设计的64比特多核芯片。作为单核的延伸,多核这种发展趋势加入了互联性,因此一台设备可以成为分布式嵌入式系统的一部分,而不是像过去那样仅仅是一台独立的设备。编写一个运行在单核CPU上的单线程进程相当简单。然而,开发多线程的代码就要复杂得多。如果我们再进一步,想要开发多线程的代码,并在多核的机器上运行,而且每个内核的负载能保持平衡,那么开发者的工作就会更复杂。如果你觉得这样还不够,那就把你的设备变成分布式嵌入式系统的一部分吧,这样嵌入式开发者就会被忙得焦头烂额。

  早期的嵌入式系统设计方法,通常是采用“硬件优先”原则。即在只粗略估计软件任务需求的情况下,首先进行硬件设计与实现。然后,在此硬件平台之上,再进行软件设计。因而很难达到充分利用硬件软件资源,取得性能的效果。同时,一旦在测试时发现问题,需要对设计进行修改时,整个设计流程将重新进行,对成本和设计周期的影响很大。这种传统的设计方法只能改善硬件/软件各自的性能,在有限的设计空间不可能对系统做出较好的性能综合优化,在很大程度上依赖于设计者的经验和反复实验。90 年代以来随着电子系统功能的日益强大和微型化,系统设计所涉及的问题越来越多,难度也越来越大。同时硬件和软件也不再是截然分开的两个概念,而是紧密结合、相互影响的。因而出现了软硬件协同(codesign)设计方法,即使用统一的方法和工具对软,协同设计软硬件体系结构,以限度地挖掘系统软硬件能力,避免由于独立设计软硬件体系结构而带来的种种弊病,得到高性能低代价的优化设计方案。

  软件领域的发展趋势与此类似。过去,大部分软件都是用汇编语言编写的。但这么做却非常耗时,如果打印在折叠纸上的话,大约是每行6个字符,每页共132列。这样就让其他人很难看懂代码,也不容易调试或解码。从汇编语言到更的语言,比如C/C++,极大地提高了开发者的效率,而且源代码也因此更容易看懂了!编程效率的提高,不但是因为更的编程语言,也因为有了关联的执行时间函数库。举个例子,在开发一款Windows应用程序时,使用Windows基础库(Windows Foundations Classes)要比使用原始的Win32编程语言简单得多。今天,编程语言并不局限于C#,框架也不局限于Microsoft .NET Framework,而是在继续发展。这些框架促进了应用程序的迅猛发展,并且通过提供一系列的辅助库,大大减轻了开发者的负担。这样,开发者们就可以关注于如何写代码才能使自己的应用程序,而不是大量原始的、基础要素帮助运行应用程序。

  新兴科技的发展趋势将围绕多核处理,处处是屏幕,自然的用户界面及多种多样的数字化内容展开。还有一个发展趋势是注重用户体验(请注意,我说的并不是用户界面)。这个领域已经有了许多佼佼者,尤其是Windows Embedded Compact 7 CTP与Silverlight的加入,增强与提高了用户的交互和体验。用户体验包含了大量用户输入与输出的方式。如果我们让时光倒流30年,主要的用户体验就是命令提示符与键盘。时光倒流20年的话,那时的图形用户界面就是键盘与鼠标。而今天,用户们可以根据设备的类型与使用场景,体验到更加身临其境的用户体验与输入-输出方式。尽管某些设备使用的是2D图像、键盘与鼠标,另外一些设备可能使用语音来输入输出;还有些设备也许会使用3D硬件加速图像与触控、手势和多点触控。

  本文的重点就是,开发者们需要选用合适的编程语言与框架来建立他们的设备体验。这一过程包括许多事情,有处理多核或分布式系统编程,与基于云的服务的交互,以及建立身临其境的用户体验。

                           微软公司Windows Embedded事业部软件架构师

附:Mike Hall简历
    Mike Hall是微软公司Windows Embedded事业部软件架构师,负责 Windows Embedded Compact和 Windows Embedded Standard的有关工作。
    Mike拥有30多年代的行业工作经验,在微软公司工作了15年以上,初任职于开发者支持 (Developer Support) 部,主要从事 C/C++、MFC、COM 和设备驱动程序开发,以及 Win32、MASM 和 Windows CE 操作系统的开发。在出任目前的软件架构师一职之前,他还担任过Embedded Devices Group的系统工程师。


  
上一篇:基于整合模式的EMS/SAS监控系统研究
下一篇:RS232通信网络与CAN总线通信网络互联研究

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料