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