
Wenn ich den Swappiness-Wert auf 100 setze und versuche, die unter Ubuntu installierte Festplatte im Computer meines Freundes zu booten, der keinen RAM hat, kann ich den Computer dann überhaupt ohne RAM booten?
Antwort1
Nein. Die CPU kann keinen Code aus dem Swap ausführen. Swapping funktioniert, indem RAM-Inhalte auf die Festplatte und andere Festplatteninhalte in den RAM verschoben werden, die Ausführung erfolgt jedoch immer aus dem RAM.
Und nein, es gibt keine Möglichkeit, Code oder Daten von der Festplatte direkt in die CPU-Caches zu übertragen. Sie können den RAM nicht umgehen.
Sogar Mikrocontrollerarchitekturen, die Code direkt vom NOR-Flash ausführen können, benötigen RAM für den Stapel, zumindest etwas integrierten SRAM, wie ihn einige Controller haben.
Antwort2
https://electronics.stackexchange.com/a/311839/111920enthält den Linkhttp://www.drdobbs.com/parallel/booting-an-intel-architecture-system-par/232300699?pgno=2das den Bootvorgang einer modernen Intel-CPU bis ins kleinste Detail beschreibt.
TL;DR: Nein. Es gibt tatsächlich eine Phase während des Bootens, in der die RAM-Chips nicht verwendet werden und der Prozessor läuft, wobei nur sein interner Cache als provisorischer RAM fungiert. Aber das ist sehr früh im BIOS-Ladeprozess und eines der ersten Dinge, die das BIOS tut, ist, den RAM zu initialisieren, um ihn verwenden zu können. Der dort laufende Maschinencode ist sehr spezialisiert und sehr handgemacht.
DanachsehrIm Anfangsstadium wird RAM für alles benötigt. Das bedeutet, dass Sie ohne RAM nicht einmal ins BIOS gehen, ein Videosignal empfangen oder von einem Medium booten können.