LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1131|回复: 6

大家讨论一下,有没有可能存在不停机升级内核的机制

[复制链接]
发表于 2004-3-30 22:33:50 | 显示全部楼层 |阅读模式
就是不能影响系统的服务,说的是单机情况
发表于 2004-4-4 15:20:02 | 显示全部楼层
我觉得不太可能!从硬件工作原理来说!
发表于 2004-4-29 15:42:36 | 显示全部楼层
这是个挺有趣的问题。理论上是可以作到,实际上似乎没人这么做。我想你大概是想用在嵌入式系统中,也许在这种应用场景中,会有类似的需求。

我记得2003年的《科学美国人》第8期(中文版,英文版是第6期)上有一篇文章介绍微启动技术,是用来提升系统容错性的。该文观点认为,没有不出错的系统,但存在不死机的系统。挺有趣。其实不停机生内核难度不算大(我指的是理论上,不是实践,没试过),真正有难度的是当前正在运行的服务不终止的情况下升内核。不停机的判定条件无非是不用reset,软件上可以将新内核替换进来,会有一种"Quick n Dirty"的方式。

想强调一种观点:如果该场景根本就没有实际的需求,那不会有人去研究它。按照我的推想:不终止正在运行的服务的情况下升内核似乎更有实际的应用场景,也更有吸引力。
 楼主| 发表于 2004-6-2 21:27:02 | 显示全部楼层
我想只有微内核才能做到,而且微内核要支持“多内核”协同工作机制,这样就可以在加载新内核后,把服务逐步切换到新内核。由于内核的特殊性,我觉得难度有几点:
1、内核工作在物理地址中,换内核地址变化是一个问题
2、要求内核之间,内核与模块之间有一个可切换的接口,这里有大量的工作
3、内核可切换后,可能带来根本上的安全问题!这是个大课题。
发表于 2004-7-14 11:10:00 | 显示全部楼层
应该是可以做到的,至少部分升级是毫无问题(我试过)。分布式系统中已经有很多很成熟的算法,不过还没见过有人往传统操作系统上用,可能是难度比较大。如果有兴趣(大概是个硕士课题),可以看看IBM的k42操作系统。
发表于 2004-7-15 14:51:27 | 显示全部楼层
有的,IBM dW上介绍了一个。一个内核patch
发表于 2004-7-16 18:13:07 | 显示全部楼层
最初由 daming_z 发表
有的,IBM dW上介绍了一个。一个内核patch


那篇?名字?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表