Frage Wie startet ein Computer sich neu?


Wie kann ein Computer sich selbst neu starten? Wie sagt es sich nach dem Ausstieg, wieder zu kommen? Welche Art von Software kann das?


482
2018-06-08 19:04


Ursprung


@ jer.salamon: Sie sind eigentlich völlig unterschiedliche Wege. Das Herunterfahren ruft eine ACPI-Routine auf, die ein Signal an die ATX-Stromversorgung sendet, die die Hauptspannungsschienen ausschaltet. - Ignacio Vazquez-Abrams
Dies wird durch das BIOS gesteuert - wenn Speicher dient, sind Schlüsselwörter von Interesse APM und APIC - pst
Es schaltet sich beim Neustart nie wirklich aus. - Moab
Es gibt keine dummen Fragen. Nein, da sind vielleicht - aber ich denke, das ist wirklich sehr interessant. Empfohlen als Frage der Woche Kandidat. - slhck
Ich arbeitete früher auf einem Remote-Server, der im Rechenzentrum des Unternehmens im Grunde nur ein PC ohne Bildschirm oder Tastatur war. Mein Server wurde normalerweise nie ausgeschaltet, aber manchmal würde ich ihn von meinem Ende aus mit WinXP Start-> TurnOffComputer-> Restart neu starten, um Instabilitäten zu beheben, die durch das Testen meines eigenen Codes verursacht wurden. Ich arbeitete oft zu Zeiten meiner Wahl, als das Rechenzentrum unbemannt war. es war sehr ermüdend, was ich versehentlich gewählt habe Abschalten als letzte Option, und musste bis zwei Tage später für einen Operator warten, um zu gehen und die auf schalte für mich! - FumbleFingers


Antworten:


tl; dr: Stromzustände in Ihrem Computer werden durch eine Implementierung von ACPI (erweiterte Konfiguration und Stromschnittstelle) gesteuert. Am Ende eines Herunterfahrens setzt Ihr Betriebssystem einen ACPI-Befehl, der angibt, dass der Computer neu gestartet werden sollte. Als Reaktion darauf setzt das Motherboard alle Komponenten mit den entsprechenden Reset-Befehlen oder Zeilen zurück und folgt dann dem Bootstrap-Prozess. Das Motherboard schaltet sich nie wirklich aus, es setzt nur verschiedene Komponenten zurück und verhält sich dann so, als wäre der Stromschalter gerade gedrückt worden.

Lange und weitläufige aber (meiner Meinung nach) interessantere Antwort:

Soft Power und wie es funktioniert

In den alten Tagen (gut, okay, für einen College-Studenten wie ich die 90er Jahre vor langer Zeit war), hatten wir AT (Advanced Technology) Mainboards mit AT-Leistung Management. Das AT Power System war sehr, sehr einfach. Der Einschaltknopf an Ihrem Computer war ein Hardware-Schalter (wahrscheinlich in der Rückseite des Gehäuses) und Ihr 120vac-Eingang ging direkt durch. Es hat die Stromversorgung Ihrer Stromversorgung ein- und ausgeschaltet, und als sich dieser Schalter in der Aus-Position befand, war alles in Ihrem Computer komplett leer (dies machte die CMOS-Batterie sehr wichtig, weil ohne sie keine Stromversorgung für die Hardware vorhanden war) tickende Uhr). Da der Netzschalter ein physikalischer Mechanismus war, gab es keine Software, um das Gerät ein- und auszuschalten. Windows zeigte die berühmte Meldung "Es ist jetzt sicher, Ihren Computer auszuschalten", da es zwar möglich war, alles abzustellen und abzuschalten, es dem Betriebssystem jedoch nicht möglich war, den Netzschalter zu drehen. Diese Konfiguration wurde manchmal als bezeichnet starke Kraftweil es alles Hardware ist.

