《Windows 8 权威指南》——1.3 引入全新内核休眠模式,实现“瞬间开机”

简介:

本节书摘来自异步社区《Windows 8 权威指南》一书中的第1章,第1.3节,作者:胡耀文 , 尹成 , 李贝贝 , 卢磊 , 曹珍著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.3 引入全新内核休眠模式,实现“瞬间开机”

Windows 8 权威指南
开关机速度一直是广大用户最关心的问题之一,Windows 8在这方面做出了很大的努力。Windows 8即将引入的新式开机和关机模式,以及由此带来的系统启动大提速,在最理想的情况下简直做到了“瞬间开机”。

在此之前我们先看看微软公布的一组数据:在准备不使用电脑的时候,多达57%的桌面用户和45%的笔记本用户会选择直接关机,以便省电或者保护电池;而进入睡眠状态(Sleep)的分别为42%和45%;使用休眠(Hibernate)的则仅仅为1%、11%。微软还发现,很多用户喜欢开机后享受一个“全新的开始”,而不是继续之前的会话。

根据用户的种种反馈,微软给自己制订了以下3个目标。

关闭时基本零耗电。
启动后呈现全新会话。
按下开机按钮后电脑可在很短的时间内投入使用。
我们知道,Windows 7在启动加速方面已经做了大量努力,包括设备驱动并行初始化、触发启动服务等,但都是小打小闹,没有根本性的变革。为此,Windows 8将会引入一个全新的启动模式,集传统冷启动和休眠恢复于一身。

相对于Windows 7关机的时候会同时关掉用户会话和系统内核会话,Windows 8里则是让后者转入休眠状态,放到hiberfil.sys休眠文件中去。传统意义上的完全休眠会保存应用程序使用的大量内存页面,默认体积是内存容量的75%,但是Windows 8里的Session 0休眠文件只保存系统状态和内存内容,因此体积只有内存容量的10%~15%,因此写入硬盘所需的时间短得多,读取和重新初始化也非常快。

当然了,对于那些原本就喜欢休眠的用户来说,Windows 8恢复速度也会更快。如果你还是喜欢彻底关机,Windows 8自然也会保留这种模式,不会强制使用新模式。

值得一提的是,Windows 8的快速启动模式虽然不会对所有驱动程序进行完整地枚举,但也会进行驱动初始化,因此对于那些需要重启才能生效的设备来说,新模式也可以满足它们。

使用这种新技术后,Windows 8启动所需时间相比Windows 7能够减少30%~70%。在微软测试的30台不同机器上,Windows 7启动最慢需要长达70多秒,最快也需要25秒,而且不同系统差异巨大;Windows 8则绝大多数都控制在20秒上下,最慢也仅仅30多秒钟,整体都非常接近。新的启动模式速度快,一是因为所做的工作比完整的系统初始化更少;二是加入了新的多相恢复功能(multi-phase resume),它能够充分利用多核心的每一个核心,将休眠文件的读取工作分配到所有核心上共同解压。

1.3.1 全新的开始按钮和开始菜单
想必使用过Windows 7的用户都十分熟悉位于桌面左下方的“开始”按钮。每当我们需要使用某一个桌面上没有快捷方式的应用程序时,使用开始按钮则必不可少。因为“开始”菜单能显示所有安装在本机上的应用程序。但是在新一代的Windows 8中,不再支持“开始”按钮和“开始”菜单,转而使用另一种风格的Metro开始界面,暂且将之称为全新的开始菜单。

为什么微软会放弃“开始”按钮和开始菜单呢?我想原因应该是现如今在电脑上安装的应用程序越来越多,用户开始不再使用单击“开始”一步一步地寻找,反而用户更倾向于采用搜索的方式找到应用程序。那么原始的“开始”按钮会显得不合时宜。而新的Metro开始界面和菜单则会带来新的不一样的体验。

下面我们先来看看如何使用全新的“开始”按钮和“开始”菜单。

Windows 8在开机进入系统之后并不是直接进入桌面,而是停留在开始界面等待用户的选择,如图1.29所示。

screenshot

可以看到,在Metro界面中,桌面仅仅是一个选择。因为考虑到用户可能需要查看邮件,也可能需要查看地图信息,或许需要接收消息,总而言之,用户可能的需求在Metro界面就可以满足。将开始界面下的滚动条向右拖,可以发现常用的应用都可以直接从这里导入。

上面所指的是开机阶段。不可否认的是,大部分时间我们都是在桌面下进行工作娱乐的,但是我们在使用其中一种应用时可能又想切换到另一种应用,例如,浏览网页时突然想要听一下歌曲。在Windows 7中用户首先想到的是在开始菜单中一步步寻找听音乐的快捷方式,然而在Windows 8则采用完全不一样的方式。

首先我们按下组合键“Win+Q”,这个组合键带我们来到如图 1.30 所示的界面。在该界面左上方有一个搜索栏,只需要在其中输入所需要的软件的名称,即可查找到该软件,单击后即可使用。

