【惊艳逼人 微软longhorn深度分析】

来源:百度文库 编辑:神马文学网 时间:2024/04/25 16:04:53
惊艳逼人:Windows Longhorn 深度分析
类型:原创 作者:中关村在线 新人类 日期:2005-06-21 10:57:52
微软计划在今年秋季推出Windows Longhorn Beta1 版本,明年上旬发布Beta2 版本,在明年10月份的时候,正式发布最终版本。
对于Windows Longhorn 的一再延迟发布,消费者们对微软已经失去了信心,为此微软不得不忍痛缩水,以致于曾有媒体戏称“长角牛”该改为“短角牛”会让微软大发雷霆。预计正式版本Windows Longhorn 和预期的技术、功能相比,有较大缩水,但是目前已经确定的Internet Explorer 7.0、WGF1.0、WGF2.0、Windows  Media Player 11 等有重大改进软件的同时发布,仍然为它增色不少。当然除此之外,还有可大大增加操作系统视觉感受和娱乐性的3D 界面,也许这才是我们追求的终极享受。
那么实现这些华丽终极界面的奥秘在哪里呢?

一、Windows Longhorn
Windows Longhorn 将于2006年正式发布,它在操作系统史上的地位和革新,无异于Windows 2000之于Windows 98 ,是核心的重写。对于微软的操作系统,也许大家都深有体会,Windows XP 和Windows 2000 使用了相同的内核和驱动程序,由于发布时间仅相差一年,我们也不能指望其除使用图形界面外还有某些本质的区别。而Windows Longhorn 则不可同日而语了,在核心、内存和资源管理架构上都有彻底改变。不过Windows Longhorn 为了支持兼容的应用程序,它配备了两种驱动程序模式,一是XP/2000 的驱动,一是Longhron特有 的下一代驱动。新驱动直接把驱动程序与操作系统内核、API进行了整合,官方命名为LDM ,也就是 Longhorn Driver Model 的缩写。LDM 有一个非常重要而有趣的模块--LDDM(是Longhorn Display Driver Model 的缩写 ),它负责管理所有的图形功能。微软引以自豪的全新图形特性便是构建在LDDM 驱动程序基础之上,而旧模式的驱动程序就只能够提供基本的图形硬件支持,比如Windows XP 。

二、神秘的幕后杀手:LDM
大家一定都有留意关于Windows Longhorn  的一切介绍,所以我们或许都知道它将有两种图形模式:基本模式和高级模式。基本模式是为了能够提供对当前硬件的兼容支持,无需要硬件设备提供额外的功能,在该种驱动模式下,操作系统只能提供尽可能少的新API和新驱动模式,一切以性能和可用性为最优先。高级模式则需要硬件的支持才可以使用,它拥有全新的资源管理、虚拟内存、图形界面,新硬件必须是专门为LDM 规范进行优化才可以工作,并且要使用LDM规范的数据组织。在此情况下,内核和Longhorn 驱动的新功能就能够以最优先的速度,最有效率、可靠地执行。
Windows Longhorn 的这些特性为它设置了进入的门槛,因此即使在操作系统发布一段时候后,大部分使用者也只能运行在XP 兼容模式或者基本的LDM 模式,而市场上大规模出现支持Longhorn 的硬件也需要一定时间。当然,支持高级LDM 设备的逐渐增加也是历史的潮流,而首当其冲的将是显示卡,因为它对于新操作系统的作用尤其重要。新的显示卡和驱动将可显著减少系统的延迟(主要是3D硬件加速),提升内存和资源管理的效率,这些都是自动完成的,无需应用程序或者编程人员的任何资源。
新的驱动模式和LDDM 提供了以下几个重要的革新:
状态的透明化。每个应用程序都有独立的显示模块和图形通道,它们之间并不互相干扰
资源和管理的透明化(分配内存、定位加速器等), 进程清晰明了。在分配新资源的时候会出现一个问题,就是虚拟内存不足,因此在高级模式,内存的分配将比较严谨,因此保证了系统的稳定性,因为看菜吃饭,有多少资源就分配多少。而在基本模式,所有资源和都是可分配和可用的,但根据使用的频率,资源会被分配在主内存或者虚拟内存当中。
执行的透明化。应用程序能够同步、争使用硬件加速,并且不会相互干扰。系统为执行的命令流分配时间。
命令的透明化。参数和命令在执行前首先被确认,例如OpenGL ,这样可以显著增加应用程序的稳定性。高级驱动模式允许该调用完全在硬件水平被执行,而不需装载进CPU 。
API 调用的开支可显著减少,通过驱动和硬件改变加速器的参数和设置。对于开发者来说,这个功能尤其重要,因为它可显著提升游戏的性能和提供更多的特效。
支持热插拔显示卡
这些诱人的功能都需要通过新的驱动模块和Longhorn 操作系统的新显示核心完成,前景一片光明。接着让我们来看一下Longhorn 的图形API 。
三、Longhorn 的图形API

