Cosa determina se Caps Lock risponde o meno mentre il computer è bloccato?


15

Quando un computer non risponde in qualche modo, esistono diversi livelli di "congelato".

Ad esempio, supponiamo che sto navigando sul Web sul mio PC ...

  1. Se la scheda del browser corrente smette di rispondere (facendo clic / digitando non fa nulla), forse il browser continuerà.

  2. Se l'intero browser è bloccato, forse il sistema operativo sta ancora rispondendo.

  3. Se la GUI del sistema operativo non risponde, spesso posso ancora attivare o disattivare il Caps LockLED.

  4. Se Caps Locknon risponde più, devo assumere il "massimo congelamento". A volte però, se aspetto, dopo un po 'l'intero computer potrebbe tornare alla normalità.


  • Se Caps Lock non si attiva più, significa che il computer è "più bloccato rispetto al passaggio 3"?

  • Ha senso usare Caps Lockcome test finale di "congelato"?

  • ... E se è così, qual è la differenza tra quando si Caps Lockattiva e non si attiva? Cosa determina se Caps Lockrisponde o no ?


10
La risposta a BLOC MAIUSC, BLOC NUM e BLOC SCORRETTA richiede che il sistema operativo sia ancora in grado di gestire gli interrupt (tastiera). La risposta LED AFAIK viene generata nell'ISR e non è richiesta l'elaborazione dello spazio utente. Quindi l'incapacità di eseguire questa operazione indica una condizione grave. Quando questa condizione dura più di qualche secondo e anche Ctrl-Alt-Canc non risponde, lo considero irrecuperabile e premo il reset o l'interruttore di accensione
segatura

Alcuni programmi eseguono operazioni funky con il tasto CapsLock, rendendo la chiave CapsLock meno affidabile per sicurezza. Vorrei usare Numlock in questo caso, forse come secondo test. Ad esempio, nel software Music Tracker, ad esempio Milky Tracker, Fast Tracker e persino OpenMPT, CapsLock viene utilizzato per inserire una nota, quindi lo stato del tasto CapsLock viene rilevato. Pertanto, il LED non si accenderà una volta premuto, dando un falso senso di congelamento.
LPChip

@LPChip - Quelle cose funky richiederebbero che il software musicale risponda ancora?
Bort

@Bort Dipende. Il sistema operativo deve ancora gettare le chiavi del programma, ma dipende da come è programmato e da come si blocca il programma. È possibile che il programma non si sia arrestato in modo anomalo, ma semplicemente non reagisca alla pressione dei tasti e ai clic del mouse, ma funziona ancora completamente. In tal caso il blocco maiuscole non cambierebbe stato, né il programma risponderebbe. Ma l'attivazione di un programma diverso funzionerebbe normalmente.
LPChip

Risposte:


2

Fondamentalmente stai rispondendo alla tua domanda durante la tua domanda, ma per il gusto di avere una risposta, proverò a rispondere al meglio delle mie capacità.

Esistono diversi modi, qualcosa può non rispondere.

Supponiamo che tu stia utilizzando Windows, sebbene il processo non sia così diverso per altri sistemi operativi.

Quando interagisci con un programma, lo fai facendo clic o digitando mentre il programma è attivo.

Facendo clic o digitando si passa alla scheda madre tramite il mouse o la tastiera. Il sistema operativo interrogherà ciò che viene digitato e come viene spostato il mouse. Interpreta i segnali e interagisce di conseguenza con i programmi.

Le scorciatoie da tastiera verranno inviate all'applicazione attiva a meno che non venga premuto un tasto di scelta rapida con uno stato globale. In tal caso, il sistema operativo eseguirà un'azione diversa.

Il sistema operativo inoltre farà funzionare il programma tra gli altri programmi senza alcuna interazione. Ad esempio, quando si copia un file dalla posizione 1 alla posizione 2, se non si digita nulla o non si sposta il mouse, l'operazione di copia del file continuerà comunque.

I moderni sistemi operativi hanno una funzione chiamata Multi Tasking che sostanzialmente significa che scorre tutti i programmi molto velocemente dando ad ogni programma il tempo di eseguire un ciclo nella sua programmazione. In questo modo, sembrerà che tutti i programmi vengano eseguiti contemporaneamente in modo fluido. In questo ciclo, al sistema operativo verrà assegnato anche il tempo della CPU.

Quando un programma esegue molti calcoli, la CPU viene utilizzata di più. Più una CPU viene utilizzata, minore è la potenza disponibile per il resto del sistema, incluso il ciclo attraverso tutti gli altri programmi. Quando la CPU raggiunge il 100% di utilizzo, il computer diventerà molto lento in attesa del tempo della CPU per elaborare tutte le attività da parte di tutti i programmi aperti. Il sistema operativo normalmente impedisce al computer di congelarsi se ciò accade, ma è possibile che il computer si blocchi in queste occasioni.

Quando viene creato un programma, è possibile che esista un bug che causa l'arresto anomalo o la mancata risposta del programma quando viene eseguita una serie di attività.

Esistono diversi livelli di non risposta quando si parla di bug del programma. È possibile che il programma blocchi la sua esecuzione in attesa che venga premuto un determinato pulsante, ma quel pulsante appare fuori dallo schermo. Il programma funziona normalmente, semplicemente non accetta l'input dell'utente e come tale sembra bloccato mentre tecnicamente non lo è.

