Wie startet sich ein Computer neu?

490

Wie kann sich ein Computer neu starten? Wie sagt es sich, wenn es ausgeschaltet ist, dass es wieder eingeschaltet werden soll? Was für eine Software kann das?

Seth Carnegie
quelle
8
@ jer.salamon: Das sind eigentlich ganz andere Wege. Das Herunterfahren ruft eine ACPI-Routine auf, die ein Signal an das ATX-Netzteil sendet, das die Hauptspannungsschienen abschaltet.
Ignacio Vazquez-Abrams
13
Dies wird über das BIOS gesteuert - wenn Speicher
bereitgestellt wird,
118
Bei einem Neustart wird es nie wirklich ausgeschaltet.
Moab
10
Es gibt keine dummen Fragen. Nein, vielleicht gibt es welche - aber ich finde diese wirklich sehr interessant. Gekennzeichnet als Frage des Wochenkandidaten .
Slhck
4
Früher habe ich auf einem Remote-Server telearbeitet, der im Rechenzentrum des Unternehmens im Grunde nur ein PC ohne Bildschirm oder Tastatur war. Mein Server wurde normalerweise nie ausgeschaltet, aber manchmal startete ich ihn von meinem Ende mit WinXP Start-> TurnOffComputer-> Restart neu, um Instabilitäten zu beseitigen, die durch das Testen meines eigenen Codes verursacht wurden. Ich habe oft in Zeiten meiner Wahl gearbeitet, in denen das Rechenzentrum nicht besetzt war. Es war sehr ermüdend , was ich zufällig ausgewählt Schalten Sie als letzte Option, und hatte erst zwei Tage später für einen Bediener warten , um zu gehen und die Taste auf für mich Schalter!
FumbleFingers

Antworten:

597

tl; dr: Die Energiezustände in Ihrem Computer werden durch eine Implementierung von ACPI (Advanced Configuration and Power Interface) gesteuert. Am Ende eines Herunterfahrvorgangs legt Ihr Betriebssystem einen ACPI-Befehl fest, der angibt, dass der Computer neu gestartet werden soll. In Reaktion darauf setzt das Motherboard alle Komponenten mit ihren jeweiligen Rücksetzbefehlen oder -zeilen zurück und folgt dann dem Bootstrap-Prozess. Das Motherboard schaltet sich nie aus, sondern setzt nur verschiedene Komponenten zurück und verhält sich dann so, als ob der Netzschalter gerade gedrückt worden wäre.

Lang und weitläufig, aber meiner Meinung nach interessantere Antwort:

Soft Power und wie es funktioniert

In den alten Tagen (na ja, okay, für einen College-Studenten wie mich waren die 90er Jahre lange her) hatten wir AT-Motherboards (Advanced Technology) mit AT-PowerVerwaltung. Das AT-Energiesystem war sehr, sehr einfach. Der Ein- / Ausschalter an Ihrem Computer war ein Hardware-Schalter (wahrscheinlich auf der Rückseite des Gehäuses), und Ihr 120-VAC-Eingang ging direkt hindurch. Es hat die Stromversorgung Ihres Netzteils physisch ein- und ausgeschaltet, und als sich dieser Schalter in der Aus-Position befand, war alles in Ihrem Computer vollständig leer (dies machte die CMOS-Batterie sehr wichtig, da es ohne Stromversorgung kein Netzteil gab, um die Hardware zu halten tickt die Uhr). Da es sich bei dem Netzschalter um einen physischen Mechanismus handelte, gab es keine Software zum Ein- und Ausschalten. Windows zeigte die berühmte Meldung "Es ist jetzt sicher, den Computer auszuschalten" an, da das Betriebssystem den Netzschalter nicht betätigen konnte, obwohl alles geparkt und zum Ausschalten bereit war. Diese Konfiguration wurde manchmal als bezeichnetharte Macht , denn es ist alles Hardware.