图形应用程序在框架图的最顶层,下面的是不同API 寻址,让我们从左到右给大家解析一下:
WGF 2.0 是一个全新的3D API ,专门为Longhorn 和未来的操作系统而设计,旨在取代DirectX 9 和它的修正版(D3D10) 。在图形管线的处理上,它提供了截然不同的方法,因此对性能和3D硬件加速能力的提升也是划时代的。新的管线需要新驱动,旧的驱动不能够提供WGF 2.0 需要的功能。
为了满足兼容性的需求,D3D9和其它旧的3D APIs 被保留,它们是为了满足旧驱动和现有Windows 2000/XP 应用程序的良好运行。D3D9 对应目前已发布最新的DirectX 9.0C 规范,其它更旧的APIs ,包括D3D5、6、7等都只能翻译到D3D9 调用。它们一律使用旧的 管线。
DX VA - DirectX Video Acceleration ,视频流硬件加速的新系统和API 。它主要用于HD-DVD 级别的视频进行高性能硬件加速,此外它还可以防止数据在CPU或者GPU在解码时候被修改或者窃听。被保护的数据,在通过常规总线传输的时候,会首先被加密,然后通过显示卡的硬件进行解密。此外,它还提供了认证系统来检查驱动,然后对驱动进行加速。
WGF 1.0 也是一个新的API,它是在D3D9 显示规范的基础上作了少许修改而来(参考了D3D9.L ,因此可称为D3D9+)。从程序员的角度来说,该API 在很多方面和调用都和D3D9 存在区别,比如使用了更方便的资源管理,而图形pipeline 却依旧保持了高效率和提供多种功能。也许可以这样说,WGF 与D3D9相比让程序员更容易地开发应用程序,另外它也尝试尽可能多地利用LDDM的优点,比如运行速度更快等。
DWM/Avalon ,是在WGF 1.0 基础上的超级架构,确切来说是一图形窗口API 和一新DWM(Desktop Window Manager)的组合,它的管理方法和渲染方式和之前我们常见的有比较大不同。现在,比如Unix(X-windows ),每个应用程序都有它自己的图形空间、虚拟窗口,这些都有它们自己的语法、声明和与其它应用程序虚拟窗口独立。而DWM 则直接对应这些独立的窗口,包括移动、排列、覆盖等。更复杂的任务,比如3D窗口管理,则通过建立调度表的形式,不会造成任何问题。此外它还提供了多显示的特性。
OpenGL ,这个没有改变。有两个选项,一是显示卡制造商的ICD 驱动;一是处理XPDM或者LDM 显示卡的D3D 驱动。不过第二个选项的速度是很慢的,仅是提供了兼容的工作模式,不适合游戏。
现在让我们来看一下从应用程序到硬件的调用,其中主要的改变是显示卡的驱动,现在已经分为了两个部分。第一部分是(ginger-colored 单元,标记为用户模式)在用户水平执行,考虑到冲突或者不稳定,系统并不认真对待。它的目标是提供硬件的所有基本功能,例如检查参数,用汇编设置进行编译和优化,转换形式为硬件的内部类型。
四、新图形Pipeline 和WGF 2.0
加速器功能的细节规范。No CAPS ,所有加速器都必须支持每个功能规范。并且所有API 功能都是标准和强制性的。
所有shader 类型都使用通用的软件:Vertex、Pixel和其它。新的Shader 模式,更加灵活、更少限制。
GPU 与CPU 高度独立,完全自检查参数和执行渲染队列,自动建立、分配和卸载资源。
图形Pipeline 的新舞台 -导出中间结果用于将来的处理和几何shader 。
新HDR、普通、用户数据结构的数据格式 。
新的压缩算法,和ATI的3Dc 比较类似 。
整数纹理寻址 。

