Это на самом деле проблема как программного, так и аппаратного обеспечения.
Как уже говорилось в других ответах, современные архитектуры используют множество механизмов кэширования для ускорения процессов. При отключении питания вы теряете содержимое, которое не было записано в энергонезависимой памяти, даже если вы думали, что записали его в файл. Это потеря данных. Это также может привести к повреждению данных, так как некоторые файловые системы не записывают данные на диск в указанном выше порядке программы, улучшить тариф и / О. Я слышал о некоторых людях, отключающих неупорядоченные записи в ext4, чтобы некоторые механизмы предотвращения повреждения файлов программного обеспечения все еще работали, в то время как ext4 разработчики говорят, что такая программа должна использовать fsync, чтобы обеспечить поведение файловой системы.
есть также аппаратные проблемы. Брутальное отключение питания может привести к перенапряжению или перегрузке по току, в основном из-за индуктивного поведения некоторых электрических компонентов, в основном двигателей. Тем не менее, хорошо разработанные аппаратные средства должны быть в состоянии предотвратить последующие повреждения. Это немного дороже, но, если вы покупаете компьютеры с гарантией на один год (даже необязательно) или, по крайней мере, обрабатываете возвраты клиентов, производителю дешевле добавить диод обратной связи, чем обрабатывать возвраты клиентов. Поэтому я не волнуюсь здесь, кроме очень дешевых источников питания.
стоит отметить, что сегодняшние причины избежать брутального отключения отличаются от 30 лет назад. 30 лет назад системы были очень чувствительны к сбоям питания, и вы смогли повредить саму файловую систему. Сегодня вы можете повредить файлы, но теоретически не всю файловую систему. Практически, Если вы хотите высокого класса, состояние искусства производительности, вы переключитесь на SSD. Твердотельные накопители используют управляемую вспышку, обычно многоуровневые ячейки NAND flash (это означает ячейки двойного уровня), иногда ячейки тройного уровня. С теми технологиями, на потерях элекпропитания во время напишите, вы смогите коррумпировать страница пишется, но также одна или две другие страницы в том же блоке. На уровне файловой системы, изменение одного файла может повредить другой файл, или даже данные файловой системы. Из-за выравнивания износа, сборки мусора и других механизмов правильного перемещения записи могут происходить даже тогда, когда файловая система не требует никакой активности от SSD (это называется фоновой операцией), и поэтому повреждения непредсказуемы с точки зрения файловой системы. Чтобы избежать такой коррупции, некоторые Производители SSD добавляют конденсаторы в свои SSD-накопители, чтобы завершить любую текущую операцию на flash при обнаружении powerloss (для этого требуется примерно 10 мс источника питания). SD-карты и USB-накопители имеют одинаковые ограничения, но не могут иметь такие конденсаторы.
для того чтобы положить его в двух словах, хорошо конструированное оборудование вообще доказательство потерь элекпропитания, но дорогой. Программное обеспечение является доказательством потери мощности большую часть времени, но иногда предположения могут быть нарушены эволюцией другого программного обеспечения. Любой попытка сделать более дешевый дизайн или миниатюризировать дизайн может уменьшить возможность сделать дизайн устойчивым к потерям мощности. Это также трудно знать, если ваш компьютер всегда будет противостоять жестокой потери мощности.