Heutzutage sind die Dinge anders wegen der Wunder von ATX Mainboards und ATX-Leistung (Das ist Advanced Technology eXtended, wenn Sie den Überblick behalten). Zusammen mit einer Reihe weiterer Fortschritte (Mini-DIN PS / 2, irgendjemand?) Brachte ATX leichte Kraft. Soft Power bedeutet, dass die Stromversorgung des Computers durch Software gesteuert werden kann. Dies brachte einige Importänderungen mit sich:

  • Standby-Stromversorgung: Sie haben möglicherweise einen "5v SB" - oder "5v Standby" -Anschluss gesehen, der in den Netzteilbelegungen beschriftet ist. Das Standby-Stromversorgung ist eine 5v-Leitung zu Ihrem Motherboard, die immer eingeschaltet ist, auch wenn der Computer ausgeschaltet ist. Aus diesem Grund ist es wichtig, einen PSU-Hard-Switch (falls vorhanden) zu trennen oder auszuschalten, wenn Sie moderne Computer warten, denn selbst wenn er ausgeschaltet ist, könnten Sie möglicherweise den 5V-SB kurzschließen und das Motherboard beschädigen. Dies ist auch der Grund, warum CMOS-Batterien nicht mehr so ​​wichtig sind - der 5V-SB wird verwendet, um die CMOS-Batterie zu ersetzen, wenn das Netzteil mit Netzspannung betrieben wird. Daher wird die CMOS-Batterie nur verwendet, wenn Sie den Computer vollständig ausstecken. Die 5v-SB-Leitung ermöglicht den Komponenten Ihres Computers (vor allem dem BIOS und den Netzwerkadaptern), auch dann noch einige einfache Software auszuführen, wenn der Computer ausgeschaltet ist.
  • Intelligente Steuerung der Stromversorgung. Wenn Sie sich eine Pinbelegung für den Mainboard-Anschluss (P1) Ihres Netzteils ansehen, werden Sie zwei typisch beschriftete Pins bemerken PS_ON und PS_RDY. Diese stehen für "Power On" und "Power Supply Ready". Wenn Sie experimentieren möchten, nehmen Sie ein Netzteil nicht in einem Computer, stecken Sie es ein und schließen Sie eine Masseleitung (eines der schwarzen Kabel) vorsichtig an die PS_ON-Leitung (das grüne Kabel) an. Das Netzteil schaltet sich sichtbar ein und der Lüfter dreht sich. Die Komponenten des Motherboards, die von + 5V SB ausgeführt werden, schalten Ihr Netzteil tatsächlich ein und aus, indem Sie den PS_ON-Pin anschließen. Da sich einige Kondensatoren und andere Komponenten in der Stromversorgung befinden, die einen Moment zum Aufladen benötigen, sind die Spannungen von den Hauptausgängen der Stromversorgung möglicherweise unmittelbar nach dem Einschalten des Netzteils nicht stabil. Dafür ist der PS_RDY-Pin zuständig. Er wird aktiviert, wenn die interne Logik der Stromversorgung feststellt, dass die Stromversorgung "bereit" ist und stabile Leistung liefert. Das Motherboard wartet, bis PS_RDY eingeschaltet ist, um weiter zu booten.

Ihr Computer schaltet also den Computer nicht mehr ein. Stattdessen ist es mit den Basis-Controllern Ihres Motherboards verbunden, die erkennen, dass die Taste gedrückt wurde und führen eine Reihe von Schritten aus, um das System vorzubereiten, einschließlich des Aufleuchtens von PS_ON, so dass Strom verfügbar ist. Der Ein- / Ausschalter ist nicht die einzige Möglichkeit, den Startvorgang auszulösen, auch Geräte an Ihrem Erweiterungsbus können dies tun. Dies ist wichtig, da Ihre Ethernet-Netzwerkadapter tatsächlich eingeschaltet bleiben, wenn Ihr Computer ausgeschaltet ist, und nach einem sehr speziellen 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 Start initiieren (die meisten BIOS erlauben es Ihnen, eine Zeit festzulegen, die der Computer jeden Tag starten sollte), und USB- und FireWire-Geräte können einen Start auslösen, obwohl mir keine Implementierung bekannt ist.

Power Control verstehen

