lzg_ad: WES7 技术概览

作者:雷志刚

转自:http://lzg-ad.blog.sohu.com/156237991.html


   WES7(Windows Embedded Standard 7)是微软在2010年5月13日发布的基于X86平台,Windows 7组件化的嵌入式操作系统。WES7除了具有Windows 7最新的功能外,还具有适用于嵌入式设备的使嵌入式功能,例如EWF,FBWF,Dialog Filter,DISM,Register Filter等等。本文将揭开WES7最新的技术特性和神秘面纱,让我们了解基于Windows 7的更加简单,更加强大的新一代微软嵌入式操作系统。

    从本文开始,后面我会陆续介绍关于WES7的开发方法和开发技巧。大家会发现,WES7与原来的XPE\WES2009相比,开发工具变得更加简单,更加智能,同时,基于设备的嵌入式特性也更多了。

 

嵌入式设备定义:

什么是“嵌入式应用”(Embedded Application)?
“嵌入应用”指一般不向消费者(Consumer)提供的下述特定行业或特定任务的软件程序和/或功能:

  1. 提供嵌入系统的首要功能;
  2. 专门用于满足嵌入系统销售所面向的特定行业的功能要求;且在许可产品软件以外提供重要功能。

什么是“嵌入式系统”(Embedded System)?“嵌入式系统”指
    (i) 基于许可产品(Licensed Products),
    (ii)使用不超过两个中央处理器(CPU)、
    (iii) 专供与嵌入式应用共同使用、
    (iv) 并非作为通用个人计算机设备销售而且
    (v) 不可作为个人计算机或多功能服务器等通用计算机设备的商业可行的替代品使用的计算机系统或计算机设备。

 

Windows Embedded产品家族

    Windows平台作为微软桌面操作系统平台,已经为大家所熟知。在PC市场上,Windows操作系统占有95%以上的市场份额,从Windows NT开始,到后来的Windows 2000, Windows XP, Vista及最新的Windows 7 操作系统,Windows平台在PC上的体验已经深入人心。

    微软除了PC平台上的Windows的操作系统之外,还有一条非常重要的产品线,就是Windows Embedded,这类操作系统是微软专门针对嵌入式设备,消费类电子,工业自动化控制设备及其他手持设备来定制的一类操作系统平台。Windows Embedded将微软在桌面平台上的用户体验平滑的移植到了设备上,除了提供桌面操作系统平台95%的功能外,还兼容微软所有的服务器技术,数据库技术及开发技术。最值得一提的是Windows Embedded还具有很多的嵌入式特性,使我们的设备更加高效,更加稳定,维护量更低。下面让我们先来简单的了解一下Windows Embedded 产品家族。

嵌入式服务器平台:

Windows Storage Server;
Windows Server 2003;
Home Server
ISA Server, etc.

带嵌入限制的传统操作系统:
MS DOS;
Windows NT;
Windows 2000 Pro;
Windows XP Pro
Windows Vista
Windows 7

可定制开发的嵌入式操作系统:

Windows Embedded CE (Core, Pro and Pro+)
Windows XP Embedded (SP1, SP2, FP 2007)
Windows Embedded Standard 2009 (Windows XP SP3的嵌入式组件化版本)
Windows Embedded Standard 7 (Windows 7的嵌入式组件化版本)

针对专有设备的嵌入式操作系统:

PosReady 2009 (基于XPE内核的针对自动售货机,POS机等零售设备定制的嵌入式操作系统)
Windows Automotive(基于Windows CE内核的针对车载电脑定制的嵌入式操作系统)
Windows Mobile(基于Windows CE内核的针对手机,掌上电脑,手持设备定制的嵌入式操作系统)

 

Windows Embedded产品家族新成员:

Windows 7 for Embedded system (传统的Windows 7操作系统,带有嵌入式产品授权和限制)

Windows Embedded Standard 7 (Windows 7 的组件化版本)

Windows Server 2008 R2 for Embedded System (传统的Windows server操作系统,带有嵌入式产品授权和限制)

 

WES 7 技术概览

1.利用量身定做的基于Windows的操作系统构建设备
a. 以组件和组件化的方式实现Windows 7的强大功能
b. 提供专为嵌入式使用情形的功能 (Embedded Enabling Features)
c. 支持多种语言的本地化

