
予測的自己修復は、コンポーネントの1つのエラーを予測、検出、および自動的に回復するオペレーティングシステムの機能です。ミニX、Solaris OSそしてLinux オンパワーすべてこれを持っています。しかし、x86プラットフォームの最新のLinuxディストリビューションで利用できますか?それともそうでしょうか?
答え1
現在(2015年末現在)これは、あなたが望む自己治癒のレベルによって異なります。
同様の議論が見つかりましたここ同じ質問について「Linux専門家」の1人が1 回答済みそれ:
カーネルでこれを行うことは、ポリシーとメカニズムの分離に違反することです。これを行うために必要なフックをユーザースペースに提供することには問題はありませんが、考えられる問題が検出されたときに何をすべきかを決定するのは通常ユーザースペースの責任です。 [簡単に言うと..]カーネル開発の問題ではなく、ディストリビューション/ベンダーの問題です。
したがって、カーネルの観点から見ると、Minixなどとは異なり、これをサポートする意図がないようです。しかし、私は彼が言った具体的な政策や彼のためのLinusの直接的な声明を見つけることができませんでした。
ユーザースペースの観点からは、少なくともファイルシステムレベルでこの問題を処理しようとしているようです。別の夏のように郵便はがき他のオペレーティングシステムはデータの破損をよりよく処理することができますが、btrfs
Linuxベースのオペレーティングシステムにもこの機能を実装するのは良い方法です。しかし彼はこう主張するが、安定、SUNよりはるかに強力ではありません(BSDベース)。ZFS読むことができるここ2。
1.クリス・スヌーク – 全選手レッドハットパートナー
btrfsベンチマークに関する非常に詳細な2つのブログ(やや否定的な結論を含む)(2015年9月16日)
答え2
いいえ、Linuxカーネルはモノリシックだからです。これは、個別に再起動できる複数の小さなプログラムで構成されるのではなく、1つの大きなバイナリです(MINXやHurdなどのマイクロカーネル設計に存在します)。
個人的には、この機能はまったく興味深いものではありません。競合が発生すると、一部の状態データが失われる可能性があり、最初のエラーの後にシステムが部分的に再起動して不安定になった場合でも、予期しない状態の変更によって引き続きより多くのエラーが発生する可能性があります。
フォールトトレランスを達成するための正しい方法は、複数のシステムに展開し、カーネル/OS層よりも高いセマンティクスレベルで互いの作業を確認することです。