选择Windows 7的酷理由–核心变化和改进(1/5)

早在今年八月初,Windows 7就已经RTM发布,而到后天,北京时间2009年10月23日,Windows 7将正式GA发布,届时品牌机厂商将开始销售预装Windows 7的电脑,而软件商店里也会开始销售零售版的Windows 7彩盒包装产品。

其实在开发阶段,这一操作系统就已经吸引了大家的关注,很多软件发烧友和技术爱好者很早以前就开始体验这一系统。不过对于普通用户,往往会更加“理智”,在升级操作系统之前,至少需要考虑一下为什么升级,通过升级可以获得什么好处。

从2009年初的Beta公测版开始,几乎绝大部分人在试用后都感觉,Windows 7具有非常不错的性能。系统的启动速度更快,开机后,十几秒后就能看到登录界面,而成功登录后,也不会面临硬盘灯长时间闪烁,加载后台程序和服务的问题,而是几乎立刻就能开始使用。另外在同时运行多个程序时,不同程序的启动速度更快,而且就算同时在多个大型程序之间切换,也不会感觉到延迟,更不会有Vista中迟钝的感觉。

其实有比较才有说服力,应个人电脑杂志相邀,我写了一个系列的文章,阐述了一些Windows 7中的好用功能。文章内容比较长,为了便于阅读,我将其拆分为五个部分,分别发布在我自己的博客上。另外《个人电脑》杂志的2009年10月刊也全文刊载了所有内容。

其实如果您关心IT技术,相比这些功能中的大部分您已经了解了。但还有更多人只是大致知道有这样一个新版本的Windows系统即将发布,对这个系统的优势和功能并不了解。因此在本文中,我们会根简要对比在Windows XP、Vista以及Windows 7这三个操作系统中如何实现特定的应用,通过对比大家会发现,Windows 7将老版本Windows所包含的功能进行了有效的增强,使得这些功能更实用也更强大,同时,Windows 7中还包含了大量老版本Windows中不具备的功能。

  1. 核心变化和改进
  2. 虚拟化支持
  3. 外观和易用性
  4. Internet Explorer 8
  5. 影音、照片、交流软件

核心变化和改进

首先要介绍的,就是Windows 7在操作系统底层所作的改进,其实这就像大楼的地基,只有大好坚实可靠的地基,才能以此为基础建造摩天大楼,如果地基不稳固,其他所有内容都是白费。在内核方面,Windows 7的主要改进包括新型硬件的支持、硬件驱动的改进、多线程应用的优化、以及对硬件设备提供了新的使用方法。本节将分别介绍这方面的改进。

新型硬件的支持

到底是软件的发展带动硬件,还是硬件的发展带动软件,谁也说不清。不过在Windows上,这一问题得到了非常直观的体现。XP时代的主流硬件水平,可以充分满足XP的各项要求;从Vista时代开始,对内存和显卡的要求提高(当然前提是业界在当时已经生产出了性能足够强大的硬件产品),带来的是更美观的界面,以及更方便的操作和功能;Windows 7时代,硬件性能进一步加强,而操作系统也更好地利用了这些新型的硬件。

其实这一点很好理解,作为操作系统,自然需要着眼于未来若干年内的发展趋势,让最新的技术可以尽快投入使用。现在的电脑硬件似乎在朝着两个极端的方向发展:高性能电脑可以运行最新最复杂的游戏,或者用最快的速度处理数据,而代价是体积庞大,能耗增加;另一方面,小型便携电脑已经可以让我们装到口袋里随身携带,但受限于体积和能耗,性能一般。为了适应硬件发展,Windows 7中也包含了大量改进。

l 为了配合高端硬件,Windows 7针对大部分高端运算环境进行了优化。Windows 7专门考虑了对多核心处理器,以及并发的磁盘读写的支持,因此在双核,甚至更多核处理器的电脑中,Windows 7可以更好地同时运行更多程序。另外因为优化了磁盘读写,就算同时有多个程序需要向硬盘的不同位置进行读写,系统也可以根据不同程序的优先级,决定最终的读写顺序。至于多媒体应用,则要感谢Windows 7中最新版本的DirectX 11以及WDDM(Windows显示驱动模型)1.1显卡驱动标准,不仅可以实现炫目的界面效果,而且资源占用更节省。