screenshot

值得说明的是,我们在上图中输入的是micro,而并没有输入全名,但是在左侧就出现所有符合过滤规则的应用程序,因此我们并不需要记住所有应用程序的全称,只要输入符合过滤规则的关键字,即可很容易地找到相应的程序。

在上图的右侧我们可以看到有“应用”“设置”和“文件”三种可供我们选择的搜索类型。在日常办公中,我们不仅仅需要打开应用,很多时候还需要处理一些文件,进行一些设置,这时候“文件”和“设置”就可以为用户提供服务了。

搜索文件的组合键是“Win + F”,搜索设置的组合键是“Win + W”。

用户对于开始菜单的另外一种需求就是将不常用的应用快捷方式从开始界面清除,将常用的保留,将最常用的固定在任务栏。设置这些的方式同样很简单。在开始界面中右键单击桌面,单击右下方的“所有程序”,这时即可进入如图1.31所示的界面。

screenshot

在上图中右键单击任意一个想要处理的应用程序,即可利用在下方出现的选项进行设置,其中主要包括“从‘开始’桌面取消固定”“固定到任务栏”“卸载”等选项。

1.3.2 支持ARM架构
微软始终在不断地进行技术革新,其用户群体也日益庞大,这反应了该体系结构具有很强的灵活性,这一点非常值得关注。最初,Windows只是一款操作系统,但现在,Windows已成为各种硬件和软件技术的基础,代表着众多相互关联的Windows产品以及无限灵活的计算方法。

在新一代的Windows 8中,微软从芯片到体验对Windows进行了颠覆性的革新,而将焕然一新的Windows引入支持ARM处理器体系结构则是这一创新最重要的组成部分之一,这一改变超越了当前人们对PC的固有观念。对PC的应用范围进行扩展以涵盖更多具有独特外形和设计的设备,对于实现创新目标来说至关重要。ARM版Windows允许在PC设计中加入更多创新元素,结合Windows操作系统中新加入的功能,必将为用户带来精彩绝伦的新型PC。

这里我们将支持ARM架构的Windows系统称为WOA(Windows on ARM)。对于支持ARM架构的操作系统来讲,用户最关心是否有足够好的用户体验,是否能有足够多的应用程序供其使用。下面我们就来看看WOA的基本介绍。

WOA是在Windows基础上构建的Windows家族新成员,与Windows 8具有高度的共通性并共享了大量代码,将被作为全球最大计算生态系统的一部分进行开发、销售并给予支持。微软推出WOA旨在支持具有独特功能和外形的新型PC,吸纳一系列新的合作伙伴,从而扩展包含Windows在内的生态系统。

WOA平板电脑将与x86/64版共同上市,微软同NVIDIA、Qualcomm和Texas Instruments提供的创新硬件构建平台,共享相同的ARM版Windows操作系统基础,也就是说他们全部运行相同的Windows操作系统的二进制代码,这当真为业界独创的方案。

Windows应用商店中的Metro风格应用程序可以同时支持WOA和x86/64版Windows 8。微软为开发人员提供了新的 Visual Studio 11 工具来开发WinRT(用于构建Metro风格应用程序的Windows API)应用程序。WOA支持使用C和C++编写的WinRT本地代码,此类代码适用于多种体系结构并可通过Windows应用商店分发。WOA不支持运行、模拟或移植x86/64桌面应用程序。仅使用WinRT系统和操作系统服务的代码可以在应用程序中使用,并通过Windows应用商店同时针对WOA和x86/64分发。用户可通过Windows应用商店、Microsoft更新或Windows更新来获取包含设备驱动程序在内的所有软件。

WOA能够支持所有新的Metro风格应用程序,包括来自微软的电子邮件、日历、通讯录、照片和存储应用程序。WOA还包含Internet Explorer 10中业界领先的硬件加速HTML5支持。WOA将为其他行业标准格式提供支持,包括具有硬件加速和分流计算支持的格式,以及行业标准文档格式。在任何情况下,微软都希望在为用户提供更多选择这一方面保持领先地位,并允许用户选择使用的应用程序和支持的格式。

WOA包含新的桌面版Microsoft Word、Excel、PowerPoint和OneNote。这些新版Office应用程序的开发代码为“Office 15”,它们已针对触控和减少电源/资源消耗进行了显著优化,同时还将为用户提供丰富的功能和完整的文档兼容性。WOA支持包含资源管理器、Internet Explorer 10桌面版和大部分其他固有Windows桌面功能在内的Windows桌面体验,这些功能也已经针对触控和电源/资源消耗进行了显著优化。