Heutzutage sind die Dinge anders, aufgrund der Wunder der ATX-Motherboards und der ATX-Leistung (das ist Advanced Technology eXtended, wenn Sie den Überblick behalten). Zusammen mit einigen anderen Fortschritten (Mini-DIN PS / 2?) Brachte ATX Soft Power . Soft Power bedeutet, dass die Stromversorgung des Computers über Software gesteuert werden kann. Dies brachte einige wichtige Änderungen mit sich:

  • Standby-Stromversorgung: Möglicherweise wurde ein "5V SB" - oder "5V Standby" -Anschluss in den Steckerbelegungen des Netzteils angezeigt. Das Standby-Netzteilist eine 5-V-Leitung zu Ihrem Motherboard, die immer eingeschaltet ist, auch wenn der Computer ausgeschaltet ist. Aus diesem Grund ist es wichtig, einen Netzschalter (falls vorhanden) zu entfernen oder auszuschalten, wenn Sie moderne Computer warten. Selbst wenn er ausgeschaltet ist, kann der 5-V-SB kurzgeschlossen und das Motherboard beschädigt werden. Dies ist auch der Grund, warum CMOS-Batterien nicht mehr so ​​wichtig sind - der 5-V-SB wird verwendet, um die CMOS-Batterie zu ersetzen, wenn das Netzteil mit Strom versorgt wird. Die CMOS-Batterie wird also nur verwendet, wenn Sie den Computer vollständig vom Stromnetz trennen. Mit der 5v SB-Leitung können wichtige Komponenten Ihres Computers (vor allem das BIOS und die Netzwerkadapter) weiterhin einfache Software ausführen, auch wenn der Computer ausgeschaltet ist.
  • Intelligente Stromversorgungssteuerung. Wenn Sie sich eine Pinbelegung für den Motherboard-Anschluss (P1) Ihres Netzteils ansehen, werden Sie feststellen, dass normalerweise zwei Pins mit den Bezeichnungen PS_ON und PS_RDY vorhanden sind. Diese stehen für "Power Supply On" und "Power Supply Ready". Wenn Sie experimentieren möchten, nehmen Sie ein Netzteil, das nicht an einen Computer angeschlossen ist, und schließen Sie eine Masseleitung (eines der schwarzen Kabel) vorsichtig an die PS_ON-Leitung (das grüne Kabel) an. Die Stromversorgung wird sichtbar eingeschaltet, und der Lüfter dreht sich. Die Komponenten des Motherboards, die mit +5 V SB betrieben werden, schalten Ihre Stromversorgung ein und aus, indem Sie die Stromversorgung an den PS_ON-Pin anschließen. Da einige Kondensatoren und andere Komponenten im Netzteil einen Moment zum Aufladen benötigen, sind die Spannungen an den Hauptausgängen des Netzteils möglicherweise nicht sofort nach dem Einschalten des Netzteils stabil. Hierfür ist der PS_RDY-Pin vorgesehen. Er leuchtet auf, wenn die interne Logik des Netzteils feststellt, dass das Netzteil "betriebsbereit" ist und eine stabile Stromversorgung bereitstellt.

Ihr Netzschalter "schaltet" den Computer also nicht mehr ein. Stattdessen ist es mit den Basis-Controllern Ihres Motherboards verbunden, die erkennen, dass die Taste gedrückt wurde, und eine Reihe von Schritten ausführen, um das System vorzubereiten, einschließlich des Einschaltens von PS_ON, damit Strom zur Verfügung steht. Der Einschaltknopf ist nicht die einzige Möglichkeit, den Startvorgang auszulösen. Geräte auf Ihrem Erweiterungsbus können dies auch tun. Dies ist wichtig, da Ihre Ethernet-Netzwerkadapter tatsächlich eingeschaltet bleiben, wenn Ihr Computer ausgeschaltet ist, und nach einem sehr spezifischen Paket suchen, das oft als "Magic-Paket" bezeichnet wird. Wenn sie dieses an ihre MAC-Adresse adressierte Paket erkennen, lösen sie den Startvorgang aus. So funktioniert "Wake-on-LAN" (WoL). Die Uhr kann auch einen Startvorgang einleiten (in den meisten BIOS-Versionen können Sie eine Uhrzeit festlegen, zu der der Computer täglich gestartet werden soll).

Grundlegendes zur Leistungssteuerung