l 至于便携电脑,虽然Windows 7在高端硬件上可以获得不错的效果,但这也绝对不是说Windows 7就嫌贫爱富,无法在低配置电脑上运行。实际上Windows 7对硬件的要求并不高,因此哪怕是最低端的上网本,运行Windows 7也可以获得让人满意的性能,并能充分发挥出硬件的所有“剩余价值”。

图 1是最近在网络上流传的一张截图,有人在P II 266MHz处理器,96 MB内存的老古董电脑上成功安装并启动了Windows 7旗舰版系统。当然,这样的电脑也就只能运行Windows 7本身而已,几乎无法执行其他任何程序,但这也从一方面证明了Windows 7对硬件完全不像Vista那么挑剔。

01

1,老古董也能运行Windows 7

在这一点上,其实很多人已经有所体会了。例如,对于同一台双核或多核处理器电脑,在分别运行XP和Windows 7时,如果曾尝试过同时运行多个程序就会发现,在XP系统中,运行大量程序后,如果希望在不同程序的窗口之间切换,往往会感觉有些迟钝,而且整个系统会频繁陷入不响应状态长达数秒钟。但在Windows 7中,这种情况发生的几率就小了很多,就算同时运行多个大型应用程序,这些程序都可以获得流畅的响应,而且无论操作哪个程序,很少会出现迟钝的感觉。

图 2所示的是一台电脑在安装Windows 7旗舰版后,使用Windows体验指数功能进行评分的结果。这台电脑在同样配置下使用Vista时,虽然获得的分数与Windows 7相差不多,但实际使用中能够很明显感觉到,在同时运行多个程序后程序窗口之间的切换有些迟钝,而且有时候启动比较大型的程序,或者需要从程序中加载大量数据时,往往需要很长的时间。但在更换为Windows 7后,虽然分数相差并不多,但明显能感觉到,整体操作更流畅,程序和文件的加载速度也更快。

02

2,虽然集成显卡性能拖累了整个系统的后腿,不过实际使用中,除了大型3D游戏无法流畅运行外,其他应用都非常顺

这就是一个很好的例子,Windows XP发布时,当时主流硬件的特点,以及发展趋势就决定了Windows只能针对单核处理器,不超过2G内存,以及同时运行少量程序的典型使用环境进行设计和优化。而随着时间的发展,处理器的核心数量越来越多,性能越来越强,内存容量也大幅度增加,随后几年发布的Windows Vista才更适合高级的应用方式和环境。到现在,Windows 7发布后,双核心,甚至四核心处理器开始被越来越多的人接受,大内存、大硬盘的使用也更加普及,这一切更进一步成就了Windows 7的表现。

因此对于依然固守Windows XP阵营的用户,如果已经打算更换性能更加强大的电脑,建议尝试一下Windows 7,因为新的硬件,只有通过新的软件才能发挥出更大的优势,当然,新操作系统意味着操作和使用上会有一定的变化,但只要通过一段时间的适应就会发现,Windows 7中的改进都是很体贴的,相比老态龙钟的XP,能更进一步提升操作效率。

对于Windows Vista用户,则强烈建议升级为Windows 7。虽然很多人认为,Windows 7仅仅是Vista基础上进行的改良和优化,但这些手段获得了不错的效果,就算相同配置的硬件,运行Windows 7也会更加流畅和自如。更重要的是,相比Vista,Windows 7中的变化并不是非常大,因此不需要太多适应时间,很快就能充分领略到Windows 7的魅力。

硬件驱动的改进

硬件设备只有在安装了必要的驱动后,才能被操作系统识别和配置,并正常使用。就算市面上很多宣称“免驱动”的外设产品,那也仅仅是因为这些产品使用的是Windows内建的通用驱动,并不是说不用装驱动就能用,实际上这类产品虽然安装简单,但很少能提供什么特色功能。那么相比老版本Windows,Windows 7在硬件驱动方面又有哪些改进?

这里首先要简单说说Windows 7时代,硬件驱动方面一个必要重要的问题,那就是64位计算。为何今天64位计算变得越来越重要?其实早在Windows XP时代,客户端Windows就已经有64位版本(实际上64位XP是Windows Server 2003改头换面而来的),但很少有人使用;从Vista开始,客户端Windows系统才开始原生支持64位;在Windows 7时代,由于酷睿i7处理器以及三通道内存技术的应用,再加上大容量内存条的降价和普及,电脑内存容量普遍开始超过4 GB,这就对64位系统和64位应用提出了新的要求。