Nun, ich erkläre die Soft-Power-Sache sowohl, weil ich denke, dass es interessant ist (immer ein wichtiger Grund, dass ich Dinge erkläre), und weil es Ihnen erlaubt zu verstehen, wie der Strom und der Aus-Zustand Ihres Computers alle von Software gesteuert werden. In den meisten aktuellen Computern ist dieses Softwaresystem eine Implementierung des Erweiterte Konfiguration und Power Interface oder ACPI. ACPI ist ein standardisiertes, einheitliches System, mit dem Software das Stromversorgungssystem Ihres Computers steuern kann. Sie haben vielleicht schon von ACPI-Stromzustände. Der grundlegende Mechanismus der Leistungssteuerung sind diese "Leistungszustände". Ihr Betriebssystem schaltet durch Vorbereiten auf den Switch durch die Leistungsmodi (die Shutdown- / Hibernate-Prozesse, die vor dem tatsächlichen Abschalten der Stromversorgung auftreten) und befiehlt dann dem Motherboard, die Leistungszustände zu wechseln . Die Stromzustände sehen so aus:

  • G0: Arbeiten (der "Ein" -Zustand Ihres Computers)
  • G1: Sleeping (Standby-Status Ihres Computers, unterteilt in die S-Substates)
    • S1: Strom zu CPU und RAM bleibt eingeschaltet, aber die CPU führt keine Befehle aus. Peripheriegeräte sind ausgeschaltet.
    • S2: CPU ausgeschaltet, RAM bleibt erhalten
    • S3: Alle ausgeschalteten Komponenten außer RAM und Geräten, die eine Wiederaufnahme (Tastatur) auslösen. Wenn Sie Ihrem Betriebssystem "Sleep" sagen, werden Prozesse gestoppt und in diesen Modus gewechselt.
    • S4: Ruhezustand. Absolut ist alles ausgeschaltet. Wenn Sie Ihrem Betriebssystem den Ruhezustand mitteilen, stoppt es Prozesse, speichert den Inhalt des Arbeitsspeichers auf der Festplatte und tritt dann in diesen Modus ein.
  • G2: Weiche Aus. Dies ist der "Aus" -Zustand Ihres Computers. Die Stromversorgung zu allen Geräten ist ausgeschaltet, außer bei Geräten, die einen Systemstart auslösen können.
  • G3: Mechanisch aus.

Wie erfolgt das Zurücksetzen tatsächlich?

Sie werden feststellen, dass der Neustart nicht zu diesen Zuständen gehört. Was passiert eigentlich, wenn dein Computer beim Neustart neu startet? Die Antwort mag überraschend sein, weil es aus Sicht des Power Managements ist fast nichts. Es gibt ein ACPI-Reset-Befehl. Wenn Sie Ihrem Betriebssystem mitteilen, dass es neu gestartet werden soll, folgt es seinem normalen Herunterfahren (stoppt alle Ihre Prozesse, führt ein wenig Wartung durch, entlädt Ihre Dateisysteme usw.) und dann als letzter Schritt, anstatt das Gerät in den Energiezustand zu schicken G2 (wie wenn Sie es einfach heruntergefahren hätten) setzt es den Reset-Befehl. Dies wird allgemein als das "Reset-Register" bezeichnet, da es wie bei der meisten ACPI-Schnittstelle nur eine Adresse ist, auf die ein bestimmter Wert geschrieben werden sollte, um einen Reset anzufordern. Ich werde die 2.0-Spezifikation aufführen, was es tut:

Der optionale ACPI-Reset-Mechanismus spezifiziert einen Standardmechanismus, der ein vollständiges Systemreset ermöglicht. Nach der Implementierung muss dieser Mechanismus das gesamte System zurücksetzen. Dazu gehören Prozessoren, Kernlogik, alle Busse und alle Peripheriegeräte. Aus Sicht des OSPM ist das Aktivieren des Rücksetzmechanismus das logische Äquivalent zum Aus- und Einschalten der Maschine. Nach dem Erlangen der Kontrolle nach einem Reset führt OSPM Aktionen ähnlich einem Kaltstart durch.

