引言: 相信国内的开发者朋友都已经在前天通过某网站泄露出来的安装包,拿到了WP8SDK, 下午开始,陆续在weibo上放出消息,后来干脆直接把下载地址及文件提取密码公布出来….搞的微软很是头疼(内情不提)… so ,不管如何,Windows Phone 8 的SDK确实已经出来了,而且,伴随着一起公布的还有API文档, 相信对开发者绝对有帮助,那么,到底WP8新增了哪些特性?对安装部署有何种要求?原来在WP7.5上被人诟病的功能是否现身?本系列将为您揭晓,敬请关注!
一、WinNT内核与Hyper-V之间的关系? WP8未发布前就有消息说微软会采用与WIN8相同的内核技术,随着整个硬件产业的极大发展,多核心处理器频繁出现在Android等开源操作系统厂商的设备列表中,而微软在WM、WP7方向推出的设备还是基于WINCE6.0的内核版本,面对日益加剧的竞争,采用更加先进的内核来处理事务,成为微软必须要做的一件事,WP8所要求的开发环境对于目前广大的开发者是个考验: 必须基于W8 x64位系统, CPU必须支持SLAT(二级地址转换技术)特性, 必须开启DEP功能,
究竟是什么原因导致了这么高的开发支出? 微软云战略的Windows Azure大家都非常熟悉, 支持Azure的大部分操作系统所采用的内核就是WinNT,其中,WinNT的一个特殊分支,即是:Windows Azure, 支持Windows Azure系统所采用的技术,便是Hyper-V虚拟化,那么,Hyper-V设计的目的是什么呢? 为广泛的用户提供更为熟悉以及成本效益更高的虚拟化基础设施软件,这样可以降低运作成本、提高硬件利用率、优化基础设施并提高服务器的可用性。
其中,对硬件性能及效率的支持,Hyper-V可以说是做的非常不错,为什么? 由于Hyper-V底层的Hypervisor代码量很小,不包含任何第三方的驱动,非常精简,所以安全性更高。Hyper-V采用基于VMbus的高速内存总线架构,来自虚机的硬件请求(显卡、鼠标、磁盘、网络),可以直接经过VSC,通过VMbus总线发送到根分区的VSP,VSP调用对应的设备驱动,直接访问硬件,中间不需要Hypervisor的帮助。
那么,对Hyper-V的硬件要求是什么呢? Hyper-V 需要一个 64 位处理器,包括以下要求: - 硬件协助的虚拟化。包括虚拟化选项(具体来说是 Intel 虚拟化技术 (Intel VT) 或 AMD 虚拟化 (AMD-V) 技术)的处理器提供此功能。
- 硬件强制实施的数据执行保护 (DEP) 必须可用且已启用。具体地说就是,你必须启用 Intel XD 位(执行禁用位)或 AMD NX 位(无执行位)。
至此,从WP8 SDK安装文档中看到安装要求,从这里找到了答案, PS:(有玩过WP8原型机的同学应该对WP8系统的流畅性优于WP7,是否找到了答案???) 二、什么是SLAT? 为什么会需要SLAT?Hyper-V 3.0与SLAT之间的关系? SLAT:二级地址转换技术(Second Level Address Translation)在Intel和AMD处理器中均有所支持,但名称有所不同,Intel叫做EPT(Extended Page Tables),在Nehalem架构中开始支持;AMD叫做RVI(Rapid Virtualization Indexing),在第三代Opteron处理器Barcelona中才开始支持。Hyper-V使用SLAT帮助执行更多内存管理功能,并且减少在客户机物理机地址和实体机物理地址之间转换的系统开销,减少了运行虚拟机时,Hypervisor的CPU和虚拟机的内存占用问题。因此,WP8SDK安装要求中,对CPU有一定的要求,支持SLAT技术的CPU才能正常启动WP8模拟器,但,我们如何判断自己电脑的CPU支持WP8模拟器呢? 方法一:
在 Windows 中一直以来都内置有两个用于查看系统信息的程序,分别为命令行版的 systeminfo 和图形界面的 msinfo32(系统信息),在 Windows 8 中,他们终于可以查看当前系统对 Hyper-V 功能的支持情况, 注意事项:需要在未安装 Hyper-V 的情况下进行查看:
cmd下:systeminfo 运行msinfo3: 方法二:
使用微软出品的 CPU 检测工具
如果无法确认 CPU 型号,那么可以利用微软 Windows Sysinternals 出品的 Coreinfo 来进行检测。Coreinfo 工具使用起来非常简单,能够检测到 CPU 所支持的技术和特性,其中当然就包含了 SLAT 的检测。 以管理员方式(Windows 8 ->Win+X 快捷键), 下载下来以后,把这个小工具放在D盘根目录下,打开管理员命令行:运行CMD ,定位到该EXE所在目录 输入:coreinfo.exe –v 确认后,你将看到: 注意: * 号表示支持、- 号表示不支持, 我的环境其实已经开启了EPT功能,。
至于你信不信,WP8 SDK 真的来了,WP8设备还会远吗?及早加入到WP的开发队伍中来吧!
以上内容难免因知识掌握不足,有所遗漏,欢迎批评指正!
|