对于64位系统,很重要的一个问题是无法使用32位驱动程序。也就是说,如果打算构建64位计算环境,那么所有设备驱动都必须使用64位版本,而且必须带有数字签名。在Vista时代,这一点要实现起来可能会存在一定的困难,因为当时很少有人关注64位环境,而很多厂商则根本没有意识到相应的驱动需求。但在Windows 7时代,用大内存(超过4 GB)的人越来越多,很多人开始对64位计算感兴趣,而厂商们通过Vista时代的铺垫,也逐渐开始重视64位环境的驱动。目前对于大部分有一定规模的硬件厂商,基本上都开始提供64位驱动,想必这些外部原因会进一步促进64位Windows的使用。

驱动是一种很重要的程序。如果没有驱动,设备就无法使用;而如果使用的驱动存在瑕疵,不仅会影响到设备的正常发挥,甚至可能导致整个系统崩溃。Windows的稳定性,很大程度上来说都受到了驱动程序的影响。因为驱动程序是一种特殊的程序,以往,任何驱动程序都可以直接安装,很容易导致系统蓝屏死机或不够稳定。但Vista中,开始要求驱动程序进行签名,虽然不签名也可以安装,但会警告用户可能存在的问题。Windows 7中,不仅要求签名,还要求签名必须是可信任的,这对驱动程序质量的提高起到了非常重要的促进效果。

对于一般用户,这方面的改进则主要体现在驱动程序的安装过程中。很多人可能曾经因为这个问题而头疼,例如,新买了一个打印机,如何安装驱动?打印机提供了驱动光盘,Windows内建了驱动,微软在Windows Update网站上提供了驱动,打印机厂商也在自己网站上提供了驱动……驱动的来源如此众多,那么如何判断哪里的驱动才是最新或者最好的?如何更加智能地安装最适合的驱动?

假设这个打印机本身就可以从多种来源获得不同版本的驱动,而Windows Update网站上提供的驱动是最新最好的版本,在Windows XP/Vista以及Windows 7中,安装这个打印机会有怎样的结果?

在Windows XP/Vista中,将打印机连接到USB接口后,可能会发生下列情况:

Windows检测到新设备,首先会根据设备的特征,在内建的驱动程序库中搜索是否有匹配的驱动,如果有,就自动安装;如果没有,就会出现图 3所示的对话框,询问我们通过什么方法安装该设备。如果手头有驱动光盘,就需要将光盘放入光驱,然后选择推荐方法,点击“下一步”按钮若干次,安装光盘上的驱动。如果手头没有驱动光盘,但驱动文件已经保存到本地硬盘上,则可以选择高级方法,手工指定保存了驱动的文件夹,点击“下一步”按钮若干次,安装硬盘上的驱动。

03

3,在Windows XP中选择设备的安装方式

上文已经说了前提条件,这个打印机在Windows Update网站上的驱动才是最新的,因此对于Windows XP/Vista,可能需要选择多种不同选项,执行大量操作,最终也没能安装到最合适的驱动。而且如果是Vista系统,由于UAC功能的存在,在选择某些选项后,还可能会触发UAC的提升对话框,导致需要进行更多次的鼠标点击操作。

当然Windows XP/Vista也可以通过Windows Update安装该驱动,但根据微软的定义,操作系统的自动更新功能只会自动安装关键更新、重要更新,以及安全更新等内容,驱动程序并不属于这一类别,并不会使用自动更新功能自动下载和安装。因此用户必须定期访问Windows Update网站,检测更新,并安装找到的驱动,而很多人并没有这样的习惯。

但如果是Windows 7,情况就简单多了。在将打印机连接到电脑的USB端口后,电脑会很快检测到这个新设备。随后Windows 7会自动从多种来源进行搜索,这里可搜索的来源包括Windows内建驱动、光驱中的光盘,以及Windows Update网站(如图 4所示)。如果在不同来源只找到一个驱动,就会自动安装该驱动;如果找到多个不同的驱动,则会自动判断其中版本最新最好的驱动,然后自动下载和安装。因此几乎不需要用户的干预,只要连接设备,并等待片刻,Windows 7就能自动安装最合适的驱动。