È possibile che il programma stia eseguendo un'operazione di memoria, ma l'operazione di memoria si riferisce a un diverso segmento di memoria, che di nuovo si riferisce a un diverso segmento di memoria e lungo la strada finisce per riferirsi al primo segmento di memoria. Di conseguenza, si forma un ciclo infinito. Il programma pensa che stia eseguendo una semplice azione e si aspetta un risultato in pochi nanosecondi, ma provoca un buffer underrun o overflow. Windows 7 e versioni successive hanno diverse protezioni e generano un errore critico: "Il programma ha smesso di rispondere e si è bloccato. Invia segnalazione errori". Nelle versioni precedenti di Windows, a seconda della gravità del ciclo di memoria, poteva provocare una schermata blu della morte.

Il sistema operativo stesso è essenzialmente anche un programma e presenta gli stessi problemi. È possibile che un errore di programmazione possa causare la mancata risposta dell'intero sistema operativo.

Infine, parte del sistema operativo sono programmi utilizzati per comunicare con l'hardware. Questi sono chiamati driver. Proprio come i normali programmi, un driver può anche arrestarsi in modo anomalo e non rispondere, anche se è meno probabile che ciò accada. È possibile che il driver della tastiera si arresti in modo anomalo e causi il blocco della tastiera mentre il mouse funziona ancora.

Il sistema operativo di solito rileva i problemi del driver e tenta di riavviare il driver. A seconda di quanto bene il driver è stato programmato determina quanto l'utente trova ostacolo all'incidente. A volte può causare uno sfarfallio del display e niente di più, a volte viene visualizzato un popup che indica che il driver è stato arrestato in modo anomalo e riavviato.

I driver Plug and Play di solito sono stabili e non si bloccano. I driver personalizzati per hardware specifico potrebbero bloccarsi più facilmente perché le probabilità sono maggiori che alcuni bug non siano stati ancora trovati.

Con quanto sopra spiegato, è tempo di rispondere alla domanda.

Come indicato, può verificarsi un arresto anomalo per motivi diversi e con gravità diversa. Se il tasto CapsLock attiverà la luce a LED richiede due cose. Richiede il funzionamento del driver e richiede al sistema operativo di dare il tempo di elaborare il ciclo di programmazione del driver (la parte multitasking che ho menzionato in precedenza)

Se entrambi sono veri, premendo il tasto Capslock si procede come segue:

Il tasto viene premuto sulla tastiera e il suo segnale viene inviato alla scheda madre. Il driver del sistema operativo spiega al sistema operativo cosa succede e il driver invia un messaggio alla tastiera che lo stato del LED dovrebbe cambiare al suo nuovo stato. Il sistema operativo utilizzerà queste informazioni per digitare il testo in maiuscolo. Alcuni programmi tuttavia disattivano il tasto LED inviando un secondo segnale di maiuscolo al driver. A seconda della tastiera, la spia CapsLock potrebbe non accendersi mai in questo caso.

Se il conducente non inizia il ciclo direttamente dopo aver premuto il blocco maiuscole, il LED non cambierà. Ma è possibile che il sistema sia molto lento per qualche motivo e che il ciclo sia ritardato. In tal caso, può succedere che premendo il maiuscolo o il blocco numerico non si cambi immediatamente lo stato del LED, ma dopo un secondo o due.

Infine, è possibile che, per qualche motivo a livello di sistema operativo, aspetti di scorrere il ciclo di programmazione dei driver perché attende qualcosa. In questo caso, è possibile che il mouse possa essere spostato, ma tutto il resto sembra essere bloccato.

Dato che il PC si troverà in guai seri se le normali funzioni dei LED della tastiera non funzionano dopo che sono trascorsi 5 secondi, si può presumere con sicurezza che il sistema si sia schiantato gravemente e non possa essere ripristinato.

Esistono altri due tasti, ovvero Scroll Lock e Numlock. Da queste tre chiavi, Numlock è l'unica chiave che altri programmi probabilmente non abuseranno a causa della natura di ciò che fa la chiave. È più affidabile utilizzare il blocco numerico per verificare se il sistema è reattivo o meno rispetto al blocco maiuscole o al blocco scorrimento poiché alcuni programmi tendono a utilizzare questi tasti per attivare una funzione diversa e come tali spesso disattivano lo stato del LED che lo rende meno affidabile da testare con Capslock o scroll lock e più affidabile da testare con il numlock.


La mia ultima domanda era su [cosa determina se il LED BLOC MAIUSC risponde]. Secondario a quello era [se è appropriato usare Caps Lock per verificare "punto di non ritorno"]. Non sono sicuro in che modo insinui che ho risposto alla mia domanda. La mia domanda conteneva solo un'ipotesi speculativa, senza dati reali o vera teoria coinvolti. Credo che la tua risposta rafforzi il mio uso proposto di Caps Lock spiegando i meccanismi di livello inferiore.
Bort

@Bort Ho modificato la mia domanda per renderla più chiara. Ho provato a rispondere alla tua domanda, ma ho sentito la necessità di spiegare come tutto funzioni al fine di gettare le basi sul perché le cose sono così. Altrimenti è visto come la mia opinione e non tanto basato sui fatti.
LPChip
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.