WGF 2.0 的流程图
Windows Longhorn 的新WGF 2.0 shader(也许可以称呼为SM 4.0) 与之前的版本相比,可以称为革命而不仅是进化,它带来85%的Pipeline 利用效率提升。既然软件出来了,硬件怎么办?根据微软的计划,2006年正式推出正式版本的操作系统,而ATI、nVIDIA也将在下一代产品中基本支持WGF 2.0 ,比如NV6X和R520  。 目前的NV 3X 和Shader 3.0 级别显示卡,恐难执行WGF 2.0 ,而考虑到应用程序的开发进程,到2007年底发布的NV7X 才可全面展示WGF 2.0 的全部功能,这是由操作系统的长生命周期和Longhorn 的先进特性决定的。

五、全新特性,下一代操作系统
Windows Longhorn 在今年夏天将正式发布测试版本,但根据MSDN上的数据和目前的泄露版,我们可以知道一些东西,这里对它作出一些总结。
1、Windows Longhorn 的设计完全以用户为中心,操作界面基于任务。此界面的开发代码为Aero,是基于被称之为Avalon的、.NET的新API基础上完成。
2,Windows Longhorn的开始菜单和任务栏将用一个新的Sidebar组件所代替,该Sidebar基于XML,可以链接到本地资源,也可以链接 到远程资源。 这点和目前Office System 的边栏资源类似。
3,Windows Longhorn将要求计算机安装具有3D效果的视频硬件,以使屏幕更栩栩如生。 但是显示模块同时提供了兼容的模式,预计分为三种规格:WGF 2.0 ,最华丽的效果,需要未来的显示卡支持;WGF 1.0 需目前市场上主流的DirectX 9.0C 显示卡;其它模拟WGF 1.0 模式。
4,Windows Longhorn 具有更加严谨的安全机制,可选择地采用微软和Intel,AMD共同开发的Palladium安全技术。
5,Windows Longhorn将包含许多反病毒(AV)的API,它将会帮助开发人员更容易地把他们的软件继承进基本的操作系统中。
6,Windows Longhorn将包含集成的可刻录DVD功能,它可以识别任何一种可刻录DVD格式。
7,Windows Longhorn将包含一种更高级的错误报告工具Error Reporting Tool (ERT),它允许用户向微软报告Bug,并且可以自动修复这些Bug 。

9,Windows Longhorn采用一种新的安装机制,将会在20分钟之内安装Windows Longhorn。
10,Windows Longhorn的编程机制将发生很大的变化,将统一Web和Windows编程模型,同时提供连线和离线的用户体验。在生成Longhorn的技术中,微软已经完全转移到基于.NET的可管理代码环境。Longhorn生成器最终将明确与以前的Win32 API进行分离,也就是说,Win32将会处于维护的状态,所有的开发都是以可管理的.NET API展开的。一个被成为Avalon的API形成Desktop Compositing Engine (DCE)(桌面创作引擎)的基本元素,DCE将替代以前的GDI和GDI+。另外一个被成为Aero的API,为新的用户界面提供API。这些全新的所有 API将采用XML应用程序标记语言,XML Application markup language (XAML),对开发人员提供比以前方便的多的访问能力。这种思想极大地减少了API的数量,并且使API更加标准化。目前,已经有超过76000个Wi n32 API和无数的包装。在Longhorn里,微软希望把这些API减少到8000到10000个。另外一个重要的变化涉及到硬件驱动,在过去,微软允许消费者使用非签名(non-signed)的驱动程序以实现兼容性的需求,但这样经常导致稳定性的问题。在Longhorn中,用户只能使用经过签名的驱动程序了。

11,就无缝互联而言,Longhorn为下一代软件和硬件架构提供了榜样。例如,Longhorn将会提供对移动电话的支持,能够在电脑和移动电话之间进行数据传输和同步,并能在一个类似资源管理器的界面中浏览移动电话中的数据或者使用移动电话的功能。Longhorn的这个特性与目前Windows系统对数码相机的支持较类似。微软表示,Windows XP对网络和硬件的支持并不出色,不过在Longhorn中将得到改进。微软呼吁硬件制造商对其Windows Connect Now技术、Qware以及供设备使用的Web服务提供支持。除此之外,Longhorn会像Windows管理USB或者PCI硬件一样对局域网内部具有IP地址的设备进行管理,将IP当成另外一种总线。这样做的好处是:打印机的安装过程不需要用户参预而会自动完成,就如同现在的USB闪存盘一样,只要插入相关接口就可直接使用。
12,Longhorn是将支持高清视频以及直接媒体访问功能。直接媒体访问功能可以让安装有Longhorn的PC在不开主机的状态下播放音乐或者视频。
开发人员比较关心的是Visual Studio .NET "Whidbey"的发布,Whidbey是Windows Longhorn的IDE编程环境,目前处于Beta版的状态。Whidbey包括XAML的可视化设计器。微软将在今年10月23号洛杉矶的PDC大会上,向开发人员提供第一个Longhorn Software Developer Kit (SDK)的公开发布版本。Longhorn Software Developer Kit将包含开发人员可访问的UI组件和行为。
六、Windows Longhorn 的历史使命