04

4,Windows 7中用很少的鼠标点击就能安装最合适的驱动

当然,最糟糕的情况如果上述来源都没找到可用的驱动,则还可以通过界面上提供的选项手工指定本地硬盘上的驱动程序文件夹。如果这种方法依然找不到合适的驱动,那么还可以通过问题报告功能将问题匿名反馈给微软,随后微软的支持人员会收集大量用户的反馈,并通过问题报告和解决方案的方式提供有关设备安装的解决方案(如图 5所示)。

05

5,通过反馈和上报有关驱动安装的问题,还可以获得进一步帮助

多线程和优化

现在的高端电脑似乎在朝着“多线程”的方向发展。CPU是多核的,显卡是SLI或者CrossFire,内存是双通道甚至三通道,硬盘也是RAID,似乎需要将硬件设备的数量加倍,才能获得更好的性能。那么软件呢?如何支持这种“多线程”环境?我们的大脑呢?是不是也需要针对“多线程”环境进行升级?

也许我们每个人需要付出不同的努力,才能获得能够一边玩网游,一边聊天,一边还在看在线视频的“多线程”大脑。不过Windows 7对“多线程”的支持相对要容易和简单一些,但是却可以为我们带来立竿见影的效果。

延迟服务

为了实现各种功能,Windows的后台执行了大量服务,在系统启动后,就算没有用户登录,这些服务就已经在默默地运行着。虽然这些服务的数量众多(如图 6所示),但在正常运行的过程中并不会为系统资源带来太大的负担。不过在系统启动过程中,开始加载这些服务时,却会很明显导致启动速度的延长。

06

6,需要自动运行的服务是如此众多,难免会影响系统的正常运行速度

而现在的Windows系统为了加快启动速度,往往会采取一些“投机取巧”的做法。例如,虽然很快就启动到登录界面,但此时只是加载了操作系统运行所必须的服务和组件,还有大量组件尚未加载,并且只有在用户登录之后才会加载这些内容。XP用户所抱怨的登录后“假死”现象实际上就是这种设计所导致的。因为在登录后,系统还需要继续加载大量的组件或服务,就会导致很长时间之后才能看到桌面,或者鼠标和键盘操作暂时没有效果。

为了改善这一情况,在Windows 7中提供了一种“延迟启动”模式,这也就是说,对于这种模式的服务(如图 7所示),依然需要在系统启动的时候自动运行,但并不会立刻运行,并与其他组件抢夺资源,而是会主动为其他服务和组件让路,让其他更重要的内容首先运行起来。只有在系统启动完毕,并空闲下来之后,才会开始加载这些内容。通过这种做法,Windows 7依然可以在很短的时间内启动到登录界面,但登录到桌面后,虽然此时系统尚未完全启动好,但已经可以立刻开始使用系统,并不需要等待其他后台内容加载完毕。

07

7,“延迟启动”模式可以让不那么重要的服务给其他重要服务让路

I/O优先级

以前电脑硬件性能不够强大的时候,通常我们可能只会同时运行一两个程序;而现在,很多人已经习惯了同时打开十几个甚至更多的程序,除了当前正在用的程序外,其他程序都将在系统后台运行。如此多的程序在同时运行,这就容易导致一个问题:资源的争夺。这里所说的资源有多种类型,例如CPU资源、内存资源,磁盘I/O资源等。现在的CPU速度越来越快,核心越来越多,而新购买的电脑内存也越来越多,因此多个程序同时运行对于CPU和内存资源的争夺并不严重,相反,对磁盘I/O资源的争夺则越发严重。

例如,几乎每个人系统中都需要安装反病毒软件,并打开实时监控,该功能会实时扫描我们要访问的每个文件。因此如果反病毒软件在扫描文件,而我们还在进行一些磁盘读写操作较多的活动,例如压缩或加密文件,以及处理大量零散数据,这将导致很严重的冲突。