Wenn also das Reset-Register gesetzt ist, passieren einige Dinge nacheinander.

  • Die gesamte Logik wird zurückgesetzt. Dies bedeutet, dass die entsprechenden Rücksetzbefehle an verschiedene Hardware-Bits gesendet werden, einschließlich der CPU, des Speichercontrollers, der Peripheriesteuergeräte usw. In den meisten Fällen bedeutet dies lediglich das Aufleuchten einer physischen RST-Leitung, wie AndrejaKo oben gezeigt hat.
  • Der Computer wird dann bootstrapped. Dies ist der "Ausführen von Aktionen in ähnlicher Weise zu einem Kaltstart" -Teil. Das Motherboard führt die gleichen Schritte aus wie wenn die Stromversorgung nach dem Drücken des Netzschalters gerade bereit gewesen wäre.

Der Endergebnis dieser zwei Schritte (die tatsächlich zu viel mehr Schritten zusammenbrechen) ist, dass es auf alles so aussieht, wie der Computer gerade gebootet hat, aber die Macht war eigentlich die ganze Zeit. Dies bedeutet weniger Zeit für das Herunterfahren und Starten (da Sie nicht warten müssen, bis die Stromversorgung bereit ist) und, was wichtig ist, ermöglicht das Hochfahren, dass das Betriebssystem heruntergefahren wird. Dies bedeutet, dass ein weiterer Start-Trigger nicht verwendet werden muss (WoL usw.) und Sie Reboot als eine effektive Möglichkeit zum Zurücksetzen des Systems aus der Ferne verwenden können, wenn Sie keine Möglichkeit zum Starten des Startvorgangs haben.


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


595
2018-06-08 21:06



+1. Sehr informative und nützliche Antwort. Nur ein Punkt - PS_ON ist aktiv niedrig, also auf 0V anstatt auf +5VSB geschaltet, um die Hauptausgänge einzuschalten. - MikeJ-UK
Bei USB-Geräten, die einen Startvorgang auslösen, haben einige BIOS-Geräte die Möglichkeit, den Computer mit einem Doppelklick oder einem Tastendruck zu aktivieren. Einige Mac-Tastaturen haben auch Power-Tasten (eine Tradition, die bis zum Original zurückreicht). - Stuart P. Bentley
Gute Antwort, ich habe sehr viel gelernt. Eine Frage bleibt jedoch: Aus der Sicht des Motherboards, was ist der Unterschied zwischen S4 und G2? Das Speichern von RAM auf Festplatte wird vom Betriebssystem ausgeführt, sodass S4 für die Hardware wie "soft off" klingt. - EMP
Ich glaube, S4 ist funktionell äquivalent zu G2, aber der Unterschied ist gespeichert. Einige BIOS scheinen einen "schnellen POST" auszuführen, wenn sie von S4 aus starten, aber einen vollständigen POST, wenn sie von G2 aus starten. Ich denke nicht, dass es einen Grund dafür gibt, abgesehen davon, dass Leute wollen, dass S4 Lebenslauf schnell ist. - jcrawfordor
Das ist eigentlich ein bisschen simpel; Es gibt (viele) Nicht-ACPI-Möglichkeiten, den Computer neu zu starten, und manchmal funktioniert ACPI nicht: superuser.com/questions/294681/ ... - Tobu


Hier ist ein Ausgangspunkt:

Chips werden normalerweise nicht ausgeschaltet und dann wieder eingeschaltet. 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 wird, wird er normal weiterlaufen, als wäre er zum ersten Mal eingeschaltet worden. Der Punkt ist, dass es selbst keinen Stromausfall gibt.

Wie skaliert das also zu größeren Systemen wie modernen PCs? Gut moderne Computer bestehen aus Computern, die manchmal selbst aus Computern bestehen. Wenn Sie also den Computer auf "Zurücksetzen" setzen, beginnen "Computer", die den Computer erstellen, ihre Zustände zu speichern (wenn der Reset gesteuert wird), oder lassen Sie einfach ihre Reset-Pins ziehen.