Nun, ich erkläre die Soft Power-Sache sowohl, weil ich sie interessant finde (immer ein wichtiger Grund, warum ich sie erkläre), als auch, weil Sie so verstehen können, wie die Stromversorgung und der Betriebs- / Ausschaltzustand Ihres Computers durch Software gesteuert werden. Bei den meisten aktuellen Computern ist dieses Softwaresystem eine Implementierung des Advanced Configuration and Power Interface (ACPI) . ACPI ist ein standardisiertes, einheitliches System, mit dem die Software das Stromversorgungssystem Ihres Computers steuern kann. Möglicherweise haben Sie von den ACPI-Energiezuständen gehört. Der grundlegende Mechanismus der Stromversorgungssteuerung sind diese "Stromversorgungszustände". Ihr Betriebssystem wechselt zwischen den Stromversorgungsmodi, indem es den Switch vorbereitet (die Vorgänge zum Herunterfahren / Ruhezustand, die vor dem tatsächlichen Ausschalten des Stroms stattfinden) und dann das Motherboard anweist, den Stromversorgungszustand zu wechseln . Die Leistungszustände sehen folgendermaßen aus:

  • G0: Funktioniert (der Computer ist eingeschaltet)
  • G1: Sleeping (Standby-Status Ihres Computers, unterteilt in die S-Unterzustände)
    • S1: Die CPU und der RAM werden weiterhin mit Strom versorgt, aber die CPU führt keine Anweisungen aus. Peripheriegeräte sind ausgeschaltet.
    • S2: CPU ausgeschaltet, RAM beibehalten
    • S3: Alle Komponenten außer dem RAM und den Geräten, die eine Wiederaufnahme auslösen (Tastatur), werden ausgeschaltet. Wenn Sie Ihrem Betriebssystem mitteilen, dass es sich im Energiesparmodus befindet, werden die Prozesse gestoppt und dieser Modus aufgerufen.
    • S4: Winterschlaf. Absolut alles ist ausgeschaltet. Wenn Sie Ihr Betriebssystem anweisen, in den Ruhezustand zu wechseln, werden Prozesse angehalten, der Inhalt des Arbeitsspeichers wird auf der Festplatte gespeichert und dieser Modus wird aufgerufen.
  • G2: Soft Off. Dies ist der Status "Aus" Ihres Computers. Alles außer Geräten, die einen Systemstart auslösen können, ist ausgeschaltet.
  • G3: Mechanisch aus.

Wie das Zurücksetzen tatsächlich geschieht

Sie werden feststellen, dass der Neustart nicht zu diesen Zuständen gehört. Was passiert eigentlich, wenn Ihr Computer neu gestartet wird? Die Antwort mag überraschen, denn aus Sicht der Energieverwaltung ist es so gut wie nichts . Es gibt einen ACPI-Rücksetzbefehl. Wenn Sie das Betriebssystem anweisen, neu zu starten, wird es normal heruntergefahren (alle Prozesse werden gestoppt, einige Wartungsarbeiten werden ausgeführt, die Bereitstellung Ihrer Dateisysteme wird aufgehoben usw.) und anschließend wird der Computer in den Energiesparmodus versetzt G2 (wie es wäre, wenn Sie einfach gesagt hätten, dass es heruntergefahren werden soll) setzt den Reset-Befehl. Dies wird im Allgemeinen als "Reset-Register" bezeichnet, da es sich wie bei den meisten ACPI-Schnittstellen nur um eine Adresse handelt, in die ein bestimmter Wert geschrieben werden muss, um einen Reset anzufordern. Ich zitiere die 2.0-Spezifikation zu den Funktionen:

Der optionale ACPI-Rücksetzmechanismus gibt einen Standardmechanismus an, der ein vollständiges Zurücksetzen des Systems ermöglicht. Wenn dieser Mechanismus implementiert ist, muss er das gesamte System zurücksetzen. Dies umfasst Prozessoren, Kernlogik, alle Busse und alle Peripheriegeräte. Aus OSPM-Sicht ist das Aktivieren des Rücksetzmechanismus das logische Äquivalent zum Aus- und Einschalten der Maschine. Wenn OSPM nach einem Reset die Steuerung übernimmt, führt es Aktionen wie bei einem Kaltstart durch.

Wenn also das Reset-Register gesetzt ist, passieren einige Dinge der Reihe nach.

  • Alle Logik wird zurückgesetzt. Dies bedeutet, dass die entsprechenden Rücksetzbefehle an verschiedene Hardwarebits gesendet werden, einschließlich CPU, Speichercontroller, Peripheriecontroller usw. In den meisten Fällen bedeutet dies einfach, dass eine physische RST-Leitung aufleuchtet, wie AndrejaKo oben gezeigt hat.
  • Der Computer wird dann gebootet. Dies ist der Teil "Aktionen wie bei einem Kaltstart ausführen". Das Motherboard führt die gleichen Schritte aus, als ob das Netzteil erst nach Drücken des Netzschalters betriebsbereit wäre.