和很多人想象的不同,就算同时运行了多个程序,同一时间里,也只能有一个程序对硬盘进行读写。如果多个程序需要读写,则系统会将其他读写安排到队列中,按顺序处理队列中的请求。因此在Windows XP中,磁盘的读写请求是没有轻重缓急之分的,也就是说,如果反病毒软件要在后台扫描文件,而我们要在前台处理某个文件,这两个程序的读写请求将会被平等对待。其实这种做法并不好,因为反病毒软件运行在后台,就算慢一点也不容易察觉。而在前台使用的程序如果比较慢,则很容易察觉,同时还会降低操作效率。

在Windows 7中,则新增了一套全新的I/O优先级功能。简单来说,所有在前台运行的程序,都将具有较高优先级的磁盘读写I/O,而后台运行的程序的I/O优先级较低。这样如果前台和后台程序都需要读写硬盘,则系统会优先处理前台程序的请求。因此理论上来说,就算有再多程序需要同时读写硬盘,至少前台程序受到的影响都将被降到最低。

这一点通过Windows 7自带的资源监视器就能看得到。在Windows 7中运行“resmon.exe”,打开资源监视器,切换到“磁盘”选项卡,并展开“磁盘活动”选项。在该选项下列出了系统中每个进程的磁盘活动情况信息,通过“I/O优先级”这一列就能看出,某些进程使用了“标准”优先级,有些进程使用“后台”优先级,有些进程则使用“低”优先级。因此当这些进程读写硬盘时,系统就能根据不同的优先级区别对待,尽量首先处理高优先级进程的读写请求。同时,对于优先级较低的进程,相应的响应时间也会更长一些(如图 8所示)。

08

8,通过资源监视器即可看到不同进程的I/O优先级

这样的设计方式虽然会使后台运行的程序速度受到影响,但这通常都无法被注意到,相反我们能够清楚感受到的前台程序完全不会受到任何影响,而且相比不对I/O划分优先级的Windows XP系统,前台程序的运行速度理论上还可以更快一些。

缓存和后台维护

大部分硬件组件的性能都在飞速发展,然而其中有一个特例,那就是硬盘。虽然硬盘的容量也在持续增长,但对于速度,多年来的发展并不像其他组件那么迅速。通常大部分电脑的性能瓶颈都是硬盘。这就像是用卡车运货,虽然卡车都换上了大功率发动机,时速可以超过200公里,但工厂出货的大门太窄,因此虽然生产了很多货物,但依然无法及时运出。由于硬盘速度太慢,如果需要运行大型程序,往往要用很长时间才能将程序的所有代码加载到内存并执行。既然硬盘的速度短时间内没法大幅提高,那么是否有什么办法将硬盘对性能的影响尽量减缓?

答案就是缓存。现在的电脑通常都装有很多内存,而运行的程序可能并不需要这么多内存。因此为了提升内存的使用效率,并提高程序和文件的加载速度,Windows会使用预读取功能监控一段时间内电脑上程序的运行情况,并根据监控获得的数据,在系统闲置的时候预先将预测到可能随后需要执行的程序的代码读入到内存中。为了证明这一点,可以打开Windows任务管理器,切换到“性能”选项卡,“物理内存”选项中列出的“已缓存”数量,就是内存中用于充当缓存的内存总量(如图 9所示)。

09

9,预先将程序代码读取到内存缓存中,可以加快程序的运行

在使用该功能后,如果缓存中保存了太多数据,那是否意味着系统可能会因为缓存太大而导致内存不够用?毕竟缓存中保存的都是暂时不需要,以后才要运行的程序的代码,而内存最重要的功能则是给正在运行的程序提供暂住空间。

其实这个担心是完全没必要的,Windows本身就能很好地处理这个功能。如果当前正在运行的程序对内存的要求不高,还有很多内存没有被使用,这时候Windows就会自动使用大量空闲内存作为缓存。而一旦缓存已经被使用,候某个程序需要大量内存空间,这时候Windows则会通过一些复杂的内部算法,判断缓存中的哪些数据是最不重要的,然后将这些不重要的数据清空,把内存留给正在运行的程序使用。这样的设计机制听起来很合理,但问题到底在哪里?