Windows系统的真正辉煌始于Windows95,出众的易用性让它在短时间内占据PC操作系统的绝对统治地位,发布之日购买者彻夜排队,盛况空前。此后的Windows 98进一步巩固了微软的优势,但和Windows 95相比,Windows 98系统并没有多少根本的变动,只是对一些新技术提供支持,并且整合高版本的浏览器等等。Windows 98最著名的还是它的“蓝屏错误”—要让它崩溃简直不费吹灰之力,所有的用户都对此深恶痛绝!幸好,微软后来推出的Windows 2000改用NT内核,稳定性大大提升,改变了Windows给人稳定性差的不佳印象。不过,Windows 2000仍然沿用过去的操作界面,和同时代的Mac OS X相比显得丑陋不堪,这一点饱受Mac迷的耻笑。在2001年11月,微软推出了Windows XP系统,在继承Windows 2000基础上有了大量的改进:引入的Luna操作界面让Windows第一次让人感觉华丽漂亮,对许多新产品、新技术也及时提供支持,但总的来说,Windows XP与Windows 2000一脉相承,除了界面存在较大的差异,其他方面的差别很小。从Windows 2000到Windows XP,微软仅仅花了1年多的时间,从这里我们也可以看出二者不可能有本质不同。
从Windows XP 到Windows Longhorn ,消费者却足足等上了5年,其中技术的进步和后者的变化可想而知,Windows Longhron 代表的是未来十年内操作系统的地位。对于微软的产品而言,作为一款具有划时代意义的操作系统,Longhorn将呈现全新特性和感受。在2003年盖茨宣布Longhorn开发计划的时候,它主要有三大支柱,即WinFS、Indigo和Avalon。可是计划跟不上变化,由于种种原因,WinFS已经被取消,计划在Longhorn发布之后推出;而Indigo和Avalon不但将在Longhorn中出现,还会以插件的形式支持Windows Server和Windows XP。尽管Longhorn系统原先计划的很多功能被取消了,但是无可置疑的是它仍然是一个重要的操作系统,并是首款主流的64位操作系统,带动整个IT产业界都发生翻天覆地的变化。
此外一些新概念的电脑也开始与Longhorn 划上了等号。比如对触摸屏的支持,可制造更加先进的Windows Longhorn Tablet Edition平板电脑。Longhorn对辅助显示器的支持,能让用户在不启动Windows的情况下(对于笔记本电脑而言,甚至可以不用揭开上盖)查看和应用计算机中存放的数据,例如查看日历、通讯录和播放音乐、视频文件等等。
看完这些,也许大家对于32位Longhorn和64位Longhorn 获得较好运行效果所需的硬件“指导配置”非常感兴趣。根据目前测试版本的应用情况而言,512MB内存、目前“主流”配置的Pentium级处理器以及支持LDDM(Longhorn显示驱动模式)的显卡,即可基本运行Windows Longhorn ,不过我们也应该明白,要想真正发挥Windows Longhorn 的特性,此配置仅是基本而已。大家可对比Windows XP 的推荐硬件和实际运行效果。不过在此,微软也有计划,如果用户的个人计算机打上了“Designed For Windows XP”标记或者符合相应的硬件要求,那么它运行Longhorn时问题也不会太大(微软将对其下一代Windows标志进行调整,计划将授权标志分为金色和银色两种:贴有金色标记的PC必须能够使用Longhorn的高级功能;银色标记代表能够在保证良好性能的前提下运行Longhorn的基本功能。)。32位版本和64位版本对硬件要求的区别也无外乎内存和显卡。
总的来说,Longhorn是微软下一代技术和平台的软件开发代号,这一代软件将包括Windows,Windows Server,.NET和Microsoft Office软件的新版本。Windows "Longhorn"是下一代主要的Windows桌面操作系统,它很象Windiws XP,但包括了许多新的特性,如:基于任务(或者智能)的用户界面,可扩展、可停靠的开始面板。Windows Longhorn也将和Windows XP一样,将会发布Home版,Professional版,Tablet PC版,MEdia Center版,64位版和其它版本,但这些版本名字如何确定还没有最终明确。
_xyz