Der Endeffekt dieser beiden Schritte (die sich tatsächlich in viel mehr Schritte aufteilen) ist, dass alles so aussieht, als würde der Computer gerade gestartet, aber der Strom war tatsächlich die ganze Zeit eingeschaltet. Dies bedeutet weniger Zeit für das Herunterfahren und Hochfahren (da Sie nicht warten müssen, bis das Netzteil betriebsbereit ist), und ermöglicht vor allem, dass der Startvorgang durch das Herunterfahren des Betriebssystems initiiert wird. Dies bedeutet, dass kein weiterer Start-Trigger verwendet werden muss (WoL usw.) und dass Sie mit Reboot das System aus der Ferne zurücksetzen können, wenn Sie keine Möglichkeit haben, den Startvorgang auszulösen.


Das war eine lange Antwort. Aber hey, hoffentlich wissen Sie jetzt mehr über Computer-Power-Management. Ich habe sicher einige Dinge gelernt, die das erforschen.

jcrawfordor
quelle
3
+1. Sehr informative und nützliche Antwort. Nur ein Punkt - PS_ON ist aktiv niedrig, dh auf 0 V anstatt auf +5 V SB geschaltet, um die Hauptausgänge einzuschalten.
MikeJ-UK
2
Bei USB-Geräten, die einen Startvorgang auslösen, haben einige BIOS-Versionen die Option, den Computer per Doppelklick oder Tastendruck zu aktivieren. Außerdem verfügen einige Mac-Tastaturen über Ein / Aus-Tasten (eine Tradition, die bis zum Original zurückreicht).
Stuart P. Bentley
1
Tolle Antwort, ich habe auf jeden Fall viel gelernt. Eine Frage bleibt jedoch: Was ist aus Sicht des Motherboards der Unterschied zwischen den Zuständen S4 und G2? Das Speichern des Arbeitsspeichers auf der Festplatte erfolgt durch das Betriebssystem, sodass S4 für die Hardware wie "soft off" klingt.
EMP
1
Ich glaube, S4 ist funktional äquivalent zu G2, aber die Differenz wird gespeichert. Einige BIOS scheinen einen "schnellen POST" durchzuführen, wenn sie von S4 starten, aber einen vollständigen POST, wenn sie von G2 starten. Ich glaube nicht, dass es einen Grund dafür gibt, außer dass die Leute wollen, dass der S4-Lebenslauf schnell ist.
Crawfordor
1
Das ist eigentlich ein bisschen simpel; Es gibt (viele) Nicht-ACPI-Möglichkeiten, den Computer neu zu starten, und manchmal funktioniert ACPI allein nicht: superuser.com/questions/294681/…
Tobu
81

Hier ist ein Ausgangspunkt:

Chips schalten sich normalerweise nicht aus und dann wieder ein. Stattdessen gibt es eine Reset-Leitung, die den Prozessor in den sogenannten Reset-Zustand versetzt, wenn normalerweise der gesamte Speicher gelöscht wird und der Prozessor so aussieht, als wäre er gerade eingeschaltet worden. Während dieser Pin hoch gehalten wird (oder niedrig, abhängig vom Prozessor), wird der Prozessor zurückgesetzt. Sobald der Pin losgelassen wurde, wird der Startvorgang normal fortgesetzt, als wäre er zum ersten Mal eingeschaltet worden. Der Punkt dabei ist, dass es selbst keinen Stromausfall gibt.

Wie lässt sich das auf größere Systeme wie moderne PCs übertragen? Nun, moderne Computer bestehen aus Computern, die manchmal selbst aus Computern bestehen. Wenn Sie also den Computer auf Zurücksetzen einstellen, werden "Computer", die den Computer veranlassen, ihren Status zu speichern (wenn das Zurücksetzen gesteuert wird), oder nur ihre Rücksetzstifte gezogen.