为了更好地实现操作系统的各种功能,同时将这些功能对用户的影响降到最低,Windows会在系统闲置的时候,利用电脑的空闲资源处理一些后台的维护任务。例如,早上到办公室后打开电脑,处理邮件,随后去会议室开会,而电脑并未关闭。此时Windows就会开始执行一些后台操作,例如自动整理磁盘碎片,调用反病毒软件自动扫描整个硬盘,或者让Windows搜索功能为硬盘上的文件创建索引。当我们回来后,开始重新使用电脑时,这些后台任务会被自动暂停,并等待系统下一次进入空闲状态。

这样的设计机制虽然很好,但也容易造成一些问题,例如Windows XP时代所谓的“午餐综合症”,就是后台服务的这种运行机制造成的。暂时离开电脑后,系统会自动开始处理后台任务,此时由于任务的复杂程度以及需要处理的数据量的不同,之前已经被预先读取到内存中的缓存可能会需要被清空。而如果内存依然不够,系统会自动将其他前台程序占据的内存数据暂时通过分页操作保存到硬盘上,给后台进程提供足够的内存空间。

但当我们回来后,因为自己的前台程序已经被分页到硬盘上,因此系统就需要花费额外的时间将数据从硬盘重新读如到内存,着就会造成短时间内前台程序的性能非常差,运行速度缓慢。很多人以为自己的系统可能中毒了,但实际上并不是这样,这只是老版本Windows在设计上一个考虑不够周到的地方。

在Windows 7中,对原先Windows XP中提供的预读取功能进行了改进,这样就可以对我们的使用情况进行更精确的监控和预测。当运行中的程序因为后台进程的操作而被分页到硬盘上之后,Windows可以根据预读取功能的监控和预测,提前在我们回来之前就将被分页到硬盘的数据重新读取,并写入到内存中。这样如果需要重新使用电脑,就可以直接从内存中访问到所有程序代码和数据,以及之前缓存的代码内容,同时这些工作并不会影响到后台维护进程的正常实施。

缓存和闪存

虽然Windows 7可以通过缓存的方式将预测到需要的内容预先读取到内存中,缓解由于硬盘速度缓慢导致的性能瓶颈,但这毕竟不是最好的解决办法,而且如果电脑中安装的物理内存数量不够多,这种做法并不会获得太大的效果,反而可能会降低系统性能。

因此Windows 7中提供了一种叫做ReadyBoost的技术ReadyBoost可以把预读取技术的缓存保存在NAND缓存中,这种缓存最常见的用法就是我们平时使用的U盘,另外可能还有在电脑主板上专门安装的NAND闪存卡。这样运行应用程序时,系统就可以直接从闪存的缓存里直接读取所需的内容,而不需要到硬盘里读取。

很多人有疑问,硬盘的速度应该比USB闪存高多了,为什么USB闪存反倒有加速作用?原来这里的硬盘速度高,是指硬盘的顺序访问速度,也就是连续访问一个非常大的文件时的持续速度,而硬盘的随机访问速度通常不到USB闪存的1/10,这种零散的随机小文件访问,才是Windows正常运行过程中进行最频繁的操作。系统和应用程序在运行时,只要是做随机访问操作,就会尽可能尝试从USB闪存里读取,而进行顺序访问操作时,则会直接从硬盘里进行,所以采用ReadyBoost技术,小内存用户也可以得到性能的提升。

基本上,只要NAND闪存设备满足下列条件,无论具体的封装形式是什么(U盘、SD卡、CF卡、记忆棒等),都可充当ReadyBoost缓存使用:

  • 必须是USB 2.0接口
  • 闪存上的剩余空间不小于256 MB
  • 4 KB文件随机读取速度不低于2.5 MB/S,512 KB文件随机写入速度不低于1.75 MB/S。而且整个闪存空间都必须达到这个速度指标。

市面上很多U盘设备针对这一用途进行过优化,通常包装上会标注“ReadyBoost”字样,因此这也是一种判断设备是否支持该功能的好方法。在将可支持的设备连接到电脑后,如果启用了自动播放功能,那么在自动播放对话框中就能看到用于加速系统的选项(如图 10所示)。如果没有启用自动播放,则可以打开“计算机”,用鼠标右键单击闪存设备的盘符,选择“属性”,在属性对话框上打开“ReadyBoost”选项卡(如图 11所示),随后即可根据实际情况决定是否使用该设备加速,以及使用多少空间进行加速。

10

10,自动播放选项即可进行加速

11

