Wenn ich den Wert für swappiness auf 100 setze und versuche, die auf der Festplatte meines Freundes installierte Ubuntu-Festplatte ohne RAM zu booten, kann ich den Computer dann überhaupt ohne Ram booten?
Wenn ich den Wert für swappiness auf 100 setze und versuche, die auf der Festplatte meines Freundes installierte Ubuntu-Festplatte ohne RAM zu booten, kann ich den Computer dann überhaupt ohne Ram booten?
Antworten:
Nein. Die CPU kann keinen Code aus dem Swap ausführen. Das Austauschen funktioniert, indem RAM-Inhalte auf die Festplatte und andere Festplatteninhalte in den RAM verschoben werden. Die Ausführung erfolgt jedoch immer über den 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 Mikrocontroller-Architekturen, die Code direkt aus NOR-Flash ausführen können, benötigen RAM für den Stack, zumindest einige eingebaute SRAMs wie manche Controller.
/electronics//a/311839/111920 enthält den Link http://www.drdobbs.com/parallel/booting-an-intel-architecture-system-par/232300699?pgno=2, der das beschreibt Bootvorgang einer modernen Intel-CPU bis ins kleinste Detail.
TL; DR: Nein. Während des Startvorgangs gibt es tatsächlich eine Phase, in der die RAM-Chips nicht verwendet werden und der Prozessor nur mit seinem internen Cache als Behelfs-RAM ausgeführt wird. Dies ist jedoch sehr früh im BIOS-Ladevorgang und eines der ersten Dinge, die das BIOS tut, ist die Initialisierung des RAM, um es verwenden zu können. Der dort ablaufende Maschinencode ist sehr spezialisiert, sehr handgefertigt.
Nach diesem sehr frühen Stadium wird RAM für alles benötigt. Dies bedeutet, dass Sie ohne RAM nicht einmal in der Lage sind, das BIOS aufzurufen, ein Videosignal zu empfangen oder von einem beliebigen Medium zu booten.