Einige Prozessoren und Mikrocontroller (kleine eigenständige Computer, die normalerweise 20 Jahre hinter den modernen Desktop-Computern zurückliegen) können sich mithilfe interner Schalter zurücksetzen. Wie gesagt, sobald das Signal, das das Zurücksetzen erzeugt, weg ist, startet der Computer. Die Prämisse in der Frage ist also nicht ganz richtig. Der Computer weiß nicht, wann er sich einschalten soll. Wenn bekannt ist, wann es "aus" oder "zurückgesetzt" sein muss und wenn das Signal, das es dort hält, weg ist, wird es eingeschaltet.

Dieses Verhalten kann auf modernen Computern, die zu einer bestimmten Zeit oder über ein Netzwerk usw. eingeschaltet werden können, seltsam aussehen. Wie gesagt, Computer bestehen aus Computern. Während der Hauptprozessor ausgeschaltet sein kann, können sich zahlreiche andere Chips und Mikrocontroller darin befinden, die eingeschaltet sind. Der offensichtlichste Fall ist die Echtzeituhr, die häufig batteriebetrieben ist. Es kann dann andere Chips einschalten, wodurch andere Chips eingeschaltet werden, und die Kettenreaktion wird fortgesetzt, bis der gesamte Computer eingeschaltet ist. Auf heutigen Computern gibt es eine Netzteilleitung mit der Bezeichnung +5 VDC Standby-Spannung. Es versorgt verschiedene Geräte, die eingeschaltet sind, wenn der Computer ausgeschaltet ist, mit ca. 50 mW Strom.

Ein bisschen Trivia: Der Reset-Pin des Intel 386 EX-Prozessors hat die Pin-Nummer 110.

386EX Datenblatt Abbildung 2

Auf Intel i7-900 ist es die Landnummer AL39.

Ich hoffe, dass jemand in der Lage sein wird, eine Antwort zu geben, die erklärt, wie die Dinge aus der Sicht der höheren Ebene funktionieren, da es sich um ein recht kompliziertes System handelt.

AndrejaKo
quelle
Wow, gründliche Antwort.
Seth Carnegie
13
@Seth Carnegie Es ist nicht so toll. Ich habe gerade das Low-Level-Zeug angefasst, das für die meisten Computer zutrifft, vom Kühlschrank bis zum PC. Ich erwähnte nicht einmal das ACPI, APM und andere moderne Stromversorgungssysteme oder wie auf alten PCs der Intel 8042 Mikrocontroller, der die Tastatur steuern kann, den Prozessor zurücksetzen, wie der POST funktioniert, Vektoren zurücksetzen und viele andere Dinge.
AndrejaKo
1
@netvope Zu viel um es sich vorzustellen, würde ich sagen. Sie haben wahrscheinlich mindestens eine in Ihrer Maus, eine in der Tastatur, mehr als 10 für die grundlegendsten Teile des Motherboards (auch wenn wir hochintegrierte "Chipsätze" berücksichtigen), vielleicht eine im Netzteil, mindestens eine in jedem Laufwerk (wahrscheinlicher 2-3) mehrere in jeder Erweiterungskarte ... Auch Monitore sind ein ernstes Geschäft, und mein Drucker verfügt jetzt über mehr RAM als mein erster Desktop-Computer.
AndrejaKo
4
Apropos Speicher, die Caches einiger neuer Festplatten und CPUs sind jetzt größer als der RAM des ersten Computers, den ich verwendet habe. Wir können jetzt Windows 95 vollständig im L2-Cache ausführen und die gesamte Systempartition im Laufwerkscache behalten!
Netvope
27

Dieser Blog-Beitrag beschreibt, wie Linux einen Neustart auslöst.

Auszug:

Linux bietet verschiedene Möglichkeiten, um einen x86 zurückzusetzen. Einige von ihnen sind nur 32-Bit und deshalb werde ich sie einfach ignorieren, weil ehrlich gesagt genau das, was Sie mit Ihrem Leben machen. Sie sind auch schrecklich. So, das lässt uns mit fünf von ihnen.

  • kbd - Neustart über den Tastaturcontroller. Auf dem ursprünglichen IBM PC war die CPU-Reset-Leitung mit dem Tastaturcontroller verbunden. Durch Schreiben des entsprechenden magischen Werts wird die Linie gepulst und die Maschine zurückgesetzt. Dies ist alles sehr einfach, mit Ausnahme der Tatsache, dass moderne Maschinen keine Tastatur-Controller haben (sie sind tatsächlich Teil des eingebetteten Controllers) und noch modernere Maschinen nicht einmal so tun, als hätten sie einen Tastatur-Controller. Jetzt führen Embedded-Controller Software aus. Und wie wir alle wissen, ist Software schrecklich. Schlimmer noch, die Software auf dem Embedded-Controller wurde von BIOS-Autoren geschrieben. So klar, dass jeder Vorwand, dass dies jemals funktioniert, eine Art ausgefeilte Fiktion ist. Einige Computer sind sehr wählerisch in Bezug auf Hardware, die sich genau in dem Zustand befindet, den Windows programmieren würde. Einige Maschinen arbeiten 9-mal von 10 und blockieren dann aufgrund eines ungeraden Timing-Problems. Und andere funktionieren einfach überhaupt nicht. Hurra!

  • Dreifach - Versuch, einen Dreifachfehler zu erzeugen. Dazu wird eine leere Interrupt-Deskriptor-Tabelle geladen und anschließend int (3) aufgerufen. Der Interrupt schlägt fehl (es gibt keinen IDT), der Fehlerbehandler schlägt fehl (es gibt keinen IDT) und die CPU tritt in einen Zustand ein, der theoretisch einen Reset auslösen sollte. Es scheint jedoch nicht erforderlich zu sein, dass dies geschieht, und es funktioniert einfach nicht auf einer Reihe von Maschinen.

  • pci - eigentlich nicht pci. Der herkömmliche Zugriff auf den PCI-Konfigurationsraum wird durch Schreiben eines 32-Bit-Werts in den Io-Port 0xcf8 erreicht, um den Bus, das Gerät, die Funktion und das Konfigurationsregister zu identifizieren. Port 0xcfc enthält dann das betreffende Register. Wenn Sie jedoch das entsprechende Paar magischer Werte in 0xcf9 schreiben, wird der Computer neu gestartet. Spektakulär! Und in keiner Weise standardisiert (sicherlich nicht Teil der PCI-Spezifikation), so dass unterschiedliche Chipsätze unterschiedliche Anforderungen haben können. Booo.

  • Die Laufzeitdienste von efi - EFI bieten einen Einstiegspunkt für den Neustart des Computers. Es funktioniert normalerweise sogar! Solange die EFI-Laufzeitservices überhaupt funktionieren, kann dies sehr aufwändig sein.

  • acpi - In neueren Versionen der ACPI-Spezifikation können Sie eine Adresse (normalerweise Speicher- oder System-E / A-Bereich) und einen Wert zum Schreiben dort angeben. Die Idee ist, dass das Schreiben des Werts in die Adresse das System zurücksetzt. Es stellt sich heraus, dass dies oft fehlschlägt. Es ist auch unmöglich, die PCI-Neustartmethode über ACPI darzustellen, da für die PCI-Neustartmethode ein Wertepaar erforderlich ist und ACPI Ihnen nur einen gibt.

jabiko
quelle
15
Dies ist relevant, aber die Antwort wäre nützlicher, wenn Sie hier einen Auszug aus den Informationen der anderen Seite einfügen.
Calvinf
1
Es gibt viele Möglichkeiten, einen Neustart durchzuführen. Einige Bretter sind so stark zerbrochen, dass sie sich als Fenster ausgeben. Eine Heuristik, die ein paar Versuche und ein wenig Schlaf erfordert, ist der einzige Weg.
Tobu
10

Es frobt einen E / A-Speicherort, der eine Datenleitung nach unten zieht und der CPU mitteilt, dass sie anhalten und Code von einem bestimmten Speicherort im BIOS ausführen soll.

Ignacio Vazquez-Abrams
quelle
... und dieser Speicherort in dem Code angegeben ist, der an den Neustart-Systemaufruf übergeben wird?
Ritter Samar
1
@ Knight Samar: Nein; Die E / A-Position ist im Allgemeinen eine Architekturkonstante, die der Kernel kennt. Sie können dies z. B. im Linux-Neustartcode sehen, z. B. arch / x86 / kernel / reboot.c.
Sleske
Hat jemand eine gute Quelle, um diesbezüglich weiterzulesen?
Matthias Krull
@ mugen.kenichi und alle, ein Freund gab mir dies zu beziehen howstuffworks.com/bios.htm/printable
Knight Samar
Ich schlage vor, superuser.com/a/347115/38062 .
JdeBP
10

