Windows xp嵌入系统整合进了当前(嵌入系统)能够利用的新功能,例如,灵活的系统引导、储存选项以及设计相当完善的工具箱,这个工具箱也称为Windows Embedded Studio,利用这个工具箱,可以进行快速的开发或者配置丰富的应用程序。
Windows xp嵌入系统是基于32bit体系并使用了完善的内存保护模式,大大增强了运行的可靠性。下面分别予以介绍。
一、高度的可靠性
1. 文件保护:Windows xp嵌入系统所设计的文件保护机制,主要是在安装应用程序的时候,避免覆盖掉系统的核心文件。并设计有相关的恢复机制,万一出现有用文件被覆盖的问题,可以利用这个恢复机制,将覆盖掉的文件复原为正确的版本。
2. 设备驱动程序回滚(Device driver rollback):
在安装新版本的设备驱动程序之后,如果发现工作不正常,可以利用这种“回滚”功能,退回到老的版本中去(当然你必须保证老的驱动程序是没有问题的)。这可能会降低一些性能,但绝对要比废掉这个设备强的多。
3. 设备保护机制:
保护设备机制的原理是利用一个数据库,里面列出了在Windows xp嵌入系统下工作有缺陷的设备列表,利用这个列表来核对你准备加入到目前系统中设备,看是否正好是“黑名单”中的哪些有缺陷的设备,如果是的话,可以给出消息提示,并指引你连接到对应的WEB页面获得更多的相关信息。
4. Windows Update:
一看这个功能的名字,我想就不用再多说什么了。
二、高性能的平台
1. 抢先的多任务体系:
这个体系结构可以让用户同时执行多个应用程序,增强系统快速响应的同时保证稳定性。并且增强了内存管理,确保从磁盘预读取的内容到达正确的内存页面之中。这种技术虽然在桌面计算机中已经不算什么新奇的东西,但在系统资源有限的嵌入式系统中实现它,却也难能可贵。这样,你就可以在执行网络搜索操作的同时,还可以进行文档的拼写检查――当然,这仅仅是一个微不足道的例子。
2. 快速的引导过程:
这主要体现在以下几个方面:
A、 系统能从待机状态或者休眠状态中快速恢复到全速运行状态。
B、 改进了引导的“装载”机制,缩短了设备响应时间和注册表初值的设置时间。
C、 同步的磁盘I/O和设备的初始化,系统利用“预取指令”技术,加速引导,缩短引导时间。
D、 Windows xp嵌入系统的OS可以连续地“观测”系统引导过程中需要使用的数据,然后根据特定规则来优化数据在硬盘上的存放位置,因此而实现加速引导的目的。
3. 资源管理:
比之以前的版本,资源管理的改进包括:
A、 预先维护功能:可以在用户的空闲时间内,激活某些系统维护功能,例如根据系统优化原则来重新分配某些文件在硬盘上的存放位置,或者,利用空闲时间来填写系统恢复文件的内容。更有效地利用系统资源,并提高了整个时间的利用率。
B、 系统恢复:这主要指硬件资源如何合理利用,核心技术仍然是利用设备驱动程序回滚(Device driver rollback):一旦新版本的设备驱动程序不正常,可以退回到老的版本中去,最大限度地保护用户的前期投资。
C、 自动进行硬件性能调节。
D、 内存管理:Windows XP Embedded,可以根据用户的应用程序模式,恰当分配所需要的物理内存和虚拟内存。
E、 改进了注册表使用机制,这种改进主要体现在对于注册表缓存的规划使用上,可以使Windows XP Embedded将某些公用的查询结果,放置到缓存空间中去。
4. 高度的文件安全功能:
A、 能支持多用户的文件加密系统:所采用的是随机产生的密钥,然后加密每个文件,无论加密过程或解密过程,对于用户来说,都是透明的,并允许多个经过授权的用户来访问加密文档。
B、 Internet 安全协议:支持利用VPN(虚拟私人网络)模式传输加密的数据资料,即在发送端事先对要传送的数据加密,通过VPN传送到对方并进行解密。这种将模式很像通过隧道传送的情形(隧道内传送的东西不能被外部看见),所以有的场合干脆称为“隧道传送”。
C、 Smart card支持:由于各种各样的卡,渐次走入我们的生活和工作中,所以在Windows XP Embedded的OS中,也整合进了对Smart card支持,包括利用Smart card的注册机终端服务器的登录功能。
D、 Kerberos 验证协议,利用Kerberos许可验证协议,可以提供工业标准的信任证明功能。
E、 Internet 连接防火墙:
利用客户端的防火墙,可以放置来自公用网络上的入侵和攻击。
F、 Microsoft 护照: 这个功能,可让消费者很容易地建立一个特定的登录名字以及密码,然后利用在用户联机之后利用登录名字和密码验证用户身份,之后才可以享受“护照”准许的Web访问和相关服务。Microsoft公司允许自由软件开发者将Microsoft护照功能内建在自己开发的应用程序中。值得注意的是,由于很多人怀疑这个功能可能会导致个人隐私和敏感信息的泄漏,所以,尽管是新功能,但相关的争议和疑虑却一直挥之不去。
G、 软件限制策略: 软件限制策略提供一种策略机制,可以识别将要运行的程序,并核对该程序是否位于可执行的范围之内,这可以拒绝执行某些不适合运行在嵌入环境下的程序,或者是不需要的程序。软件限制策略的主要用途是防止运行不正确的设备驱动程序。
H、 证书服务:可以通过网络,支持多种级别的证书服务和利用数字签名功能进行授权。
I、 证书管理:这种特征主要是将用户相关信息存放到一个安全的地方,供用户再次访问该处时,一旦输入用户名称和密码,就可以自动提供后续的信息。其实,这种功能我们在桌面计算机上早已用过,但对于嵌入式的系统,可能还是新东西。
5、对用户访问的安全支持
应当事先说明:此处所涉及的访问,并不单指网络访问,而是包括对整个计算机软硬件资源的访问。这涉及很多与安全相关的设置:例如,用户访问许可、应用程序以及系统资源等,主要的支持包括下面诸种项目:
A、 访问控制列表ACL(Access Control Lists):这种功能需要首先建立一个资源,例如文件夹或者文件共享等,然后可以将其设置为下面两种情形之一:接受默认的访问控制列表设置或者定制一个访问控制列表设置。
B、 组策略:这和桌面机使用的组策略概念是一样的,无需赘述。
C、 组安全:这实际是为了安全而将用户分组管理的机制,例如通常我们将用户分为:一般用户、超级用户、系统管理员等不同级别,这也是继承了桌面机的技术。
D、 安全配置管理:这实际是利用了一个设置工具来管理系统的安全问题,例如:如何在大到团体单位、或一个域,小到该机器中设置安全管理策略?这就需要使用安全配置工具来解决问题。
二、广泛的支持特征
Windows XP Embedded系统对于设备的支持特征包含的类别很杂,总的和桌面计算机基本类似,所以,下面的介绍中约定:如果仅仅列出名称,其功能可以参考桌面计算机的相关部分;如有不同将会特别指出。
据微软公布的数字,Windows XP Embedded系统支持的特性总计超过万种,在此处详尽介绍既无可能,也无必要。这里仅能粗略介绍之:
1. 对硬件的支持,包括了下面的扩充:
支持USB接口
IEEE 1394: 这是一种正在兴起、有可能成为标准的消费类视频设备适配器接口。
AGP:支持AGP接口的显示卡。
支持即插即用
UDF 2.01:这是新的DVD标准的媒体格式, 包括DVD-ROM 、 DVD 视频,以及在 CD/CD-RW 上的格式。
2. 系统某些功能的改进:
具备最新的多媒体和Web浏览器,利用这些功能可以体验丰富的Web浏览和多媒体功能:
包括:
. Internet Explorer 6: 浏览器。
. Windows Media? Player 8: 媒体播放器。
. Digital rights management (DRM) 8:
媒体数字权限管理。由于买来的CD盘上,无论音频或视频节目,都具有版权保护功能,即使合法用户,要将这些节目拷贝到硬盘上欣赏,也需要取得许可,数字权限管理就是用来解决这一功能的。
. DirectX 8:包括:Direct3D、 DirectDraw、 DirectPlay。
. 广播驱动体系:为网络电视技术而定义的支持框架。包括对数字和模拟电视系统的支持。
. 最新的用户界面和显示技术。
. 多人共享同一台计算机时,可以快速的进行用户切换。
. 双重显示技术:可以利用单一的显示适配器来支持双重的界面显示,就像双画面的电视机那样。
. ClearType: 这是一种新的文本显示技术,可以在LCD显示屏上获得更好的显示效果。对于基本以LCD屏幕为主要显示载体的嵌入设备,尤为相宜。
. 更高级的电源管理:支持ACPI 2.0和APM
上面介绍的特征,很多在桌面计算机上也可以看到,以下的特征却是仅有嵌入式系统才具备的特征。这些是:
灵活的系统引导机制和储存选择:
a、 以前的win CE大都从读取ROM中的信息完成引导,但Windows XP Embedded系统可以使用磁盘引导或CD-ROM引导。
b、 储存的介质,可以用DiskOnChip Flash、 PCMCIA ATA, CompactFlash, MultiMediaCard, 可插入储存卡等。
c、 写入过滤:桌面计算机的写入操作只有写入磁盘一条途径,但嵌入式系统的写入操作需要考虑是向哪种储存设备写入的,例如,向磁盘的写入和向可插入储存卡的写入需要区别开来,这就是写入过滤功能。
d、 SDI工具:这是运行时进行图标管理的工具。
e、 设备更新代理(),这是一种windows 服务功能,当嵌入系统运行时提供给嵌入设备,可以在系统引导期间自动加入该服务功能。但就我所掌握的资料看,除了远程维护之外,更多的服务目前还不清楚究竟都有那些。
f、 看门狗&定时器:如果你涉猎过单片机方面的知识,这个东西以及功能你应当是熟悉的。通俗说,设置看门狗以及定时器的目的,是为了提高系统的可靠性,它可以使系统总是处于“可知”的状态。一旦看门狗&定时器开始运行,会使windows 软件不断向其发出“通知”,只要看门狗&定时器能不断收到“通知”,就表示当前应用程序的运行状态良好,一旦接受不到这种通知,就表示系统可能“死机”或是“跑飞”了!总之,是意味着失控了,这时,看门狗&定时器可以利用硬件机制重新启动系统,或是再次运行应用程序。所以,看门狗&定时器系统实际是软硬结合的产品,有许多第三方开发商提供这些产品,可以选用。
三、网络连接方面的支持
这些支持包括下面列出的项目:
IrDA:
802.11: 这是一种无线局域网技术使用的协议。
802.1X: 802.1X 可以对无线局域网和以太网提供安全可靠的访问,对于有线和无线网络都可以使用。
Universal Plug and Play (UPnP): 统一即插即用,这时一个新的协议,主要是用于消费类设备和网络之间的连接。该协议的底层仍然建立在TCP/IP 协议之上。简言之,就是将电冰箱、洗衣机、电视机,音响设备,空调等……,连接到Internet上的协议。其最大的优势是,虽然实现了由网络控制消费类设备的功能,但并不需要改动现有Internet的物理结构(例如增加布线等)。这样,你在下班的路上,就可以先打开家里的空调、厨房设备,等你到家,饭菜烧好,空调温度正合适!美吧?
PPP over Ethernet (PPPoE): 支持PPPoE
Extensible Authentication Protocol over Ethernet (EAPOE): 这项用于增强无线局域网的安全性能,允许服务器将其配置在以太网和无线局域网上。
Remote Desktop Protocol (RDP): 远程桌面协议。利用这个协议,可以实现远程桌面控制。只要是基于windows 系统的用户,无论LAN、WAN,也无论用拨号上网、ISDN, DSL, 或 VPN都可以用该协议工作。远程桌面协议的5.1版本,还包括更高的颜色支持模式、本地打印支持以及本地音频回放功能。
Network location awareness: 这是所谓的网络位置识别功能,可以探测网络系统的相关信息。
Enhanced peer-to-peer networking support: 增强的对等网支持。
Internet Connection Sharing (ICS): 支持Internet连接共享,即允许多个设备共享单一的Internet连接。
Wireless LAN support: 使用802.1x标准,支持无线局域网,上面已经有相关介绍。
IPv6: 支持最新的Ipv6协议。
即时通讯与协同作业方面的支持:
TAPI 3.1: 这个用来支持电话应用程序接口。
Microsoft Message Queuing (MSMQ) support: 这时消息队列支持,利用这一功能可以向Internet或者intranet(企业内部互联网络)发送消息到一个消息队列中,它种采用ULR格式作为消息的名字,例如 DIRECT=HTTP://sitename/msmq/queuename.
Outlook Express
Windows Messenger
NetMeeting
上面的三项就不必说了吧?
本地管理和远程管理:
这主要包含下面几个管理工具:
可以使用现有的管理工具:例如管理控制台工具(MMC)、系统管理服务器(SMS)等等。
客户活动目录:关于活动目录的介绍已经太多,你只要知道嵌入系统也可以支持活动目录就行了。
远程桌面与终端服务:这原也是桌面计算机具备的功能,在嵌入式系统中,也提供了使用远程管理服务的用户图形界面。
漫游用户的的轮廓文件:这主要用脱机文件夹来改进漫游用户的访问,并方便协同 改进工作。
四、高速的启动和程序设计
设计windows xp Embedded的程序,需要利用微软提供的Windows Studio tools,这是一套完整的设计环境,包括设计工具和数据库。如果你是独立的软件设计专家,一个人包打天下而不许别人染指,那么,请将设计工具和数据库都安装在单一的计算机上,然后就可以进行开发了;如果你是的软件开发是一个团队,那么,这套开发工具可以根据情况分别进行安装。一般说,每个团队的成员都必须安装完整的设计工具,但组件数据库可以安装在一个服务器上,并能为全体的开发成员所共享。要完整的介绍开发环境,所需笔墨甚多,这里仅介绍主要的几个部分:
1、目标分析器:Target Analyzer: 这个工具可以探测你的目标设备的硬件情况,分析其所含的内容及成分,以确保你的设计的“运行时间映像”适合你所选定的硬件。那么,什么是“运行时间映像”呢?我们知道,传统的程序设计,得出的最终的“产品”是可执行文件或连接库文件(扩展名是.EXE 或.DLL),所以,“运行时间映像” 可以理解为嵌入系统的可执行代码。
2、设计模板:这实际就是可视化设计中的各种控件,不过,在嵌入系统中,这些模板赋予的名称和功能与传统的可视化语言系统中有所不同。例如下面列出的是其中的一部分模板:
Advanced Set Top Box
Basic Set Top Box
Digital Set Top Box
Home Gateway
Information Appliance
Kiosk/Gaming Console
Network Attached Storage
Retail Point Of Sale Terminal
Windows-Based Terminal Professional
关于这些模板的详细信息,已经超出本文阐述范围,有兴趣者请参考专门的参考资料。
应当指出的是,微软的.NET战略现在是强手谋局,步步逼近,在其旗下的开发语言产品中都整合有嵌入系统的开发功能,例如,VB.NET中,就是这样。
与操作系统紧密联系的定制功能
目标设计器:上面我们介绍了目标分析器,这里我们再介绍一下目标设计器,即英文的Target Designer,这个工具能让你针对目标设备,建立可引导的“运行时间映像”,主要包括下面的功能:
高级组件浏览:这项功能可以用来支持树状结构的对象显示,具有定制过滤功能,使得你更容易地查找渴望的目标――像上面这些用术语堆砌起来的句子,听起来似乎很复杂,其实说穿了,指的就是一个类似于浏览窗口那样的的资源管理器界面。不过在这个窗口中显示的不是资源,而是组件罢了
支持拖放式文本编辑的界面,具备更容易的(对象)选择特征。
自动进行从属、依赖关系检查并提供检查(问题)列表。
高性能的构建过程。
最新的组件创建功能:
组件设计器(Component Designer):利用组件设计器可以建立、编辑、修改组件定义,将其保存在以.slf为扩展名的文件中。
eConvert 实用程序: eConvert是用来进行与.inf文件有关的转换的实用程序。
组件包(Component packages): 用于建立供组件更新所用的组件包。
可以使用原来熟悉的、强有力的开发工具:
利用 Visual Studio,就可以开发嵌入系统的应用程序,由于这是原来流行起来的所谓“主流”开发工具,其界面、控件、使用方法,都已经为大家所熟悉,所以,基本不用多少新的学习,就可以投入嵌入系统的开发。 这些包括有:Microsoft Visual Basic, Visual C++, Visual J++, 和 Visual FoxPro.
可以支持完整的Win32 API
结束语
嵌入式开发虽然已经走过很长的一段路程,但以往缺少普及程度高的平台,未能形成业界统一的标准。windows 系列嵌入系统出现后,其普及程度提高很快,有望成为业界的标准。随着嵌入系统的需求的增长,对相关开发工具的了解也日益迫切,愿本文能为对此感兴趣的朋友有所帮助,并欢迎指教。 的组策略支持。