借助WOA,用户将能够获得包含全新打造的硬件、固件和WOA软件的集成端到端产品。构建WOA的过程融合了微软、ARM授权商、PC制造商以及组件和外设开发人员的共同努力。这些努力包括对WOA的重新设计,对一系列子系统的大幅度调整。合作伙伴会将WOA PC作为包含硬件、固件和ARM版Windows软件的集成端到端产品提供给用户。ARM版Windows软件不会独立于新型WOA PC销售或分发,以满足用户对于消费电子产品具有独特集成硬件和软件组合的期望。在PC的使用生命周期中,微软所提供的软件将获得周到的服务和全新的升级。

相信在不久的将来,用户就可以在平板上使用到微软打造的拥有全新体验的Windows 8。

相关文章
|
21天前
|
Shell Windows
Windows服务器 开机自启动服务
Windows服务器 开机自启动服务
13 0
|
1月前
|
应用服务中间件 nginx Windows
windows下快速安装nginx 并配置开机自启动
windows下快速安装nginx 并配置开机自启动
windows下快速安装nginx 并配置开机自启动
|
3月前
|
应用服务中间件 nginx Windows
Windows 设置开机自启 将可执行文件加入到系统服务中
Windows 设置开机自启 将可执行文件加入到系统服务中
38 0
|
4月前
|
Web App开发 Windows
Windows【Chrome浏览器 02】Auto Dark Mode for Web Contents 无需安装插件开启chrome浏览器黑暗模式
Windows【Chrome浏览器 02】Auto Dark Mode for Web Contents 无需安装插件开启chrome浏览器黑暗模式
43 0
|
4月前
|
Shell Windows
Windows【工具 03】QuickLook-3.6.11安装并设置开机自启动(含较难下载的 QuickLook-3.6.11 安装包百度云盘资源)
Windows【工具 03】QuickLook-3.6.11安装并设置开机自启动(含较难下载的 QuickLook-3.6.11 安装包百度云盘资源)
56 0
|
4月前
|
中间件 关系型数据库 MySQL
Windows 安装 Seata 1.6.1 并配置开机自启
Windows 安装 Seata 1.6.1 并配置开机自启
|
4月前
|
监控 安全 API
5.9 Windows驱动开发:内核InlineHook挂钩技术
在上一章`《内核LDE64引擎计算汇编长度》`中,`LyShark`教大家如何通过`LDE64`引擎实现计算反汇编指令长度,本章将在此基础之上实现内联函数挂钩,内核中的`InlineHook`函数挂钩其实与应用层一致,都是使用`劫持执行流`并跳转到我们自己的函数上来做处理,唯一的不同的是内核`Hook`只针对`内核API`函数,但由于其身处在`最底层`所以一旦被挂钩其整个应用层都将会受到影响,这就直接决定了在内核层挂钩的效果是应用层无法比拟的,对于安全从业者来说学会使用内核挂钩也是很重要。
39 1
5.9 Windows驱动开发:内核InlineHook挂钩技术
|
4月前
|
监控 Windows
7.4 Windows驱动开发:内核运用LoadImage屏蔽驱动
在笔者上一篇文章`《内核监视LoadImage映像回调》`中`LyShark`简单介绍了如何通过`PsSetLoadImageNotifyRoutine`函数注册回调来`监视驱动`模块的加载,注意我这里用的是`监视`而不是`监控`之所以是监视而不是监控那是因为`PsSetLoadImageNotifyRoutine`无法实现参数控制,而如果我们想要控制特定驱动的加载则需要自己做一些事情来实现,如下`LyShark`将解密如何实现屏蔽特定驱动的加载。
32 0
7.4 Windows驱动开发:内核运用LoadImage屏蔽驱动
|
11天前
|
监控 安全 API
7.3 Windows驱动开发:内核监视LoadImage映像回调
在笔者上一篇文章`《内核注册并监控对象回调》`介绍了如何运用`ObRegisterCallbacks`注册`进程与线程`回调,并通过该回调实现了`拦截`指定进行运行的效果,本章`LyShark`将带大家继续探索一个新的回调注册函数,`PsSetLoadImageNotifyRoutine`常用于注册`LoadImage`映像监视,当有模块被系统加载时则可以第一时间获取到加载模块信息,需要注意的是该回调函数内无法进行拦截,如需要拦截则需写入返回指令这部分内容将在下一章进行讲解,本章将主要实现对模块的监视功能。
27 0
7.3 Windows驱动开发:内核监视LoadImage映像回调
|
4月前
|
监控 安全 API
7.2 Windows驱动开发:内核注册并监控对象回调
在笔者上一篇文章`《内核枚举进程与线程ObCall回调》`简单介绍了如何枚举系统中已经存在的`进程与线程`回调,本章`LyShark`将通过对象回调实现对进程线程的`句柄`监控,在内核中提供了`ObRegisterCallbacks`回调,使用这个内核`回调`函数,可注册一个`对象`回调,不过目前该函数`只能`监控进程与线程句柄操作,通过监控进程或线程句柄,可实现保护指定进程线程不被终止的目的。
29 0
7.2 Windows驱动开发:内核注册并监控对象回调