11,属性对话框中可设置具体用法

ReadyBoost缓存的大小至少是256 MB,推荐为物理内存大小的1~2.5倍,但最大不超过4 GB,这属于Windows的硬性限制。因此如果闪存设备的可用空间超过4 GB,可在上图对话框中设置只使用4 GB,其余空间可做其他用途。

设置好后,Windows会用一段时间将缓存内容填充到闪存盘中,这段时间内硬盘灯和闪存上的指示灯会频繁闪烁,系统可能会有一定的迟钝。等到数据填充完毕后,即可将原本需要读写硬盘的操作全部转向到闪存,避免硬盘性能导致的瓶颈。

安全性改进

自从Windows XP SP2以来,微软开始增加对安全问题的重视程度,对于Windows和Internet Explorer等基础软件,不仅从代码中进行了仔细排查,尽量确保软件本身没有安全隐患。而且对软件的默认设置,也由过去的“方便为主”改为现在的“安全第一”。

伴随着Vista的发布,用户帐户控制(UAC)、完整性检查、保护模式、程序签名校验等功能的应用,更使得Windows操作系统的安全性得到了空前的加强。以Vista基础构建而成的Windows 7自然也继承了Vista的所有安全性,不仅如此,Windows 7中的功能在经过优化和重新设计后,不仅可以确保安全性,而且可以将对易用性的损害降到最低。

本节将介绍Windows 7中有关安全性的一些变化。

用户帐户控制

UAC(用户帐户控制)是Windows Vista开始中的一个新功能,该功能可以让管理员用户以标准用户的凭据运行大部分程序,只有在需要的时候才进行提升,并开始使用管理员帐户的权限。这个功能保证了默认情况下,大部分程序(包括恶意软件以及病毒)都只能使用标准用户权限运行,这样软件就无法对系统设置进行修改或破坏。

UAC功能在Windows Vista中曾经是最受争议的,原因在于,很多人觉得自己平时的操作都会被UAC打断,并认为这样的设计很烦人。而有些人则认为UAC似乎没有存在的必要,因为几乎每一次遇到UAC对话框的时候,绝大部分人都会直接点击“允许”。

其实所谓的“打断”正是UAC的目的。为了保证安全,几乎所有安全类的教程和图书都会建议我们平时使用电脑的时候使用标准用户,只有在需要对系统进行维护或修改设置的时候,才使用管理员帐户,对于任何现代操作系统,这都是保证安全性的一个基本前提。然而事实情况是,绝大部分人都是直接使用管理员帐户的,甚至在使用Windows系统内建的Administrator帐户,原因主要有两个:在Windows 9x时代,没有用户权限一说,很多人已经习惯于使用安装系统后创建的帐户。然而从Windows XP开始,Windows系统的安全权限限制得到了加强,用户帐户可以分为不同的类型,然而习惯已经养成,不是那么容易就改掉的。另外,也有很多人觉得,为自己准备两个帐户,并在需要的时候进行更换很麻烦,而且一些特殊的软件也要求用户具有管理员权限才可以运行,如果使用标准用户的权限,将无法运行。

其实上述两个问题在UAC中都可以得到解决。默认设置下,所有管理员帐户在登录时候都将获得两个访问令牌(可以理解为开门用的“钥匙”),一个对应标准用户权限,一个对应管理员帐户权限。平时操作时,用户将自动使用标准用户令牌进行活动,例如打开文件,或启动程序。而只有在需要的时候,才换为使用管理员令牌进行活动。至于标准用户,则更简单,在登录时候只能创建标准令牌,并一直使用该令牌进行所有活动。

如果需要提升,也就是需要换为使用管理员令牌执行某些操作,这时候UAC功能会弹出一个对话框。对于管理员用户,需要在这个对话框上单击“继续”,确认操作;而对于标准用户,则需要在UAC的提升对话框上输入一个本机的管理员帐户的密码,然后才能继续。由于很多人对于UAC功能的“厌恶”,因此这里不提供UAC提升对话框的截图,但相信每个使用过Vista的人都不止一次见到过这样的对话框。

其实对于很多操作系统,以最低特权级别执行日常任务是一种很常见的,也很安全的做法。Unix、Linux等系统自从问世就在遵循着这样的做法。那么为什么Windows上的UAC功能会招致这么多非议?

