Что означает отсутствие синхронизации при панике ядра?

Что означает "не синхронизация" в сообщении о панике ядра?

Я прочитал, что это означает, что ядро ​​успешно синхронизировало данные с диском, но я не уверен.

Типичный контекст: «Паника ядра - не синхронизация - Попытка убить init!»


person Demi    schedule 11.10.2013    source источник
comment
Я считаю, что синхронизация означает синхронизацию с вашими жесткими дисками.   -  person SaltyEgg    schedule 11.10.2013
comment
Это связано с системным вызовом sync (2). Таким образом, отсутствие синхронизации означает потенциальную потерю и повреждение данных.   -  person Basile Starynkevitch    schedule 11.10.2013


Ответы (2)


not syncing означает, что буферы устройств не были сброшены на фактические устройства. Мы делаем это, чтобы предотвратить повреждение данных.

Если мы синхронизируемся при панике ядра, мы можем доставить много проблем пользователю. Это связано с тем, что паника ядра могла произойти где угодно и вызвать побочные эффекты для других модулей и частей ядра.

person Levente Kurusa    schedule 19.10.2013

Насколько я понимаю, есть много причин для паники ядра. Я просто пишу то, что понимаю здесь

В этом случае

Freeing unused kernel memory: 96k init

Kernel panic - not syncing: No init found. Try passing init=option to kernel

распространенной причиной является то, что образ корневой файловой системы (будь то RAM-диск, флэш-память или корневая файловая система NFS) does not have the supporting libraries for the binaries that the kernel is trying to execute.

Это означает, что динамический загрузчик может отсутствовать в rootfs, поэтому, когда ядро ​​пытается выполнить некоторые программы, оно не найдет требуемую динамическую библиотеку в rootfs. Вот kernel try to sycn (i.e data to be written to the underlying filesystems) with your hard disk which having rootfs. Когда ядро ​​видит, что динамический загрузчик отсутствует, ядро ​​паникует и жалуется, что не синхронизируется.

person vinay hunachyal    schedule 19.10.2013