In früheren Zeiten vor der Energieverwaltung konnten sich die Computer natürlich immer noch selbst neu starten. (Weiß noch jemand, wann ein eingefrorenes Programm bedeutete, dass Sie Strg + Alt + Entf verwenden mussten, um den Computer neu zu starten?)

Auf meinem alten 486 würde der Assembler-Befehl JMP FFFF:0000(dh, der Befehlszeiger der CPU wird auf diese Adresse gesetzt) ​​den gesamten Computer neu starten. Mit anderen Worten, FFFF: 0000 adressiert einen Speicherort im BIOS, der Anweisungen dazu enthält, was der Computer beim ersten Start tun soll. Ich vermute, dass der in der Antwort von AndrejaKo beschriebene Reset-Pin oder die Reset-Buttons in den Tagen vor dem Power-Management den Instruction Pointer ebenfalls auf dieselbe Adresse zwingen würden.

Eine Google-Suche nach JMP FFFF: 0000 enthüllt viele interessante Seiten dazu.

Krubo
quelle
3
Sie mussten auch einen bestimmten Wert in 0040: 0072 schreiben, um festzustellen, ob es sich um einen Kaltstart (0x0000) oder einen Warmstart (0x1234) handelte.
Synetech
9

Es gibt auch eine Sache namens Watchdog. Dieses Gerät dient als Totmannschalter. Der Computer muss dem Watchdog jede Minute signalisieren, dass er noch am Leben ist. Wenn der Computer abstürzt, z. B. wenn er in eine Endlosschleife gerät, signalisiert er dem Watchdog nicht, dass er noch wie vorgesehen ausgeführt wird. In diesem Fall führt der Watchdog einen Hardware-Reset durch. Dies wurde in der beliebten TV-Serie des Terminators demonstriert, bei der ein Roboter durch einen Hochspannungsstoß ausgeschaltet wurde. es würde sich in 2 Minuten selbst zurücksetzen.

Marcel
quelle
2
Dies ist richtig, beantwortet aber die Frage nicht wirklich.
sleske
4
Gibt es Wachhunde, die den gesamten Computer neu starten? Ich weiß, dass sie manchmal für verschiedene Mikrocontroller im Computer verwendet werden, aber gibt es einen auf einer ganzen Computerebene? Meine persönliche Erfahrung veranlasst mich, Nein zu sagen, aber einige Beweise dafür oder dagegen wären willkommen.
AndrejaKo
5
@AndrejaKo: Ich arbeitete für ein Unternehmen, das Kommunikationsserver herstellte (im Wesentlichen Blade-Server mit daran angeschlossenen Modems). Sie hatten einen Watchdog-Timer, der mit den Reset-Pins auf der Hauptplatine verbunden war. Der Timer wurde regelmäßig von einem auf der Hauptplatine ausgeführten Hintergrunddienstprogramm gestoppt. Wenn der Prozessor hängen blieb, drückte der Watchdog schließlich die Reset-Taste. Es war an einen Stromkreis gebunden, der die Telefonleitung belegte, während das Motherboard neu gestartet wurde.
Robert Harvey
4

Zurück auf dem alten IBM PC-1 handhabte der Tastaturcontroller seltsamerweise einen Neustart. IBM baute einen kleinen Mikroprozessor für die Tastatur ein und verfügte über einige freie E / A-Leitungen. Daher verwendeten sie eine der Leitungen, um die Rücksetzleitung der Haupt-CPU anzusteuern. Ein an die Tastatursteuerung gesendeter Befehl würde dazu führen, dass die CPU zurückgesetzt wird, als ob die Stromversorgung gerade eingeschaltet worden wäre.

Ich gehe davon aus, dass diese Tradition bis weit in die "AT" -Ära hinein fortgesetzt wurde, und es kann Spuren davon geben, die heute in ACPI verblieben sind.

Hinzugefügt: Es gibt ein interessantes Detail zum obigen Reset-Schema. Während der frühen Startsequenz suchte der Code nach einem bestimmten Muster im RAM, das möglicherweise durch den zuvor ausgeführten Code festgelegt wurde. Wenn dieser Code vorhanden war, wurden einige der POST-Diagnosen (Selbsttest beim Einschalten) übersprungen. Das Muster wäre nur bei einem "warmen" Start vorhanden.

Daniel R Hicks
quelle