作者:corbet
2006年7月17
Pavel Machek谈了Linux核心里软挂起( software suspend)目前的情况。 他首先对如何在Linux系统让“挂起到硬盘”工作做了长篇介绍;他提到越来越多的Linux发行商开始提供”软挂起”。此外Pavel Machek还提到“挂起到内存”可以在许多机器上运行。
然而人们真正想了解的是用户空间的“挂起到硬盘”的接口。Pavel说在核心中实现suspend已经遭到反对,可能不久会从核心取消。在用户空间实现可便于添加额外功能如加密、压缩和好的用户界面。
当然有相当多的核心开发者认为用户空间的方式没有意义。加密和压缩可以利用现成的核心架构在核心实现。虽然Nigel Cunningham的suspend2补钉显示可以在用户空间实现好的接口,但是还是有人认为suspend2没有很好地实现接口。 通常核心开发者希望看到的是能简单工作的suspend, 至于象进度条一类功能的实现可以等到以后。Andrew Morton说用户空间的工作会令人发狂。
需要指出的是有不少用户喜欢suspend2补钉,该补钉据说很健壮。不过这种说法的根据还不充足。 一是: 那些拿不到在核心实现的” software suspend” 的用户才使用suspend2;那些已经顺畅地板使用suspend2的用户自然就觉得suspend2很好。Ted Ts'o指出suspend2有一个活跃的用户和开发者社区来支撑suspend2工作。相反, 核心suspend的用户只能靠自己。
也就是说将suspend2代码放入核心还似乎不可能。 该代码的质量受到了批评, 当时Nigel并没有做辩解。不管批评是否正确,suspend2的补丁是巨大的,Nigel还没有有效地处理核心开发社区的其余部分。庞大的补丁似乎不是发展的趋势。
和其它功能一样, “software suspend”的真正问题不是核心代码。许多情况下,要解决的问题相当明了, 但是人们不去做。在人们对software suspend 做修改之前,software suspend可能继续是一个tricky的问题。
摘自:http://lwn.net/Articles/191657/