私はIntel Quark SoCを使用しており、3重障害が発生した後にRAMからデータを読み取ろうとしています。私は、リセットが発生する前にいくつかのデータを保存していて、プログラムの再起動後にそれを読みたいと思っています。これは可能ですか?またはRAMがクリアされていますか?リセット後にx86 "32ビット"のソフトリセットが解除されますか?
答えて
オペレーティングシステムによって異なります。 Linuxでは、解放されたときにメモリをクリアできるPaXのようなパッチがあります。コンピュータ自体は何も消去しないので、可変の初期値を信頼できません。 http://tdistler.com/2008/02/21/data-in-ram-can-be-recovered-after-power-off
固定された物理アドレスを使用して情報を格納することができる場合は、再起動するとそのデータを回復することができます。 ring0レベル(カーネルドライバ権限)を持たないOS(Windowsのような)の中で実行している場合、再起動する前にデータが保存されていた場所を見つけることができません。
例を挙げると、プレイステーション3のハックの1つは、コンソールの再起動後のメモリ内の変更の存続に依存していました。
元の質問から、オペレーティングシステムは関係ありません。ブートセクタのトラブルシューティングのように聞こえる。 –
コンピュータは通常、再起動時にPOSTの一部としてメモリをテストするときにメモリ自体をクリアします。 –
私はdownvotersの1つです。私はあなたが答えを出す時間を取ったことに感謝しますが、私は必ずしもこの質問に答えるとは思わない。 –
- 1. Linuxの32ビットx86でのバッファオーバーフロークエリ
- 2. 符号が11ビットから32ビットに拡張されます
- 3. CMakeList.txtの32ビットx86プロセッサを検出しますか?
- 4. VS 2010プロジェクト常にx86/32ビットをターゲットにしています
- 5. 32ビット32倍の32ビット32ビット乗算
- 6. $ {env:ProgramFiles(x86)} Powershell変数には32ビット/ x86システムに含まれるものは何ですか?
- 7. これは32ビットまたは64ビットのJVMですか?
- 8. x86ターゲットは32ビットWindows XPで実行されていません
- 9. RedmineをWindows 32ビット(x86)にインストールするためのステップバイステップガイド
- 10. x86アセンブリに2つの32ビットの数値を掛ける
- 11. mipsには32ビットのアドレスと32ビットの命令がありますか?
- 12. BorderStyleプロパティの値がリセットされた後にリセットされます
- 13. どうすれば64ビットで、c:¥program files(x86)を、32ビットではc:¥programファイルを使用できますか?
- 14. 符号は32ビットに拡張され、nビットから始まります - C
- 15. WASP PowerShell 32ビット
- 16. PDOで64ビットから32ビットに変換される整数
- 17. Visual C#2008 Express Editionで32ビットx86ビルドターゲットを設定しますか?
- 18. WMIとWin32_Process - 32ビットか64ビットかを判断しますか?
- 19. Wixで32ビットと64ビットのドライバをインストールしますか?
- 20. 32ビットから64ビットへの移動後にPyQtGraphが機能しない
- 21. x86-64 Linuxでは32ビットの絶対アドレスは許可されていませんか?
- 22. OrientDB 2.2。* +組み込み推奨32ビット/ x86構成/ JVMパラメータ
- 23. x86:32ビットの数値で1から0への遷移をカウントする
- 24. 32ビットと64ビットのPythonが衝突しますか?
- 25. 64ビットWindowsレジストリ - なぜ%ProgramFiles%が%ProgramFiles(x86)%に変換されますか?
- 26. 32ビットのRを32ビットのアクセスデータベースに接続する
- 27. 64ビットのDLLを32ビットのJVMにロードできますか?
- 28. 32ビットと64ビットのVS 2010ビルド(プログラムファイル)
- 29. ソフトウェアを32ビットから64ビットにコンパイル
- 30. Gradleの 'MyApplicationを' プロジェクトのリフレッシュが32ビット
はい、可能です。また、OS/2の時代には、プロテクトモードからトリプルフォールトによってリアルモードに切り替えるのと同様のテクニックを使用しました(8042キーボードコントローラによるリセットよりも高速でした)。そのトリックは、RAMを破壊しないウォームリセットを強制したいとシステムに指示しなければならないということです。オンラインで文書化されたBDA(http://stanislavs.org/helppc/bios_data_area.html)、特にメモリアドレス0x40:0x72または物理アドレス0x472を使用して行うことができます。私は、この技術はまだ三重の故障でも現代のハードウェアで動作すると信じていますが、私はしばらく試していません。 –
あなたは答えとして@MichaelPetchを書くべきです。 –
@DavidHoelzer:答えを書こうとする人は誰でも可能です。私はこれがまだ機能しているとは確信できません。私はいくつかのVMがそれを尊重していないことを知っています。彼らは今かもしれませんが、私は実際にはわかりません。私の知るところにはギャップがあり、私のコメントは、昔に働く可能性がより高いものに設定されています。私の気持ちは、おそらくXYの問題です。 –