2. Win32应用程序的的完美兼容,同时支持基于.NET\MFC\ATL 等开发框架开发的各类应用程序

3. 与企业级的服务器和工具相集成,与微软的数据库,云计算体系及各类应用技术无缝连接

4. 除了支持32位硬件和驱动程序,还支持64位的硬件平台及驱动程序 (x86 and x64)

5. 适用于各类嵌入式设备,主要有:信息台, 瘦客户机, 零售终端设备, 车载电脑, 游戏机, 医疗设备,DVR, 无头设备,机顶盒等

6. 增强的新功能:Boot time, SuperFetch, BitLocker and BitLocker to Go, AppLocker, Biometric Framework,Reduced idle power consumption, Timer Coalescing API,Windows Touch, Windows Aero, 64 Bit, Windows Presentation Foundation, Windows Sensor and Location platform

7. 最新的Windows技术:Internet Explorer 8, Windows Media Player 12, RDP 7, .NET 3.5, PowerShell V2

8. WES7 和 WES2009的对比 

 

WES 2009

WES 7

Windows技术

Windows 7 的子集

Windows 7

映像构建模式与工具

映像在开发人员的机器上被配置与集成

映像被部署到目标设备

若要添加功能,需要重新构建和部署映像

利用组件数据库

全新的开发工具,具备最新的技术

评估和原形开发体验

映像可以在目标设备或开发人员机器上配置

映像在目标设备上被集成

功能可以在映像部署后再添加,无须重建

利用文件结构的Distribution share

处理器和硬件支持

32-bit (x86)

最小128M存储设备, 256 M RAM

32-bit (x86), 64-bit (x64)

最小1G存储设备, 512M RAM

系统构建模块

系统组件约1000个

驱动约 9000个

系统功能包约100个

驱动约1000个

嵌入式核 (Embedded Core)

本地化

系统映像,开发文档

系统映像,开发文档,开发工具

部署工具

PXE Boot, Remote Installation

WinPE 1.0

CD/DVD Boot, USB Boot

Remote boot

Windows Deployment Services

WinPE 3.1 or latest

CD/DVD, USB Boot

Remote boot

嵌入式功能

EWF, FBWF, HORM, Registry filter

USB boot, CD/DVD boot

定制shell支持

DUA

Write Filter与Standard 2009相匹配

增强了定制shell支持

DUA

VHD boot, SD Boot

服务

OEM服务

设备手工服务

OEM服务

设备手工服务

设备自动服务 (Windows Updates)

激活注册

不需要

不需要

9. WES 7 开发工具

a. Wizard Experience –  Image Builder Wizard (IBW)
将Windows Embedded Standard 7的映像交互式地直接装到目标设备,适用于快速的原形开发和产品评估

b. Advanced Experience – Image Configuration Editor (ICE)
高级的嵌入式开发情形,具有开发工具,类似于WES 2009中的目标设计器,但是因为组件是基于文件系统管理的,而不是使用SQL Server数据库,所以关联检查和生成镜像的速度都非常快。适用于OEM定制。

c. Deployment Image Servicing and Management (DISM)
将功能包安装于在线的或离线的Windows Embedded Standard 7 映像上。这是WES7构建的重大改变,以往我们使用XPE\WES2009的时候,如果我们已发布的设备中出现缺少组件的问题,我们则需要在目标设计器中添加该组件,然后重新生成和部署操作系统镜像到目标设备中。这对于已经批量发布的设备是非常致命的问题。现在在WES7中,有了DISM功能,我们可以直接在已发布的操作系统镜像中,通过光盘或者网络安装的方式,将未安装的组件添加到已发布的操作系统中。

10. WES7 镜像构建过程

在WES7中,构建一个操作系统镜像有两种方式:

a. 通过IBW的光盘直接在目标设备上进行安装,安装的过程中会自动识别目标设备的硬件信息,同时安装驱动程序,安装过程中也可以使用WES7预置的模板进行安装,也可以自己选取要安装的功能包。整个部署过程类似于Windows 7操作系统的安装过程,非常简单,稍微具备计算机知识的人员就能操作。

