Was bestimmt, ob die Feststelltaste reagiert, während der Computer eingefroren ist?

15

Wenn ein Computer in irgendeiner Weise nicht reagiert, gibt es verschiedene Stufen von "eingefroren".

Nehmen wir zum Beispiel an, ich surfe auf meinem PC im Internet ...

  1. Wenn der aktuelle Browser-Tab nicht mehr reagiert (Klicken / Tippen macht nichts), reagiert der Browser möglicherweise immer noch.

  2. Wenn der gesamte Browser gesperrt ist, reagiert das Betriebssystem möglicherweise immer noch.

  3. Wenn die Benutzeroberfläche des Betriebssystems nicht reagiert, kann ich die Caps LockLED häufig immer noch umschalten .

  4. Wenn Caps Locknicht mehr reagiert, muss ich von "maximalem Einfrieren" ausgehen. Wenn ich warte, kann es jedoch vorkommen, dass sich der gesamte Computer nach einer Weile wieder normalisiert.


  • Wenn die Feststelltaste nicht mehr umschaltet, ist der Computer dann "eingefrorener als in Schritt 3"?

  • Ist es sinnvoll, Caps Lockals Abschlusstest "eingefroren" zu verwenden?

  • ... Und wenn ja, was ist der Unterschied zwischen Caps LockUmschalten und Nicht-Umschalten? Was bestimmt, ob es Caps Lockantwortet oder nicht ?

Bort
quelle
10
Die Reaktion auf Feststelltaste, Num-Taste und Bildlaufsperre setzt voraus, dass das Betriebssystem weiterhin Interrupts (über die Tastatur) bedienen kann. Die LED-Antwort AFAIK wird im ISR generiert, und es ist keine Benutzerbereichsverarbeitung erforderlich. Die Unfähigkeit, diesen Vorgang auszuführen, weist also auf einen schwerwiegenden Zustand hin. Wenn dieser Zustand länger als ein paar Sekunden andauert und Strg-Alt-Entf ebenfalls nicht reagiert, behandle ich ihn als nicht behebbar und drücke den Reset- oder Stromschalter
Sägemehl
Einige Programme verwenden die Feststelltaste, was die Zuverlässigkeit der Feststelltaste beeinträchtigt. In diesem Fall würde ich Numlock verwenden, vielleicht als zweiten Test. In der Musik-Tracker-Software, z. B. Milky Tracker, Fast Tracker und sogar OpenMPT, wird die Feststelltaste zum Einfügen einer Note verwendet, sodass der Status der Feststelltaste abgefangen wird. Aus diesem Grund leuchtet die LED nicht auf, wenn sie einmal gedrückt wird, was ein falsches Gefühl des Einfrierens erzeugt.
LPChip
@LPChip - Müsste das funky Zeug, dass die Musiksoftware noch reagiert?
Bort
@Bort Hängt ab. Das Betriebssystem muss noch die Schlüssel für das Programm legen, aber es hängt davon ab, wie es programmiert ist und wie das Programm hängt. Es ist möglich, dass das Programm nicht abgestürzt ist, aber einfach nicht auf Tastendruck und Mausklicks reagiert, und dennoch funktioniert es vollständig. In diesem Fall ändert die Feststelltaste weder den Status noch reagiert das Programm. Das Aktivieren eines anderen Programms würde jedoch normal funktionieren.
LPChip

Antworten:

2

Grundsätzlich beantworten Sie Ihre eigene Frage während Ihrer Frage, aber um eine Antwort zu erhalten, werde ich versuchen, sie nach besten Kräften zu beantworten.

Es gibt verschiedene Möglichkeiten, etwas kann nicht mehr reagieren.

Nehmen wir an, Sie verwenden Windows, obwohl der Prozess für andere Betriebssysteme nicht anders ist.

Wenn Sie mit einem Programm interagieren, klicken oder tippen Sie, während das Programm den Fokus hat.

Durch Klicken oder Tippen gelangen Sie mit der Maus oder der Tastatur zum Motherboard. Das Betriebssystem fragt ab, was gerade eingegeben wird und wie die Maus bewegt wird. Es interpretiert die Signale und interagiert entsprechend mit den Programmen.

Tastaturkürzel werden an die aktive Anwendung gesendet, sofern nicht ein Hotkey mit globalem Status gedrückt wird. In diesem Fall führt das Betriebssystem eine andere Aktion aus.