Einige Prozessoren und Mikrocontroller (bei denen es sich um kleine eigenständige Computer handelt, die normalerweise 20 Jahre hinter den modernen Desktop-Computern liegen) können sich über interne Switches selbst zurücksetzen. Wie gesagt, sobald das Signal, das den Reset erzeugt hat, weg ist, startet der Computer. Also ist die Prämisse in der Frage nicht ganz richtig. Der Computer weiß nicht, wann er eingeschaltet werden soll. In weiß, wann es "aus" oder zurückgesetzt werden muss und wenn das Signal, das es dort hält, weg ist, wird es eingeschaltet.

Dieses Verhalten kann auf einem modernen Computer merkwürdig aussehen, der so eingestellt werden kann, dass er sich zu einer bestimmten Zeit oder über das Netzwerk und so weiter einschaltet. Wie ich schon sagte, Computer bestehen aus Computern. Während also der Hauptprozessor ausgeschaltet sein könnte, könnten zahlreiche andere Chips und Mikrocontroller darin enthalten sein. Der offensichtlichste Fall ist die Echtzeituhr, die oft batteriebetrieben ist. Es kann dann andere Chips einschalten, die andere Chips einschalten und die Kettenreaktion läuft, bis der ganze Computer eingeschaltet ist. Auf den heutigen Computern gibt es eine Netzteilleitung mit der Bezeichnung +5 VDC Standby Voltage. Es bietet eine Leistung von etwa 50 mW für verschiedene Geräte, die eingeschaltet sind, wenn der Computer ausgeschaltet ist.

Ein bisschen Quiz: Reset-Pin auf Intel 386 EX-Prozessor ist Pin-Nummer 110.

386EX datasheet figure 2

Auf Intel i7-900 ist es Landnummer AL39.

Ich hoffe, dass jemand in der Lage sein wird, eine Antwort zu geben, die erklären wird, wie die Dinge von der hohen Ebene aus funktionieren, da es ein ziemlich kompliziertes System ist.


79
2018-06-08 19:39



Wow, gründliche Antwort. - Seth Carnegie
@Seth Carnegie Es ist nicht so toll. Ich habe nur die Low-Level-Sachen berührt, die für die meisten Computer zutreffen, von der im Kühlschrank bis zum PC. Ich habe nicht einmal die ACPI, APM und andere moderne Energiesysteme oder wie auf alten PCs Intel 8042 Mikrocontroller, der Controller die Tastatur den Prozessor zurücksetzen konnte, wie der POST funktioniert, zurückgesetzt Vektoren und viele andere Dinge. - AndrejaKo
@netvope Zu viel vorstellen, würde ich sagen. Sie haben wahrscheinlich mindestens einen in Ihrer Maus, einen in der Tastatur, mehr als 10 für die grundlegendsten Teile des Motherboards (auch wenn wir hochintegrierte "Chipsätze" berücksichtigen), vielleicht einen im Netzteil, mindestens einen in jedem Laufwerk (wahrscheinlich 2-3), mehrere in jeder Erweiterungskarte ... Monitore sind auch ernst zu nehmen und mein Drucker hat jetzt mehr RAM als mein erster Desktop-Computer. - AndrejaKo
Wenn wir über den Speicher sprechen, sind die Caches einiger neuer HDDs und CPUs jetzt größer als der RAM des ersten Computers, den ich benutzt habe. Wir können jetzt laufen Windows 95 vollständig im L2-Cache und behalten Sie die gesamte Systempartition im Laufwerkcache! - netvope


Dieser Blogbeitrag beschreibt, wie Linux einen Neustart auslöst.

Auszug:

