什么是内核启动期间的同步?

什么是内核启动期间的同步?

如果某些原因阻止 Linux 系统启动,通常会看到以下消息:

kernel panic - not syncing: [Error Message]

但“不同步”是什么意思?到底是什么不同步?

我之前唯一见过同步的地方是sync系统调用,即将缓冲区缓存提交到磁盘

答案1

您是正确的,它指的是同步磁盘。如果内核发生恐慌,可能有多种原因 - 包括文件系统代码中的软件错误。

同步磁盘可能会将损坏的数据写入磁盘,例如,如果恐慌是由于 Ext4 中的错误造成的,那么内核会谨慎行事,不会将任何内容刷新到磁盘,因为它不再相信数据是不再有效。

此外,如果由于硬件问题(例如 RAM 损坏)而发生紧急情况,同步磁盘也可能会将损坏的数据从内存写入磁盘。如果文件系统因此损坏,系统可能会在重新启动后拒绝启动,或者可能需要进行 fsck。

总体思路是,如果内核本身崩溃了,就不要再信任任何东西,只需停止系统即可。

相关内容