Das Betriebssystem sorgt auch dafür, dass das Programm neben anderen Programmen ohne Interaktion funktioniert. Wenn Sie beispielsweise eine Datei von Position 1 nach Position 2 kopieren, nichts eingeben oder die Maus nicht bewegen, wird der Dateikopiervorgang fortgesetzt.

Moderne Betriebssysteme verfügen über eine Funktion namens Multitasking, die im Grunde bedeutet, dass alle Programme sehr schnell durchlaufen werden, sodass jedes Programm Zeit hat, einen Zyklus in seiner Programmierung durchzuführen. Auf diese Weise werden anscheinend alle Programme gleichzeitig flüssig ausgeführt. In diesem Zyklus erhält auch das Betriebssystem selbst CPU-Zeit.

Wenn ein Programm viele Berechnungen durchführt, wird die CPU stärker ausgelastet. Je mehr eine CPU ausgelastet ist, desto weniger Energie steht für den Rest des Systems zur Verfügung, einschließlich des Durchlaufens aller anderen Programme. Wenn die CPU zu 100% ausgelastet ist, wird der Computer sehr langsam, da er auf die CPU-Zeit wartet, um alle Aktivitäten aller geöffneten Programme zu verarbeiten. Das Betriebssystem verhindert normalerweise, dass der Computer in diesem Fall einfriert. In diesen Fällen kann es jedoch vorkommen, dass der Computer einfriert.

Wenn ein Programm erstellt wird, ist es möglich, dass ein Fehler vorliegt, der dazu führt, dass das Programm abstürzt oder nicht mehr reagiert, wenn eine Reihe von Aufgaben ausgeführt wird.

Bei Programmfehlern gibt es unterschiedliche Grade der Unempfindlichkeit. Es ist möglich, dass das Programm die Ausführung stoppt, bis eine bestimmte Taste gedrückt wird, diese Taste jedoch außerhalb des Bildschirms angezeigt wird. Das Programm funktioniert normal, es akzeptiert nur keine Benutzereingaben und scheint als solches blockiert zu sein, solange es technisch nicht funktioniert.

Es ist möglich, dass das Programm eine Speicheroperation ausführt, aber die Speicheroperation bezieht sich auf ein anderes Speichersegment, das sich wiederum auf ein anderes Speichersegment bezieht, und auf das erste Speichersegment. Infolgedessen wird eine nie endende Schleife gebildet. Das Programm geht davon aus, dass es eine einfache Aktion ausführt, und erwartet ein Ergebnis innerhalb weniger Nanosekunden, verursacht jedoch einen Pufferunterlauf oder -überlauf. Windows 7 und höher verfügt über mehrere Schutzfunktionen und gibt einen kritischen Fehler aus: "Das Programm reagiert nicht mehr und ist abgestürzt. Fehlerbericht senden". In früheren Windows-Versionen konnte es je nach Schwere der Speicherschleife zu einem Blue Screen of Death kommen.

Das Betriebssystem selbst ist im Wesentlichen auch ein Programm und hat die gleichen Probleme. Ein Programmierfehler kann dazu führen, dass das gesamte Betriebssystem nicht mehr reagiert.

Zum Betriebssystem gehören schließlich Programme zur Kommunikation mit der Hardware. Diese werden Treiber genannt. Wie bei normalen Programmen kann auch ein Treiber abstürzen und nicht mehr reagieren, obwohl die Wahrscheinlichkeit geringer ist, dass dies geschieht. Möglicherweise stürzt der Tastaturtreiber ab und die Tastatur reagiert nicht mehr, solange die Maus noch funktioniert.

Das Betriebssystem erkennt normalerweise Treiberprobleme und versucht, den Treiber neu zu starten. In Abhängigkeit davon, wie gut der Fahrer programmiert wurde, wird festgelegt, wie stark der Benutzer den Absturz behindert. Manchmal kann es zu einem Flackern der Anzeige kommen, manchmal wird ein Popup-Fenster angezeigt, das darauf hinweist, dass der Treiber abgestürzt und neu gestartet wurde.

