RAMなしでubuntuを使用することはまったく可能ですか?


15

swappinessの値を100に設定し、RAMのない友人のコンピューターにubuntuがインストールされたハードドライブを起動しようとすると、Ramなしでコンピューターを起動できますか?



31
友達のコンピューターにRAMがないとはどういう意味ですか?本当にコンピューターですか?
テルドン

5
@terdon ティーポットです。

回答:


47

いいえ。CPUはスワップからコードを実行できません。スワップは、RAMの内容をディスクに、他のディスクの内容をRAMに移動することで機能しますが、実行は常にRAMから行われます。

いいえ、コードまたはデータをディスクからCPUキャッシュに直接転送する方法はありません。RAMをバイパスすることはできません。

NORフラッシュから直接コードを実行できるマイクロコントローラーアーキテクチャーでさえ、スタック用のRAM、一部のコントローラーが備えているように少なくとも一部の内蔵SRAMが必要です。


1
@LưuVĩnhPhúcそのとおりです。ARM Cortex-Aコアを備えたこれらのSoCを「マイクロコントローラー」と呼ぶことに慣れていますが、これは誤解を招くかもしれません。それらはMMUを持ち、Linuxを実行でき、通常はその内部SRAM(ブートコードに必要)も持っていますが、フラッシュから直接コードを実行できるとは思いません。まあ、OPはとにかく普通のPCを考えているようです。
フィリポス

1
私が考える S390 LinuxはHDDから直接コードを実行することができます。S390は31ビットアーキテクチャであり、コードの代わりにすべてのバイトをデータに使用できるようにすることが勝利であるため、この機能が追加されました。ただし、メインフレームとマイクロコントローラーの両方に価値があるという独自の区別(つまりLinuxスケーリングの2つの極端な端)があり、その間には何の興味もないため、このパッチセットは記憶に残ります。
ヨルグWミットタグ

2
ああ、それはXIP機能(eXecute In Place)です。明らかに、データ用にまだRAMが必要です。それはコードについてのみです。
ヨルグWミットタグ

1
@rackandboneman組み込み開発者として、RTOSを介した8ビットコントローラーのネイキッドアセンブラーから組み込みLinuxまで、すべてを行いました。私が会った最小のメモリは、3つのリターンアドレススタック用のメモリを備えたATtinyでした。それなしでは、割り込みさえできませんでした!ここで、このスタックメモリがRAMであるかレジスタであるかを議論しないでください...(-:
Philippos

1
@Philipposなぜ私が主張するのか-私たちは同じことを話している。
rackandboneman

7

/electronics//a/311839/111920は、リンクが含まれhttp://www.drdobbs.com/parallel/booting-an-intel-architecture-system-par/232300699?pgno=2説明します最新のIntel CPUの起動プロセス。

TL; DR:いいえ。確かに、ブート中にRAMチップが使用されず、仮のRAMとして機能する内部キャッシュのみでプロセッサが実行されているフェーズがあります。しかし、これはBIOSのロードプロセスの非常に早い段階であり、BIOSが最初に行うことの1つは、RAMを使用できるように初期化することです。そこで実行されるマシンコードは、非常に特殊で、非常に手作りです。

その非常に早い段階の後、すべてにRAMが必要です。つまり、BIOSを使用したり、ビデオ信号を取得したり、RAMを使用せずにメディアから起動したりすることができなくなります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.