これは実際にはソフトウェアとハードウェアの両方の問題です。
他の回答で前述したように、現在のアーキテクチャはプロセスを高速化するために多くのキャッシュメカニズムを使用しています。停電時には、たとえファイルに書き込んだと思っていたとしても、不揮発性メモリに書き込まれていないコンテンツは失われます。これはデータの損失です。一部のファイルシステムは、I / Oレートを改善するために、上記のプログラムと同じ順序でディスクに書き込まないため、これによりデータが破損する可能性もあります。ext4のアウトオブオーダー書き込みを無効にして一部のソフトウェアファイル破損防止メカニズムを引き続き機能させる人がいるのを聞いたことがありますが、ext4開発者は、このようなプログラムはファイルシステムの動作を保証するためにfsyncを使用する必要があると言います。
ハードウェアの問題もあります。極端なパワーダウンは、主にモーターなどの一部の電気部品の誘導動作により、過電圧または過電流につながる可能性があります。それでも、適切に設計されたハードウェアは、その後の損傷を防ぐことができるはずです。少し高価ですが、1年保証付きのコンピューターを購入した場合(オプションであっても)、少なくとも顧客の返品を処理する場合、メーカーが顧客の返品を処理するよりもフライバックダイオードを追加する方が安価です。したがって、非常に安価な電源を除き、ここでは心配していません。
過酷なシャットダウンを回避する今日の理由は、30年前とは異なることに注意してください。30年前、ファイルシステムは停電に非常に敏感であり、ファイルシステム自体を破壊することができました。今日、理論的にはファイルシステム全体ではなくファイルを破損する可能性があります。実際には、ハイエンドの最先端のパフォーマンスが必要な場合は、SSDに切り替えます。ソリッドステートドライブは、管理されたフラッシュ、通常はマルチレベルセルNANDフラッシュ(これはダブルレベルセルを意味します)、時にはトリプルレベルセルを使用します。これらの技術を使用すると、書き込み中の電力損失により、書き込み中のページが破損する可能性がありますが、同じブロック内の他の1つまたは2つのページも破損する可能性があります。ファイルシステムレベルでは、1つのファイルを変更すると、他のファイルやファイルシステムデータが破損する可能性があります。ウェアレベリング、ガベージコレクションにより、その他の修正および再配置メカニズム、ファイルシステムがSSDからのアクティビティを必要としない場合でも書き込みが発生することがあり(これはバックグラウンド操作と呼ばれます)、したがって、破損はファイルシステムの観点からは予測できません。このような破損を避けるために、一部のSSDメーカーは、SSDにコンデンサを追加して、電力損失が検出されたときにフラッシュで進行中の動作を終了できるようにします(これには約10msの電源が必要です)。SDカードとUSBフラッシュドライブには同じ制約がありますが、そのようなコンデンサは使用できません。一部のSSDメーカーは、SSDにコンデンサを追加して、電力損失が検出されたときにフラッシュで進行中の動作を終了できるようにします(これには約10msの電源が必要です)。SDカードとUSBフラッシュドライブには同じ制約がありますが、そのようなコンデンサは使用できません。一部のSSDメーカーは、SSDにコンデンサを追加して、電力損失が検出されたときにフラッシュで進行中の動作を終了できるようにします(これには約10msの電源が必要です)。SDカードとUSBフラッシュドライブには同じ制約がありますが、そのようなコンデンサは使用できません。
一言で言えば、適切に設計されたハードウェアは一般に電力損失に対して耐性がありますが、より高価です。ほとんどの場合、ソフトウェアは電力損失の証拠になりますが、他のソフトウェアの進化によって仮定が破られる場合があります。より安価なデザインを作成したり、デザインを小型化しようとすると、デザインの電力損失を防止する能力が低下する可能性があります。また、コンピュータが常に残忍な電力損失に抵抗するかどうかを知ることは困難です。