Plug-and-Play-Treiber sind normalerweise stabil und stürzen nicht ab. Benutzerdefinierte Treiber für bestimmte Hardware können leichter abstürzen, da die Wahrscheinlichkeit höher ist, dass einige Fehler noch nicht gefunden wurden.

Mit dem oben erklärten ist es Zeit, die Frage zu beantworten.

Wie angegeben, kann ein Absturz aus verschiedenen Gründen und mit unterschiedlicher Schwere auftreten. Wenn die Feststelltaste ausgelöst wird, sind für das LED-Licht zwei Dinge erforderlich. Voraussetzung ist, dass der Treiber funktioniert und das Betriebssystem Zeit zum Verarbeiten des Programmierzyklus des Treibers hat (der oben erwähnte Multitasking-Teil).

Wenn beides zutrifft, wird durch Drücken der Feststelltaste Folgendes ausgeführt:

Die Taste wird auf der Tastatur gedrückt und das Signal an das Motherboard gesendet. Der Treiber des Betriebssystems erklärt dem Betriebssystem, was passiert, und der Treiber sendet eine Meldung an die Tastatur zurück, dass der LED-Status in den neuen Status geändert werden soll. Das Betriebssystem verwendet diese Informationen, um Text in Großbuchstaben einzugeben. Einige Programme schalten jedoch die LED-Taste aus, indem sie ein zweites Feststellsignal an den Fahrer senden. Abhängig von der Tastatur schaltet sich die CapsLock-LED in diesem Fall möglicherweise nie ein.

Wenn der Fahrer seinen Zyklus nicht direkt nach dem Drücken der Feststelltaste erhält, ändert sich die LED nicht. Es ist jedoch möglich, dass das System aus irgendeinem Grund sehr langsam ist und sich der Zyklus verzögert. In diesem Fall kann es vorkommen, dass durch Drücken der Feststelltaste oder der Num-Taste der LED-Status nicht sofort geändert wird, sondern erst nach ein oder zwei Sekunden.

Schließlich ist es möglich, dass es auf Betriebssystemebene aus irgendeinem Grund darauf wartet, den Programmierzyklus des Treibers zu durchlaufen, weil es auf etwas wartet. Wenn dies der Fall ist, kann die Maus möglicherweise noch bewegt werden, alles andere scheint jedoch eingefroren zu sein.

Da der PC ernsthafte Probleme haben wird, wenn die normalen LED-Funktionen der Tastatur nach Ablauf von 5 Sekunden nicht funktionieren, kann davon ausgegangen werden, dass das System schwer abgestürzt ist und nicht wiederhergestellt werden kann.

Es gibt zwei weitere Tasten, nämlich Scroll Lock und Numlock. Von diesen drei Schlüsseln ist Numlock der einzige Schlüssel, den andere Programme aufgrund der Art der Funktion des Schlüssels wahrscheinlich nicht missbrauchen. Es ist zuverlässiger, Numlock zu verwenden, um zu testen, ob das System anspricht oder nicht, als Capslock oder Scroll Lock, da einige Programme dazu neigen, diese Tasten zu verwenden, um eine andere Funktion auszulösen, und aus diesem Grund den LED-Status häufig deaktivieren Mit Capslock oder Scroll Lock weniger zuverlässig zu testen und mit Numlock zuverlässiger zu testen.

LPChip
quelle
Meine letzte Frage lautete: [Was bestimmt, ob die LED für die Feststelltaste reagiert?]. Sekundär dazu war [wenn es angebracht ist, die Feststelltaste zu verwenden, um auf "Punkt ohne Rückkehr" zu testen]. Ich bin mir nicht sicher, auf welche Weise Sie implizieren, dass ich meine eigene Frage beantwortet habe. Meine Frage enthielt nur eine spekulative Hypothese, ohne tatsächliche Daten oder echte Theorie. Ich glaube, Ihre Antwort stärkt meine vorgeschlagene Verwendung der Feststelltaste, indem sie die Mechanismen auf niedrigerer Ebene erklärt.
Bort
@Bort Ich habe meine Frage bearbeitet, um sie hoffentlich klarer zu machen. Ich habe versucht, Ihre Frage zu beantworten, aber ich hatte das Bedürfnis zu erklären, wie alles funktioniert, um eine Grundlage dafür zu schaffen, warum es so ist. Ansonsten gilt es als meine Meinung und nicht so sehr als sachlich begründet.
LPChip