boot – すべての OS は RAM が必要ですか?

boot memory operating-systems ramdisk

RAMなしで使えるOS、具体的には起動可能なペンドライブを作成してコンピュータで使えるようなOSはありますか?ブートするということは、基本的にはRAMにOSをロードするということなので、これは厄介なことになります

注:私はもともと私のラップトップ(起動しないが、空白の画面を提示する)RAMが悪くなったかどうかを確認するためにRAMレスOSについて知りたかったのですが、私はこの質問が雪だるま式になっている方法が好きです

  76  None  2014-08-31


ベストアンサー

すべてのOSにRAMは必要ですか?IBM PC互換ハードウェアの場合、BIOS POSTプロセスの必須ステップは、BIOSをロードするためのRAMがあるかどうかをチェックすることです。オプションで、POSTプロセスはRAMが正しく機能しているかどうかをチェックします。POSTプロセスの後、BIOSはブートローダをRAMにロードし、ブートローダに制御を与えます。あなたの質問(「すべての OS に RAM は必要か?」)に対する答えは次の通りです。これは、そのハードウェア上で動作するすべての OS に当てはまります

OPの元の質問では、「ノートパソコン」についての言及がありましたが、私はこれを次のように解釈しました。IBM PC互換性のあるハードウェア。この回答の残りの部分については、私はIBM PC互換のハードウェアと仮定します

故障した RAM で OS を起動できますか?RAM が故障していたり (完全にない/壊れていない)、RAM を (部分的に) 交換できる場合は、BadRAMBadMEM カーネルパッチを使って起動できるかもしれません。それはあなたがカーネルを再コンパイルする必要があります(初めて行う場合よりも簡単に聞こえます)、あなたは再起動して、あなたのバッドメモリがどこにあるかをカーネルに伝えることができます。Memtest86/Memtest86+, BadRAM/BadMEM の使い方についての説明は こちら にあります

RAMなしでCPUのキャッシュをRAMとして使用してOSを起動することは可能でしょうか? 私が知っている限りでは、システムにRAMが存在しない状態でCPUのキャッシュをRAMとして使用する方法は、コメント欄で(@philippさんなどが提案しているように)ありません。もしあるのであれば、ここに追加していただけるとありがたいです。私がこのテーマで見つけることができた唯一の論文は、this paperである。”RAMが初期化されるまでプロセッサのキャッシュをRAMとして使用する」と書かれています。RAMなしで動作するかどうか(そしてどのように)はわかりません。私の知る限りでは、IBM互換PCでOSを起動するコードはありません。概念実証や作業コードなどの参考文献があればコメントで歓迎します

BIOSへのアクセスは可能ですか?OPの質問は、ラップトップがBIOS POSTを通過できるかどうかが少し曖昧です。Tonnyさんが指摘されているように、どのOSでも「BIOSに入る」ことはできません。BIOSに入るには、BIOSのブランドに応じて、F1F2F10DELESCキーを使います

RAMなしでラップトップからデータを回復する方法は?あなたの質問の背後にある目的のために:なぜあなたはあなたのラップトップにアクセスする必要がありますか?おそらく、あなたが回復したいHDD上のデータが残っているからでしょうか?そうであれば、HDDを引き出して(マニュアルを参照)、外部記憶装置に接続したり、PCに直接接続したりする方がはるかに簡単です。ここはちょうどそれを行うための素晴らしいガイドです

95  agtoever  2014-08-31


理論的には可能だが、CPUのキャッシュに収まらない一時的なストレージにはディスクを使う必要があるので、非常に遅くなるだろう。(CPUはRAMですら遅いので数メガバイトのキャッシュを持っている。考えてみてください)。だから、かなり小さいOSが必要になる

(まあ、組み込みシステムオンチップでは、RAMや内蔵フラッシュメモリからコードを実行することができます – PCのBIOSは理論的には同じことができますが、OS全体を実行することはできません)

しかし、もう一つのことは、BIOSはインストールされているOSの前であり、その外で動作しています。BIOSにアクセスできない場合、他のOSは何の役にも立ちません

33  user1686  2014-08-31


多少の努力をすれば、RAMを含まないシステムを設計することができます。ソフトウェアをROM(またはストレージ)からロードし、すべてをレジスタまたはキャッシュで実行します。そのようなシステムは、例外的に狭い範囲での使用を持っているだろうし、今日のRAMの価格は少し無意味であることを与えられた。既製品のラップトップは、いくつかのオンボードメモリなしでは機能しません

あなたの本当の質問は、より可能性が高い “どのように私は起動しないコンピュータから情報を取得するには “であり、それは簡単です。それを分解し、ドライブを取り外し、外付けのドライブケースに接続します

しかし、20 ドルの RAM を手に入れることができないほど古いコンピュータには、ATA (SATA ではなく通常の ATA) ドライブが搭載されていることに注意してください。このインターフェイスは今日ではほぼ絶滅していますので、ATA カードとフルサイズからラップトップサイズへのアダプタを備えたドライブケースを見つける必要があります。私は 2000 年に購入したものを持っていますが、この目的のために古いケースをいくつか持っています

15  peter  2014-08-31


私が質問を正しく読むならば、ここにいる全員が間違った木の上で吠えている

“BIOSにアクセスするために “と明言している

ラップトップが壊れてBIOSにすら入らないなら、他のことは全て無意味だ

RAMの状況に関わらず、これではOSを起動することはできません

10  Tonny  2014-09-02