b. 通过ICE光盘在开发机上安装开发工具,安装完成后使用类似于目标设计器的ICE开发工具来进行操作系统镜像的开发。开发过程也类似于WES2009中的目标设计器,完成开发后会生成XML文件格式的系统配置文件,我们可以通过IBW光盘加载该配置文件完成WES7的最终部署,也可以通过ICE直接生成配置好的安装镜像,再通过该镜像完成WES7的最终部署。

以上两种开发方式我在后续的文章中会逐一描述。

 

WES7 新的嵌入式特性:

WES7除了具有XPE\WES2009所有的嵌入式功能外,还提供了很多新的嵌入式功能。

1. EWF\FBWF (写过滤器):

  • 构建可靠、可信的嵌入式操作系统
  • 保护目标磁盘避免写入操作
  • 允许在只读的媒体下启动
  • 帮助降低Flash存储介质的损耗
  • 在异常掉电的状态下保护磁盘和系统文件
  • 通过HORM来缩短系统启动时间
  • 有选择性的控制文件写入原始磁盘
  • 使文件交换的操作在内存中完成,有效的提高系统效率

    该功能不用多讲了,在我以往的文章中已经反复的描述了关于写过滤器的用法和原理。在WES7中,我需要强调一点的就是,WES7中的FBWF功能修正了XPE\WES2009中FBWF的的一个重要bug,就是WES7中的FBWF会随着覆盖层中的文件删除,自动的释放覆盖层空间。这对于内存的容量控制将起到至关重要的优化。举个例子,如果我们通过FBWF保护了C盘,那么当我们在C盘上拷贝一个100M的文件时,FBWF将在覆盖层中建立这个文件,换句话说,内存中将会损耗100M的空间用于存放这个文件。当我们再次拷入一个200M的文件,覆盖层中将会再次损耗200M的空间用于存放这个文件。这时,如果我们在C盘中删除这两个文件,那么意味着覆盖层中也将释放这两个文件,即内存的300M空间将被回收。但是在以往XPE\WES2009的设计中,覆盖层只是记录了删除这两个文件的动作,其实这两个文件并没有从覆盖层中删掉,所以内存的300M空间也不会被释放。这样将导致如果我们频繁的拷贝删除文件,覆盖层(内存)将很快被耗尽。现在在WES7中已经彻底解决这个问题,随着文件被删除,覆盖层(内存)也将被释放。所以,这是WES7中关于写过滤器最大的一个改进。下面这张图将描述写过滤器的工作原理:

2. Register Filter (注册表过滤器):

注册表过滤器和写过滤器的原理基本相同,区别在于注册表过滤器保护的是注册表中的某些键值不能被写入,这样可以有效地防止恶意的写入操作,从而保证系统的安全性和稳定性。下图描述了注册表过滤器的工作原理:

注册表过滤器的读写原理:

注册表过滤器的提交操作原理:

3. HORM (Hibernate Once Resume Many)

  • 结合EWF和Hibernate的休眠技术
  • 每次重启都从相同的hiberfil.sys文件引导
  • 显著的系统启动时间改进 (35s - 15s)
  • EWF RAM 或 RAM-REG 仅支持启动分区保护
  • 所有的分区必须均被EWF保护
  • 非保护分区或卷必须被卸载
  • 支持断电,关机,重启下的休眠启动

4. USB\CD 引导启动

  • 支持Windows从可移动磁盘启动( Removable USB Mass Storage devices)
  • 设计成基于写过滤器的启动(EWF & FBWF)
  • 不支持: paging, crash dumps, hibernate
  • 统一的HAL保证在所有的硬件平台上正常启动
  • 有效的降低 Flash 存储器的损耗

5. 自定义的Shell和启动界面

    在XPE\WES中,微软从授权上允许OEM更改操作系统的启动画面和商标,但是没有提供官方的修改方法。我在我的博客中提供了一些可以修改启动界面的办法。但是现在在WES7中,微软提供了官方的解决方案去修改启动画面和登录界面。通过修改启动界面和自定义外壳,我们可以构建出一个无品牌的启动界面,定制的登陆桌面面背景图像以及Shell Launcher。具体修改的方式我在后面的文章中将用一个专题来进行描述。下图是WES7中修改前和修改后的登录界面对比:

6. 消息框\对话框自动回复

    在WES 2009中,微软提供了消息框自动回复功能(Messagebox Auto Reply),该功能用于屏蔽所有Windows自动弹出的对话框,这样可以使设备在无人值守的情况下正常运行和显示。尤其适用于自动服务终端和数字看板平台。例如在机场的航班时刻表,如果有异常错误的对话框弹出的话,又无人去看守,设备就会一直呈现这个对话框,从而使用户体验变的非常糟糕。现在在WES7中,除了具有原来的消息框自动回复功能(Messagebox Auto Reply)外,还新增了对话框过滤器(Dialog Filter),该功能可以使我们设置需要屏蔽的系统对话框,屏蔽的依据是根据我们设置的条件来进行过滤的,符合设置条件的系统对话框将被屏蔽。而相关的提示信息会转记到系统日志中去。以下是对话框过滤器的界面截图:

7. DISM (Deployment Image Servicing and Management)

  • WES7 中以 包的方式整合系统功能
  • 每一个包都被Microsoft签名过,而且是可以被服务更新的
  • DISM 可以通过在线或者离线的方式更新系统功能包

    DISM是WES7中一个非常有用的新功能,以往我们使用XPE\WES2009的时候,如果我们已发布的设备中出现缺少组件的问题,我们则需要在目标设计器中添加该组件,然后重新生成和部署操作系统镜像到目标设备中。这对于已经批量发布的设备是非常致命的问题。现在在WES7中,有了DISM功能,我们可以直接在已发布的操作系统镜像中,通过光盘或者网络安装的方式,将未安装的组件添加到已发布的操作系统中。关于DISM的具体使用方法在后续的文章中将会详细介绍。

8. 系统引导

  • USB Boot – 支持USB 2.0启动
  • VHD Boot – 支持脱离父操作系统的直接引导,即通过重启直接进入虚拟硬盘上的操作系统
  • SD Boot - 支持Flash介质的存储器引导
  • Virtual PC 7 - 支持基于Virtual PC 7的引导启动

关于通过VHD的直接引导,在后面的文章中将提供详细的实现步骤。

9. Meida Center

    Meida Center整合了图片,视频,电视,网络,应用程序,音乐,网络视频等多媒体应用的媒体中心。该功能是WES7提供的新的特性,非常适用于机顶盒,互联网电视及IPTV等设备的构建。是WES7中的一个重要功能。如果大家有兴趣的话,并且你的机器又安装Windows 7操作系统,那么赶紧点开开始菜单->Media Center去体验一下吧。 :)

10. Direct Computer

    如果说WES7在内存优化,启动速度和操作界面上都做了很大的改进,那么其实在图形图像处理上,WES7的改进更为明显。最主要的体现为,WES7支持了DirectX 11,新增了Direct Computer的功能。那么什么是Direct Computer呢?简单点来说Direct Computer就是微软将图形厂商的不同图形加速技术进行了抽象,提供了统一的编程接口来方便OEM或者开发人员开发图形加速程序。举个例子,nVidia的图形加速技术是Cuta, ATI的图形加速技术是FileStream,那么我们开发的应用程序如果针对这两个技术编程,移植性就会非常差。如果我们针对Cuta技术编程,那应用程序就不能用到ATI显卡的加速技术。我们总不能对不同的显卡厂商编制不同的程序吧。现在有了Direct Computer技术,我们就不用担心了,因为WES7已经帮我们做到了统一接口的工作。

 

相关参考资料:
产品介绍 http://www.microsoft.com/windowsembedded/en-us/products/westandard/futureversion.mspx
测试版(RC)下载 http://www.microsoft.com/windowsembedded/zh-cn/products/westandard/default.mspx
MSDN 嵌入式中文论坛 http://social.msdn.microsoft.com/Forums/en-US/category/embeddedwindows/
团队博客
        英文 http://blogs.msdn.com/embedded/
        中文 http://blogs.msdn.com/embeddedchina/default.aspx
参加网络广播 https://swrt.worktankseattle.com/webcast/2672/preview.aspx


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值