|
|
| 第 20 行: |
第 20 行: |
|
| |
|
| == 新增功能和更改 == | | == 新增功能和更改 == |
| === Hibernation support === | | === 休眠支持 === |
| This build recompile notably includes in-box support for [[w:Hibernation (computing)|system hibernation]] in both the system kernel and the [[ntldr|boot loader]], a process which involves generating a memory snapshot of the currently-running system state and saving it onto disk for later reuse as <code>snap.bin</code>, and safely powering off the system without risking [[w:data loss|data loss]]. This feature, initiated by the <code>NtSetSystemPowerState</code> function in the kernel, is implemented within the <code>snap.dll</code> dynamic-link library. It is exclusive only to Woodfield- and Polo-based [[w:PowerPC Reference Platform|PReP]] systems (and related derivatives, such as the above-mentioned ThinkPad laptop models),<ref name="os2m-prep">Necasek, Michal. [http://www.os2museum.com/wp/ibm-power-series-exotica/ IBM Power Series Exotica], ''OS/2 Museum''. 23 May 2014.</ref> due to the relevant library implementing low-level hardware drivers (for block devices and other unknown chipset functionality) used when saving and restoring the hibernation file. System hibernation may be accessed in the logon screen or by invoking the Security Options dialog ({{key press|Ctrl|Alt|Del}}) and selecting the "Hibernate" option.
| | 此版本的重新编译特别包括对系统内核和[[ntldr|启动加载程序]]中系统休眠的内置支持,该过程涉及生成当前正在运行的系统状态的内存快照并将其保存到磁盘上以供以后作为 <code>snap.bin</code> 重复使用,并安全地关闭系统电源而不会冒数据丢失的风险。此功能由内核中的 <code>NtSetSystemPowerState</code> 函数启动,在 <code>snap.dll</code> 动态链接库中实现。它仅适用于基于 Woodfield 和 Polo 的 PReP 系统(以及相关的衍生产品,例如上述 ThinkPad 笔记本电脑型号),<ref name="os2m-prep">Michal Necasek. [http://www.os2museum.com/wp/ibm-power-series-exotica/ IBM Power Series Exotica], ''OS/2 Museum''. 2014 年 5 月 23 日.</ref>因为相关库实现了在保存和恢复休眠文件时使用的低级硬件驱动程序(用于块设备和其他未知芯片组功能)。系统休眠可以在登录屏幕中访问,也可以通过调用“安全选项”对话框({{key press|Ctrl|Alt|Del}})并选择“休眠”选项来访问。 |
|
| |
|
| Resuming from hibernation is a multi-step process internally referred to as "defrosting", in which the boot loader loads the kernel, hardware abstraction layer and the memory snapshot library (<code>snap.dll</code>) into memory, creates an ARC path to <code>snap.bin</code> and obtains the entry point to <code>snap.dll</code>. A context structure is then set up by the boot loader and directly calls the snapshot library's entry point (while passing said structure), followed by another call to function <code>snap!SnapDefrostSystem</code> (if the function pointer in the context structure is filled by <code>snap.dll</code>), which eventually restores the memory snapshot. The memory snapshot library includes filesystem support for all disk partitioning schemes supported by <code>[[ntldr]]</code>, including the Cairo Object File System (OFS).
| | 从休眠状态恢复是一个多步骤过程,内部称为“defrosting(解冻)”,其中启动加载程序将内核、硬件抽象层和内存快照库(<code>snap.dll</code>)加载到内存中,创建要 <code>snap.bin</code> 的 ARC 路径,并获取 <code>snap.dll</code> 的入口点。然后,启动加载程序设置上下文结构,并直接调用快照库的入口点(同时传递所述结构),然后再次调用函数 <code>snap!SnapDefrostSystem</code>(如果上下文结构中的函数指针由 <code>snap.dll</code> 填充),它最终会恢复内存快照。内存快照库包括对 <code>[[ntldr]]</code> 支持的所有磁盘分区方案的文件系统支持,包括 Cairo 对象文件系统(Object File System,OFS)。 |
|
| |
|
| Upgrading to a newer Service Pack (such as [[Windows NT 3.51 build 1057.6|Service Pack 5]]) would break hibernation support as the respective kernel system call used to handle power state management in non-OEM releases of Windows NT 3.51 is only present as an [[w:method stub|unimplemented stub]] that returns NT status code <code>STATUS_NOT_IMPLEMENTED</code>. That being said, versions of Service Packs 2 and 4 were both known to have been released for this build, although they have both since been lost.
| | 升级到较新的 Service Pack(如 [[Windows NT 3.51 Build 1057.6|Service Pack 5]])将破坏休眠支持,因为在 Windows NT 3.51 的非 OEM 版本中用于处理电源状态管理的相应内核系统调用仅作为返回 NT 状态代码 <code>STATUS_NOT_IMPLEMENTED</code> 的未实现存根存在。话虽如此,但已知 Service Pack 2 和 4 的版本都已针对此版本发布,尽管它们后来都已丢失。 |
|
| |
|
| A similar implementation of hibernation support would not be truly introduced in widespread [[Windows NT]] releases until [[Windows 2000]].
| | 在 [[Windows 2000]] 之前,类似的休眠支持实现不会真正引入广泛的 [[早期 Windows NT|Windows NT]] 版本。 |
|
| |
|
| <gallery> | | <gallery> |
| WindowsNT3.51-3.51.1057.1-IBMPPC-GINA.png|Logon screen, with the new Hibernate and Suspend options | | WindowsNT3.51-3.51.1057.1-IBMPPC-GINA.png|登录屏幕,包括新的 Hibernate(休眠)和 Suspend(挂起)选项 |
| Windows NT 3.51 PMZ - Security Options.png|Security options dialog, featuring the same changes | | Windows NT 3.51 PMZ - Security Options.png|“安全选项”对话框,其中包含相同的更改 |
| </gallery> | | </gallery> |
|
| |
|