Linux hat eine Reihe von Möglichkeiten, ein x86 zurückzusetzen. Einige von ihnen sind nur 32-Bit und ich werde sie einfach ignorieren, ehrlich gesagt, was machst du mit deinem Leben? Außerdem sind sie schrecklich. Also bleiben uns fünf davon übrig.

  • kbd - Neustart über den Tastaturcontroller. Auf dem ursprünglichen IBM PC war die CPU-Rücksetzleitung mit dem Tastaturcontroller verbunden. Durch Schreiben des entsprechenden magischen Werts wird die Linie pulsiert und die Maschine wird zurückgesetzt. Das ist alles sehr einfach, abgesehen von der Tatsache, dass moderne Maschinen keine Tastatursteuerungen haben (sie sind tatsächlich Teil des Embedded-Controllers) und sogar modernere Maschinen geben nicht einmal vor, einen Tastaturcontroller zu haben. Jetzt können Embedded-Controller Software ausführen. Und wie wir alle wissen, ist Software schrecklich. Aber, noch schlimmer, die Software auf dem Embedded-Controller wurde von BIOS-Autoren geschrieben. So klar ist jeder Vorwand, dass dies jemals funktioniert, eine Art ausgearbeitete Fiktion. Einige Maschinen sind sehr wählerisch, wenn Hardware in dem genauen Zustand ist, den Windows programmieren würde. Einige Maschinen arbeiten 9 mal von 10 und sperren dann aufgrund eines seltsamen Timing-Problems. Und andere funktionieren überhaupt nicht. Hurra!

  • triple - Versuch, einen dreifachen Fehler zu erzeugen. Dies geschieht, indem eine leere Interrupt-Deskriptor-Tabelle geladen und dann int (3) aufgerufen wird. Der Interrupt schlägt fehl (es gibt kein IDT), der Fehlerbehandler schlägt fehl (es gibt kein IDT) und die CPU tritt in einen Zustand ein, der theoretisch einen Reset auslösen sollte. Außer es scheint keine Anforderung zu sein, dass dies geschieht und es funktioniert einfach nicht auf einer Reihe von Maschinen.

  • pci - nicht wirklich pci. Der herkömmliche PCI-Konfigurationsspeicherzugriff wird erreicht, indem ein 32-Bit-Wert an den Port 0xcf8 geschrieben wird, um das Bus-, Geräte-, Funktions- und Konfigurationsregister zu identifizieren. Port 0xcfc enthält dann das betreffende Register. Wenn Sie jedoch das entsprechende Paar von magischen Werten 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. Boo.

  • efi - EFI-Laufzeitdienste bieten einen Einstiegspunkt zum Neustart des Rechners. Es funktioniert normalerweise sogar! Solange die EFI-Laufzeitdienste überhaupt funktionieren, kann das eine Weile sein.

  • acpi - In den neuesten Versionen der ACPI-Spezifikation können Sie eine Adresse (normalerweise Speicher- oder System-IO-Bereich) und einen Wert zum Schreiben angeben. Die Idee ist, dass das Schreiben des Wertes auf 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 die PCI-Neustartmethode ein Wertepaar erfordert und ACPI nur einen Wert angibt.


27
2018-06-08 23:11



Dies ist relevant, aber die Antwort wäre nützlicher, wenn Sie hier einen Auszug der Informationen der anderen Seite einfügen. - calvinf
tl; dr gibt es viele Möglichkeiten zum Neustart; einige Bretter sind so stark kaputt, dass vorgeben, Fenster zu sein, eine Heuristik, die ein paar Versuche beinhaltet und ein wenig schläft, ist der einzige Weg. - Tobu


Es bewegt sich an einer E / A-Stelle, die eine Datenleitung tief zieht, die der CPU mitteilt, dass sie aufhören sollte, was auch immer sie tut, und Code von einer bestimmten Stelle im BIOS ausführen zu lassen.


10
2017-07-28 20:19



... und dieser Speicherort wird im Code angegeben, der an den Neustart-Systemaufruf übergeben wird? - Knight Samar
@Knight Samar: Nein; Der E / A-Standort ist im Allgemeinen eine Architekturkonstante, die der Kernel kennt. Sie können dies z.B. im Linux-Neustartcode, z. B. arch / x86 / kernel / reboot.c. - sleske
hat jemand eine gute rescource für weitere Lektüre zu diesem Thema? - matthias krull
@ mugen.kenichi und alle, ein Freund hat mir dies zu verweisen howstuffworks.com/bios.htm/druckbar - Knight Samar
Ich schlage vor superuser.com/a/347115/38062 . - JdeBP


