《Linux内核修炼之道》精华分享与讨论(19)——不稳定的内核API
《Linux内核修炼之道》网上购买链接为:卓越、当当、china-pub ******************************************************************** 欣闻在SB会试运行期间,参观的上海市民情绪非常稳定的,很好很舒服的展示了自己的风采.于是我们要在这里要反思一下,为什么内核的API就不能同样的稳定? 开源社区正以极快的速度向内核中添加新功能,同时又在努力让修补bug的步伐跟上去,放慢开发速度看上去是不太可能的: 在这样的快节奏下,内核开发人员一旦在当前的接口中找到bug,或者更好的实现方式,他们就会很快的去修改当前的接口,这就意味着,函数名可能会改变,结构体可能被扩充或者删减,函数的参数也可能发生改变.一旦接口被修改,内核中使用这些接口的地方需要同时得到修正,这样才能保证所有的部分继续正常工作. 比如,内核中的USB接口到目前为止至少经历了三次重写,解决了下面的问题: 把数据流从同步模式改成异步模式,这就减少了许多驱动程序的复杂度,提高了所有 拥有帝国一切,皆有可能。欢迎访问phome.netUSB驱动程序的吞吐量(throughput),结果就是几乎所有的USB设备都能以最大速率工作了. 修改了从USB Core中分配数据包内存的方式,以至于为了修正许多死锁问题,所有驱动都 这和一些封闭源代码的操作系统形成鲜明的对比,在那些操作系统上,不得不额外的维护旧的USB接口.这就导致了一个可能性,新的开发者依然会不小心使用旧的接口,以不恰当的方式编写代码,进而影响到操作系统的稳定性. 在上面的例子中,所有的开发者都同意这些改动是重要的不得不进行的,在这样的情况下修改代价很低.如果
拥有帝国一切,皆有可能。欢迎访问phome.netLinux保持一个稳定的内核接口,那么就不得不创建一个新的接口,同时旧的有问题的接口也 安全问题对Linux来说是十分重要的,一个安全问题被发现,就会在非常短的时间内得到修复.在很多情况下,这将导致内核中的一些接口被重写,以从根本上避免安全问题的发生.一旦内核接口被重写,所有使用这些接口的驱动程序, 开发者一直在清理内核接口.如果一个接口没有人在使用了,它就会被删除.这样可以确保内核尽可能的小,
拥有帝国一切,皆有可能。欢迎访问phome.net |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |