yurrr7 发表于 2017-7-29 16:06:24

WES7 技术实现与功能说明

本帖最后由 yurrr7 于 2017-7-29 16:27 编辑

WES7 技术实现与功能说明
实现效果与应用场景:
本文档有二个部分,前面讲是本人可以实现的效果,后面是书面讲WES7的特殊功能。
1、断电保护:
    A:在设备异常断电,或在众多设备的机房,管理员不会每次一台一台的关闭设备,直接断电,下次来时,又直接上电。如此往复,普通系统会进入修复状态,如没有人员参与,会停留时间超长
B:在设备没有接入显示器的状态,设备只有某个程序提供服务。无法知道设备状态,维护成本比较大
2、写保护
A:写保护是保证自己的状态不被改变,如我们的设备开机运行自己的程序,但不希望有客户操作设备,或说操作后,重启是可以回到我保护那个状态
B:可以有效的防止病毒的入侵,就算中毒,重启也是可以恢复如新

3、LOGO
   这个好理解,可以合理的使用自己想要的LOGO
4、键盘过滤器
   这个是可以禁止自己想要禁止的键盘,保证设备的唯一性
5、去掉所有WIN标识
   这个应用可以让客户感受不到,此设备是运行在什么环境之上
6、触摸支持
   这个用在触摸屏设备上
7、直接进入自己的程序
当按下电源后,系统直接显示LOGO,然后运行自己的程序。
8、在某些时候,不希望别人关掉自己的程序
   A:在报亭运行自己的程序,或在图书馆运行查询设备,包括游戏机。希望自己的程序永久在前台运行,就算是强制关闭也是无效的
   B:希望可以联动关机,如瘦客户机运行VM软件,开机自动登陆远端系统,工作完后,直接断开可“关机”,本地设备也跟着关机。
   C:希望别人关闭程序时,设备重启。也是可以实现此功能,不希望用户有关闭动作




###############################################################################################3

嵌入式设备定义:
什么是“嵌入式应用”(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已经帮我们做到了统一接口的工作。









yurrr7 发表于 2017-7-29 16:29:00

效果展示:

http://pan.baidu.com/s/1skWw4jV

予众分享:

https://yurrr.taobao.com/

frfeng 发表于 2017-11-14 21:29:00

支持一下。
页: [1]
查看完整版本: WES7 技术实现与功能说明