软件休眠

    笔记本合上机盖时,通过软件挂起(suspension)让操作系统休眠,重新打开可以唤醒电脑,准确恢复到之前的工作状态。实现这种功能一般方法是保留一个目前内存状态的映射(snapshot),把它存到硬盘里,以便以后读出来重新加入内存。早前实现这个功能的软件称为swsusp,也就是软挂起(software suspend)的缩写。现在这个软件发布了2.0版本,称为suspend2,其中同时包括了针对2.4和2.6稳定内核的改进补丁。

    Nigel Cunningham提出了一个有趣的摘要,概括了suspend2 新特点:

    “首先,虽然swsusp和suspend2采用相同的基本原理运行,但也有很大的变化。对于swsusp,相当于执行对完全镜像的原子拷贝(an atomic copy of the entire image),以便存储和读取;相对的,suspend2先存储最近最少使用页面(lru pages)的内存,然后对其他内存进行原子拷贝和存储。”

    Nigel进一步解释了suspend2不同部分如何被指定为追踪各种进程状态的“冻结者”(how the portion of suspend2 referred to as the "freezer" ),“冻结者”等待进程直到它可以完全正确地进行内存原子拷贝。这个项目目前的目标是被合并到2.6稳定内核的主代码中去。