Gibt es ein Betriebssystem, das ohne RAM verwendet werden kann, insbesondere die Art, mit der ich ein bootfähiges Pendrive erstellen und im Computer verwenden kann? Dies ist umständlich, da beim Booten im Wesentlichen das Betriebssystem im RAM geladen wird.
Hinweis: Ursprünglich wollte ich wissen, ob ein RAM-freies Betriebssystem vorhanden ist, um zu überprüfen, ob der RAM-Speicher meines Laptops (der zwar nicht bootet, aber einen leeren Bildschirm anzeigt) fehlerhaft ist.
boot
memory
operating-systems
ramdisk
Suvarna Pattayil
quelle
quelle
Antworten:
Benötigt jedes Betriebssystem RAM?
Bei IBM PC-kompatibler Hardware besteht ein obligatorischer Schritt des BIOS-POST-Prozesses darin, zu überprüfen, ob RAM zum Laden des BIOS vorhanden ist. Optional funktioniert die POST-Prozessüberprüfung Ihres RAM korrekt. Nach dem POST-Vorgang lädt das BIOS den Bootloader in den RAM und gibt dem Bootloader die Kontrolle. Die Antwort auf Ihre Frage ("Benötigt jedes Betriebssystem RAM?") Lautet also: Ja, jede IBM PC-kompatible Hardware benötigt mindestens ein funktionierendes RAM, um zu starten. Dies gilt für alle Betriebssysteme, die auf dieser Hardware ausgeführt werden.
Beachten Sie, dass sich in der ursprünglichen Frage des OP ein Verweis auf einen "Laptop" befand, den ich folgendermaßen interpretierte: IBM PC-kompatible Hardware. Für den Rest dieser Antwort gehe ich von IBM PC-kompatibler Hardware aus.
Kann ein Betriebssystem mit fehlerhaftem RAM booten?
Wenn Ihr RAM fehlerhaft ist (und nicht vollständig fehlt / defekt ist) oder Sie Ihren RAM (teilweise) ersetzen können, können Sie möglicherweise mit den BadRAM of BadMEM- Kernel-Patches booten . Sie müssen den Kernel neu kompilieren (klingt einfacher als beim ersten Mal) und Sie können den Kernel neu starten und ihm mitteilen, wo sich Ihr fehlerhafter Speicher befindet. Eine schöne Erklärung für die Verwendung von Memtest86 / Memtest86 + , BadRAM / BadMEM gefunden werden kann hier .
Kann ein Betriebssystem ohne RAM starten und den Cache der CPU als RAM verwenden?
Soweit ich weiß, gibt es in den Kommentaren keine Möglichkeit, den Cache Ihrer CPU als RAM zu verwenden, ohne dass RAM auf Ihrem System vorhanden ist (wie von @philipp und anderen vorgeschlagen). Wenn ja, wäre es schön, es hier hinzuzufügen. Das einzige Papier , das ich zu diesem Thema finden konnte , ist dieses Papier , die besagt: „Prozessor-Cache als RAM , bis die RAM initialisiert wird“. Ich bin nicht sicher, ob (und wie) es ohne RAM funktionieren wird . Soweit ich weiß , gibt es keine Arbeitscode, der ein Betriebssystem auf einem IBM - kompatiblen PC bootet. Verweise auf Proof-of-Concepts, Arbeitscode oder Ähnliches sind in den Kommentaren willkommen. Ich werde sie dieser Antwort hinzufügen.
Kann ich auf das BIOS zugreifen?
Die Frage des OP ist etwas vage, ob der Laptop den BIOS-POST bestehen kann. Wie @Tonny hervorhebt, wird Ihnen kein Betriebssystem dabei helfen, " zum BIOS zu gelangen ". Sie rufen das BIOS mit der Taste F1oder F2oder F10oder DELoder auf ESC, je nach BIOS-Marke.
Wie man Daten vom Laptop ohne RAM wieder herstellt?
Was das Ziel Ihrer Frage betrifft: Warum benötigen Sie Zugriff auf Ihren Laptop? Wahrscheinlich, weil sich noch Daten auf der Festplatte befinden, die Sie wiederherstellen möchten? In diesem Fall ist es viel einfacher, die Festplatte herauszuziehen (siehe Handbuch) und an ein externes Speichergerät oder direkt an einen PC anzuschließen. Hier ist eine nette Anleitung, um genau das zu tun.
quelle
Theoretisch ist dies möglich , aber es ist sehr langsam, da die Festplatte für temporären Speicher verwendet werden muss, der nicht in die CPU-Caches passt. (CPUs haben ein paar Megabyte Cache, weil ihnen selbst RAM zu langsam ist . Denken Sie darüber nach.) Sie benötigen also ein ziemlich kleines Betriebssystem.
(Nun, eingebettete Systeme auf dem Chip können Code entweder aus dem RAM oder dem internen Flash-Speicher ausführen - das PC-BIOS könnte theoretisch dasselbe tun, aber es kann nicht das gesamte Betriebssystem ausführen.)
Eine andere Sache ist jedoch, dass das BIOS vor und außerhalb aller installierten Betriebssysteme ausgeführt wird. Mit dem BIOS können Sie von einem Pendrive oder was auch immer booten. Wenn Sie das BIOS nicht erreichen können , hilft Ihnen kein anderes Betriebssystem der Welt.
quelle
Mit einigem Aufwand können Sie ein System entwerfen, das keinen RAM enthält. Laden Sie Ihre Software aus dem ROM (oder Speicher) und erledigen Sie alles in Registern oder im Cache. Ein solches System hätte eine außergewöhnlich enge Nutzung und wäre angesichts der heutigen RAM-Preise ein bisschen sinnlos. Ein handelsüblicher Laptop funktioniert ohne integrierten Speicher nicht.
Ihre eigentliche Frage lautet eher "Wie erhalte ich Informationen von einem Computer, der nicht gestartet werden kann", und das ist ganz einfach. Zerlegen Sie es, entfernen Sie das Laufwerk und schließen Sie es an ein externes Laufwerkgehäuse an.
Beachten Sie jedoch, dass jeder Computer, der alt genug ist, um nicht nur einen Arbeitsspeicher von 20 US-Dollar zu erhalten, über ein ATA-Laufwerk (normales ATA-Laufwerk, kein SATA-Laufwerk) verfügt. Diese Schnittstelle ist heute fast ausgestorben, sodass Sie auch ein Laufwerksgehäuse mit einer ATA-Karte sowie einen Adapter in Laptopgröße finden müssen. Ich habe eine, die ich im Jahr 2000 gekauft habe, und ich habe ein paar alte Koffer nur für diesen Zweck.
quelle
Wenn ich die Frage richtig lese, bellt jeder hier den falschen Baum an.
Er gibt ausdrücklich "um zum BIOS zu gelangen" an.
Wenn der Laptop so kaputt ist, dass er nicht einmal ins BIOS gelangt, ist alles andere sinnlos.
Unabhängig von der RAM-Situation können Sie auf diesem Computer KEIN Betriebssystem booten.
quelle
Ihre Annahme, dass der Speicher schlecht ist, ist wahrscheinlich ungültig. Wenn Sie keine Signaltöne oder Bildschirmmeldungen erhalten, ist die Hauptursache mit ziemlicher Sicherheit eine ausgefallene CPU (etwas unwahrscheinlich) oder ein ausgefallenes Mainboard (sehr wahrscheinlich). Mainboards versagen mit der Zeit aufgrund von kalten Lötstellen, die in den frühen Tagen der ROHS-Bewegung häufig vorkamen und die die Verwendung von bleifreiem Lot erforderten. Die Herstellungstechniken wurden für die Verwendung von bleibasiertem Lot optimiert, und es dauerte eine Weile, bis die Branche die Probleme erkannt und behoben hatte. Viele Komponentenhersteller waren nicht sehr bereit, das Geld für ein Upgrade ihrer Prozesse auszugeben. Immerhin würden die Geräte einwandfrei getestet und gebrannt, und erst Monate oder Jahre später, nachdem die Garantie wahrscheinlich abgelaufen war, versagen. Erst mit einem wachsenden Berg von Fehlern und intensiven negativen Rückmeldungen von Anwendern begannen die Hersteller, die Dinge zu verbessern. Bei einem solchen Laptop ist es mit ziemlicher Sicherheit unerschwinglich, das Mainboard neu fließen zu lassen, um die kalten Lötstellen zu korrigieren.
quelle
Die meisten frühen Computer der 1980er Jahre hatten Betriebssysteme (Hardwaretreiber, E / A-Unterstützung, Laden von Programmen, sehr einfache Befehlszeilenschnittstelle usw.) im ROM-Chip. Es könnte etwas funktionieren, auch wenn RAM-Chips nicht funktionsfähig waren. Diese Funktion wurde in speziellen ROM-Inhaltsversionen verwendet, die für die Ausführung von Hardwaretests entwickelt wurden und hauptsächlich über die Signalton- und Tastaturbeleuchtung kommunizierten.
Die CPU hat mehrere Register, um sich mindestens die Adresse des ausgeführten Befehls zu merken, aber diese werden normalerweise nicht als RAM bezeichnet.
Regulärer C-Code kann in einem System ohne RAM nicht ausgeführt werden, da der Stapelspeicher zum Zuweisen von Variablen verwendet wird und sich der Stapel im RAM befindet. Wenn ein neuerer Computer gestartet wird, ist zunächst kein regulärer dynamischer RAM verfügbar, da das RAM-Aktualisierungsgerät erst eingerichtet werden muss, um zu funktionieren. Assembly-Code wird zuerst ausgeführt und führt die Motherboard-Initialisierung durch. RAM beginnt zu arbeiten und dann kann C-Code ausgeführt werden.
quelle
Als ich 1967 an die Universität ging, hatte die Computerabteilung ein Stantec Zebra . Der Speicher bestand aus einer Magnettrommel mit 8192 Wörtern. Es gab auch 12 Register und zwei Akkus. Sie könnten diesen Arbeitsspeicher in Betracht ziehen, aber nicht so, wie wir ihn kennen.
quelle
Sie würden mindestens einen On-Chip-Cache für Register benötigen (im Wesentlichen eine sehr kleine Menge an On-Chip-RAM), damit die CPU-Ausführungseinheit funktionieren könnte. So hat auch Ihre CPU "RAM".
Ich glaube, kein Von-Neumann-Betriebssystem wurde ohne den erforderlichen Speicher entwickelt.
Also nein.
quelle
Wie bei allen anderen hier, stimme ich der Tatsache zu, dass Sie RAM benötigen und nicht ohne RAM arbeiten können, aber ich habe auch Folgendes gelesen:
Dies ist tatsächlich im BIOS vorhanden, es gibt eine Funktion zur eingehenden Überprüfung des Arbeitsspeichers. Wenn Sie booten und das BIOS aufrufen, deaktivieren Sie die Option "Quick Power-On Self Test" (Schneller Selbsttest beim Einschalten), damit Ihr RAM vollständig überprüft wird. Diese Option sollte sich in "Advanced BIOS Features" (erweiterten BIOS-Funktionen) befinden, was bei AMI-BIOS der zweiten Wahl entspricht.
Ich hoffe, das bringt Sie einen Schritt weiter. ;-)
quelle
Sie nicht brauchen RAM zB eine Verwendung Turing - Maschine .
(Ich würde ein Band nicht als RAM betrachten.)
Jetzt sollten Ihre eigentlichen Fragen nach "nützlich" lauten und definieren, was Sie unter "nützlich" verstehen .
quelle
Es gibt spezielle Betriebssysteme für die eingebettete Verwendung, bei denen der gesamte ROM-Speicher (Nur-Lese-Speicher) zur Verfügung steht. Um jedoch etwas Nützliches zu tun, benötigen Sie in der Regel immer noch mindestens eine geringe Menge an RAM. Ich habe noch keinen PC gesehen, der ohne RAM bootet.
Bei der ursprünglichen Frage zu einem Speichertest wurde Memtest86 speziell zum Testen des Arbeitsspeichers entwickelt, wenn der Computer einen POST durchführt (dh den Selbsttest beim Einschalten besteht und versucht, den Computer zu starten). Es testet die ersten 64 KB RAM, lädt sich selbst in diesen RAM und testet dann den Rest des Systemspeichers so gründlich, wie Sie möchten. "Flakey" -Speicher (im Gegensatz zu einfach schlechtem Speicher) ist ungewöhnlich, aber ich habe gesehen, dass Memtest86 ein zeitweise schlechtes Bit abfängt, das der Speichertest des Computers übersehen hat (schließlich soll der POST-Speichertest in angemessener Zeit abgeschlossen werden Der schnellste Test von memtest86 dauert 5-10 Minuten, umfassendere Tests dauern Stunden.)
quelle
Ja, Sie können einen Computer ohne RAM haben. In den meisten x86-Prozessoren gibt es einen speziellen Modus, der es ermöglicht, sie nur mit Cache auszuführen. Wenn Sie nach Coreboot (früher Linuxbios) suchen, ist dies möglich. Es heißt Cache-as-RAM. Eigentlich kann man ein ganzes Betriebssystem darauf aufbauen, und mit den modernen großen Caches könnte es sogar eine GUI haben (siehe menuet-os). Aber noch keiner.
quelle