我正在Linux嵌入式主板(运行Debian)上开发应用程序,例如Raspberry Pi,Beagle Board / Bone或olimex。这些板的工作环境是意外断电(放置PSU等非常复杂),并且每天都会发生两次。我想知道意外的断电是否会导致Linux操作系统崩溃或出现问题?如果要担心的话,您将建议如何防止因意外断电而导致操作系统损坏?
PS。该应用程序需要将一些数据写入存储介质(SD卡),我认为将其安装为只读状态不适合。
我正在Linux嵌入式主板(运行Debian)上开发应用程序,例如Raspberry Pi,Beagle Board / Bone或olimex。这些板的工作环境是意外断电(放置PSU等非常复杂),并且每天都会发生两次。我想知道意外的断电是否会导致Linux操作系统崩溃或出现问题?如果要担心的话,您将建议如何防止因意外断电而导致操作系统损坏?
PS。该应用程序需要将一些数据写入存储介质(SD卡),我认为将其安装为只读状态不适合。
Answers:
意外的断电可能会导致文件系统数据损坏-例如,如果某个进程已开始写入文件,但尚未完成写入操作,则该文件最终只能写入一半。现在想象一下,在您完成内核升级一半时是否发生了断电...
正如l0b0所写,使用日记文件系统将有所帮助,因为它将能够跟踪实际完成的工作。除了维基百科的信息是l0b0链接,你可能有兴趣在 /unix/12699/do-journaling-filesystems-guarantee-against-corruption-after-a-power-failure以及。
作为程序员,您显然需要仔细考虑如何处理对文件的写入,以使其成为一个原子过程(即,它要么完全完成,要么根本没有完成,但永远不会完成)。这是一个相当复杂的问题。