私の質問はかなり広範ですが、私は知っていますが、私はこれについて長いこと疑問に思っています。悪いUSBデバイスがバグのないLinuxカーネルをクラッシュさせることはできますか?
少し背景。私はすべてのラボコンピュータがDebian(古いバージョンとLennyのミックス)またはもっと最近Ubuntu 10.4 LTSを実行している物理ラボで働いています。私たちは、実験用ハードウェアや他のコンピュータとインターフェースするためのカスタムソフトウェアをたくさん書いています。
私たちは実験のさまざまな部分を制御するFPGAボードをたくさん持っています。これらのボードは、USBを介してさまざまなコンピュータに接続されています。実験を制御するコンピュータをアップグレードした後、すべてのレーザーを実行しているコンピュータのクラッシュ/ロックアップを開始しました。以前は完全に安定していました。
私の質問はこれです:実際のデバイス が、これはLinux上で非難することができます)ので A)のPython/GTKソフトウェアのGUI B)USBデバイスドライバ または Cの問題のアップ全体のコンピュータがロックした場合カーネル(または他のレベルのOS)?
ソフトウェア/ハードウェアの実装に間違いがあっても、パニックにならないようにLinuxカーネルに頼むのは不公正ですか?
自分の推測:ユーザーレベルのアプリケーションでは、自分のものにしかアクセスできないため、システム全体をクラッシュさせることはできません。
デバイスドライバは、カーネル自体の一部となり、クラッシュする可能性があります。私の推論は響きますか?
ボーナス質問:デバイスとカーネルを断熱して、Linuxが愚かな間違いがハードウェアで行われても幸せに走り続けるようにする方法があります。 1)実行中のシステムでデバッグが容易になる 2)実験の目的では、実際には長い稼働時間が必要で、システムクラッシュの一部のみが1つのクラッシュよりも無限に優れているシステムの一部は残りの部分に伝播します。
この件に関するリンクや読書資料はありがたいです。ありがとうございました。
私はクラッシュの専門家ではありませんが、私はあなたの推測で正しいと言います。ボーナスに関する質問については、_logical_ errors(すなわち、悪いプロトコル)は、カーネルがそれ以上問題なく対処しなければなりません。 _phisical_エラー(すなわち、短絡、過電流など)は、一般に、カーネルによって管理されることはできず、異なるレベルの災害を引き起こします。 – rodrigo