メモリが故障しているというあなたの推測は、おそらく無効です。ビープ音や画面上のメッセージが出ない場合、根本的な原因はほぼ間違いなくCPUの故障(やや考えにくい)かメインボードの故障(非常に可能性が高い)です。メインボードの故障は、ROHS運動の初期の頃にはよく見られた、はんだ接合部の冷たさが原因です。製造技術は鉛系はんだを使用するように最適化されていましたが、業界がそれに追いつき、問題を解決するのに時間がかかりました。多くの部品メーカーは、プロセスをアップグレードするためにお金をかけようとは思っていませんでした。結局のところ、デバイスはテストを行って正常に動作し、保証期間が終了した後、数ヶ月後や数年後に不具合が発生するだけでした。唯一の失敗とユーザーからの強烈な負のフィードバックの成長の山とメーカーは物事を改善し始めた.このようなラップトップでは、冷えたはんだ接合部を修正するためにメインボードを再フローさせることは、ほぼ確実にコストがかかります

8  sewalk  2014-09-01


1980年代前後の初期のコンピュータのほとんどは、ROMチップに何らかのオペレーティングシステム(ハードウェアドライバ、IOサポート、プログラムのロード、非常にシンプルなコマンドラインインターフェースなど)を搭載していました。RAMチップが動作しない状態でもある程度機能することができた。この機能は、ハードウェアテストを実行するために設計された特別なROMコンテンツのバージョンで使用され、ほとんどの場合、ブザーとキーボードのライトを介して通信します

CPUは、少なくとも実行中のコマンドのアドレスを記憶するための複数のレジスタを有しているが、これらは通常RAMとは呼ばない

通常のC言語のコードは、スタックメモリを使って変数を割り当てるため、スタックがRAMにあるため、RAMがないシステムでは実行できません。最近のコンピュータが起動した場合、RAMリフレッシュ装置が動作するには初期設定が必要なため、最初は通常のダイナミックRAMが利用できません。アセンブリコードが最初に実行され、マザーボードの初期化を行います。RAMが動作するようになり、Cコードが動作するようになります

5  h22  2014-09-02


私が1967年に大学に通っていた頃、コンピューティング部門にはStantec Zebraがあった。メモリは8192ワードの磁気ドラムで構成されていました。また、12個のレジスタと2個のアキュムレータがありました。あなたはそれをRAMと考えるかもしれませんが、私たちが知っているようにはそうではありません

4  David Marshall  2014-09-03


CPUの実行ユニットが機能するためには、少なくともレジスタ用のオンチップキャッシュ(基本的にはごく少量のオンチップRAM)が必要になります。つまり、あなたのCPUでさえ「RAM」を持っているのです

Von-NeumannのOSはメモリを必要としないように設計されていないと思います

So no.

3  Hi Lo  2014-09-02


ここにいる他のすべての人々と同様に、私はあなたがRAMを必要とし、それなしで動作することはできませんが、私はまた、次のように読んでください事実に同意するものとします

(本来はRAMがダメになったかどうかを確認するためにRAMレスのOSをロードしたかったのですが、この質問が雪だるま式になってしまったのは好感が持てます)

これは実際にはBIOSに存在し、RAMを詳細にチェックする機能があります。起動してBIOSの中に入るときに、”Quick Power-on self test “オプションをoffに変更すると、RAMの完全なチェックパスを行います。このオプションは「advanced BIOS features」の中にあるはずで、AMI BIOSesのセカンドチョイスのようなものです

それが一歩先に進むことを願っています。)

3  Olivier M.  2014-09-03


例えば、チューリングマシンを使用すると、RAMは必要ありません

チューリング・マシンは、ルールの表に従ってテープの上の記号を操作する仮想的な装置です。チューリングマシンは、そのシンプルさにもかかわらず、あらゆるコンピュータアルゴリズムの論理をシミュレートすることができ、コンピュータ内部のCPUの機能を説明するのに特に有用です

テープをRAMとは思わない)

今、あなたの本当の質問は、「役に立つ」について質問し、「役に立つ」とは何を意味するのかを定義することです

3  Ian Ringrose  2014-09-03


組込み用に特化したOSがあり、ROM(読み取り専用メモリ)から完全に動作するようになっていますが、何か役に立つことをするためには、通常は少なくとも少量のRAMが必要です。しかし、RAMなしで起動するPCを見たことがありません

メモリテストについての元の質問についてですが、もしコンピュータがPOSTする(つまり、電源投入時のセルフテストを通過して起動しようとする)のであれば、Memtest86はRAMをテストするために特別に設計されています。最初の 64KB の RAM をテストし、その RAM に自分自身をロードし、残りのシステムメモリを好きなだけ徹底的にテストします。”フレーキー “メモリ(単なる不良メモリとは対照的に)は珍しいですが、Memtest86がコンピュータのメモリテストが見逃した不良ビットを断続的にキャッチするのを見たことがあります(結局のところ、POSTメモリテストは妥当な長さの時間で完了するように意図されていますが、memtest86の最速のテストは5-10分、より包括的なテストでは何時間もかかります)

3  user153822  2014-09-04


はい、あなたはRAMなしのコンピュータを持つことができます。ほとんどの x86 プロセッサには、キャッシュのみで実行できる特別なモードがあります。coreboot (旧 linuxbios) をチェックすると、それができます。これはキャッシュ・アズ・ラムと呼ばれています。実際には、これをベースにしてオペレーティングシステム全体を作ることもできますし、最近の大規模なキャッシュを使えば、最終的にはGUI(menuet-osをチェックしてください)を持つこともできます。しかし、まだ誰もやっていません

1  Jorge Aldo  2015-05-03


タイトルとURLをコピーしました