In den alten Zeiten vor dem Power-Management konnten Computer natürlich immer noch neu starten. (Jeder erinnert sich, wann ein eingefrorenes Programm bedeutete, dass Sie Strg + Alt + Entf verwenden mussten, um den Computer neu zu starten?)

Auf meinem alten 486, der Assemblersprache Befehl JMP FFFF:0000 (Setzen Sie den Befehlszeiger der CPU auf diese Adresse) würde der gesamte Computer neu gestartet werden. Mit anderen Worten, FFFF: 0000 adressiert einen Speicherort im BIOS, der Anweisungen enthält, was der Computer tun soll, wenn er das erste Mal startet. Ich vermute, dass der Reset-Pin, der von AndrejaKos Antwort beschrieben wurde, oder Reset-Tasten in den Tagen vor der Energieverwaltung, den Anweisungszeiger auch auf die gleiche Adresse zwingen würde.

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


10
2018-06-12 14:38



Sie mussten auch einen bestimmten Wert in 0040: 0072 schreiben, um festzustellen, ob es sich um einen kalten (0x0000) oder einen Warmstart (0x1234) handelte. - Synetech


Es gibt auch eine Sache namens Wachhund. Dieses Gerät dient als Totmannschalter. Der Computer muss dem Wachhund jede Minute sagen dass es noch lebt. Wenn der Computer abstürzt, z.B. indem man in eine endlose Schleife läuft, wird es versagen Signal an den Watchdog läuft noch wie vorgesehen, In diesem Fall führt der Watchdog einen Hardware-Reset durch. Dies wurde in der beliebten TV-Serie des Terminators demonstriert, wo ein Roboter durch einen Hochspannungs-Stromstoß ausgeschaltet wurde. es würde sich in 2 Minuten zurücksetzen.


9
2018-06-09 14:24



Das ist richtig, beantwortet aber die Frage nicht wirklich. - sleske
Gibt es Watchdogs, die den gesamten Computer neu starten? Ich weiß, dass sie manchmal für verschiedene Mikrocontroller innerhalb des Computers verwendet werden, aber gibt es einen auf einer ganzen Computer-Ebene? Meine persönliche Erfahrung führt mich dazu, nein zu sagen, aber einige Beweise für oder dagegen wären willkommen. - AndrejaKo
@AndrejaKo: Ich habe für ein Unternehmen gearbeitet, das Kommunikationsserver (im Wesentlichen Blade-Server mit angeschlossenen Modems) erstellt hat. Sie hatten einen Watchdog-Timer, der mit den Reset-Pins auf dem Motherboard verbunden war. Der Timer wurde regelmäßig von einem auf dem Motherboard laufenden Hintergrunddienstprogramm gestoßen, so dass der Watchdog den Reset-Knopf drücken würde, falls der Prozessor hängen blieb. Es war an eine Schaltung gebunden, die die Telefonleitung während des Neustarts der Hauptplatine aktiv machte. - Robert Harvey


Zurück auf dem alten IBM PC-1 wurde der Tastatur-Controller seltsamerweise mit einem Neustart behandelt. IBM integrierte einen kleinen Mikroprozessor, um die Tastatur zu handhaben, und er hatte einige Ersatz-E / A-Leitungen, so dass sie eine der Leitungen benutzten, um die Rücksetzleitung der Haupt-CPU zu steuern. Ein an den Tastaturcontroller gesandter Befehl würde dazu führen, dass die CPU zurückgesetzt wird, als ob der Strom gerade eingeschaltet worden wäre.

Ich vermute, dass diese Tradition bis weit in die "AT" -Zeit fortgesetzt wurde, und es könnte Spuren davon geben, die heute in ACPI verbleiben.

Hinzugefügt: Es gibt ein interessantes Detail über das obige 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 POST-Diagnosen (Selbsttest beim Einschalten) übersprungen. Das Muster würde nur auf einem "warmen" Stiefel vorhanden sein.


4
2017-12-03 04:47