这主要还是人的问题,更确切来说,是程序开发人员的问题。近几代的Windows操作系统在底层有一些重要的改进,为了提升安全性和稳定性,会将以往一些不好的做法尽量避免掉,并且对运行在Windows上的程序提出了更严格的要求。而正是这些带来更好安全性的变化,导致很多人对UAC的不满。

然而虽然Windows的设计思想有了变化,大量程序开发人员依然在沿袭以往的习惯,在按照Windows 9x甚至DOS时代的思路给最新版本的Windows开发程序。例如一些编写很糟糕的程序,可能会默认将程序本身安装到C盘,哪怕操作系统所在盘符并不是C;某些程序可能会将所有配置选项一股脑保存在HKEY_LOCAL_MACHINE注册表键下,哪怕针对用户的设置也是如此;有些程序可能会在运行时随意在系统盘或Windows目录下创建临时文件夹;有些很简单的程序甚至会强制检查用户是否是管理员帐户,如果不是就拒绝运行,尽管这个程序只是一个很简单的网络游戏客户端,并不需要太多的权限…程序员在开发程序时贪图方便省事的结果就是这些程序在要求越来越严格的新操作系统中可能会遇到各种奇怪的问题。

对于这些第三方应用程序导致的问题,自然需要由这些程序的开发人员来解决。那么在Windows 7中,微软对于Windows自带的功能又是如何解决过于频繁的UAC提升问题的?其实很简单。

打开控制面板,在右上角的搜索框中输入“UAC”,并从搜索结果中单击“更改用户帐户控制设置”,随后可以看到图 12所示的界面。

01

12,在Windows 7中更改UAC的通知级别

在这里可以根据自己的实际需要,调整UAC的通知级别,越高的级别安全性越好,同时遇到提升提示的频率就越高;越低的级别,安全性越差,但遇到提升提示的频率也会越低。因此Windows 7用户可以根据自己的实际情况选择最适合的级别,即保证安全,又确保了安全性。这些选项,以及每个选项的结果,还有建议的使用场合,可以参考下表:

选项

描述

适用场景

是否使用安全桌面

始终通知

在安装软件,修改电脑设置,或更改Windows设置时,通知用户

如果希望尽可能保证计算机安全,频繁安装软件或经常访问不熟悉的网站,可使用该选项

默认值

只有在程序试图修改计算机配置时通知当前用户,但用户自己更改Windows设置不通知

如果需要较高安全等级,并希望降低用户可以看到的通知数量时,可选择该选项

仅当程序尝试更改计算机时通知我(不降低桌面亮度)

与默认值相同,但显示通知时UAC不切换到安全桌面

如果只使用熟悉的程序,不访问不熟悉的网站,可选择该选项

从不通知

关闭UAC的所有提示同时

如果安全性并不是最重要的,或者用户自身的技术水平足够高,即可使用该选项

在默认值下,对于使用管理员帐户登录的用户,在使用系统自己的配置工具时,以及执行绝大部分系统配置任务时,都是不会出现UAC提示的,只有在安装某些软件时才有可能遇到。其实这些选项都是有不同的安全策略组合所决定的,因此如果使用了Windows 7专业版以上的包含组策略功能的系统,也可以运行“secpol.msc”,在本地安全策略中展开到“本地策略\安全选项”,使用以“用户帐户控制:”字样打头的策略(如图 13所示),结合自己的实际情况即可配置出更加合理的UAC提升方式。

02

13,通过不同安全策略的排列组合可创建出更合理的提升机制

分享:

《选择Windows 7的酷理由–核心变化和改进(1/5)》有3个想法

  1. 是针对上文中“Windows XP发布时,当时主流硬件的特点,以及发展趋势就决定了Windows只能针对单核处理器,不超过2G内存,以及同时运行少量程序的典型使用环境进行设计和优化”这句话说的吗?

    你这个(我不认为你能代表其他什么人,正如我也只能代表我自己)人的理解能力岂不是更令人感到可怕?我说了多CPU以及超过4G内存的XP会启动不了吗?

发表评论

电子邮件地址不会被公开。 必填项已用*标注

发表评论前,先做个简单的数学题吧: * Time limit is exhausted. Please reload CAPTCHA.