¿Qué determina si Caps Lock responde o no mientras la computadora está congelada?

15

Cuando una computadora no responde de alguna manera, hay diferentes niveles de "congelado".

Por ejemplo, digamos que estoy navegando por la web en mi PC ...

  1. Si la pestaña actual del navegador deja de responder (hacer clic / escribir no hace nada), tal vez el navegador todavía lo hará.

  2. Si todo el navegador está bloqueado, quizás el sistema operativo todavía está respondiendo.

  3. Si la GUI del sistema operativo no responde, a menudo todavía puedo alternar el Caps LockLED.

  4. Si Caps Lockya no responde, debo asumir "congelación máxima". Sin embargo, a veces, si espero, toda la computadora puede volver a la normalidad después de un tiempo.


  • Si el bloqueo de mayúsculas ya no se alterna, ¿eso significa que la computadora está "más congelada que en el paso 3"?

  • ¿Tiene sentido usarlo Caps Lockcomo prueba final de "congelado"?

  • ... Y si es así, ¿cuál es la diferencia entre cuando Caps Lockalterna y no? ¿Qué determina si Caps Lockresponde o no ?

Diamante negro
fuente
10
La respuesta a Bloqueo de mayúsculas, Bloqueo numérico y Bloqueo de desplazamiento requiere que el sistema operativo aún pueda atender las interrupciones (del teclado). La respuesta LED AFAIK se genera en el ISR y no se requiere procesamiento del espacio del usuario. Por lo tanto, la incapacidad para realizar esta operación indica una condición grave. Cuando esta condición dura más de unos pocos segundos y Ctrl-Alt-Del tampoco responde, lo trato como irrecuperable y presiono el interruptor de reinicio o encendido
aserrín
Algunos programas hacen cosas originales con la tecla CapsLock, lo que hace que la tecla CapsLock sea menos confiable para estar seguro. Usaría Numlock en este caso, tal vez como segunda prueba. Por ejemplo, en el software Music Tracker, por ejemplo Milky Tracker, Fast Tracker e incluso OpenMPT, CapsLock se usa para insertar una nota desactivada y, como tal, se detecta el estado de la tecla CapsLock. Como tal, el LED no se encenderá una vez presionado, dando una falsa sensación de congelación.
LPChip
@LPChip: ¿esas cosas funky requieren que el software de música siga respondiendo?
Bort
@Bort depende. El sistema operativo aún debe colocar las claves del programa, pero depende de cómo esté programado y cómo se cuelgue el programa. Es posible que el programa no se bloquee, pero simplemente no reacciona a las pulsaciones de teclas y clics del mouse, pero aún funciona completamente. En ese caso, el bloqueo de mayúsculas no cambiaría de estado, ni el programa respondería. Pero activar un programa diferente funcionaría normalmente.
LPChip

Respuestas:

2

Básicamente estás respondiendo tu propia pregunta durante tu pregunta, pero en aras de tener una respuesta, intentaré responderla lo mejor que pueda.

Hay diferentes formas, algo puede dejar de responder.

Supongamos que está utilizando Windows, aunque el proceso no es tan diferente para otros sistemas operativos.

Cuando interactúa con un programa, lo hace haciendo clic o escribiendo mientras el programa tiene el foco.

Al hacer clic o escribir, se pasa por el mouse o el teclado a la placa base. El sistema operativo consultará qué se está escribiendo y cómo se mueve el mouse. Interpreta las señales e interactúa con los programas en consecuencia.

Los atajos de teclado se enviarán a la aplicación activa a menos que se presione una tecla de acceso rápido que tenga un estado global. En ese caso, el sistema operativo realizará una acción diferente.

El sistema operativo también hará que el programa entre otros programas funcione sin ninguna interacción. Por ejemplo, cuando copia un archivo de la ubicación 1 a la ubicación 2, si no escribe nada o no mueve el mouse, la operación de copia de archivo continuará.

Los sistemas operativos modernos tienen una función llamada Multi Tasking que básicamente significa que recorre todos los programas muy rápido, lo que le da tiempo a cada programa para realizar un ciclo en su programación. Al hacerlo, parecerá que todos los programas se ejecutan al mismo tiempo con fluidez. En este ciclo, el sistema operativo también tendrá tiempo de CPU.

Cuando un programa realiza muchos cálculos, la CPU se utiliza más. Cuanto más se utiliza una CPU, menos energía está disponible para el resto del sistema, incluido el ciclo a través de todos los demás programas. Cuando la CPU alcanza el 100% de utilización, la computadora se volverá muy lenta ya que está esperando que la CPU procese todas las actividades de todos los programas abiertos. El sistema operativo normalmente evita que la computadora se congele si esto sucede, pero es posible que la computadora se congele en estas ocasiones.

Cuando se crea un programa, es posible que exista un error que haga que el programa se bloquee o deje de responder cuando se realiza una serie de tareas.

Existen diferentes niveles de falta de respuesta cuando se habla de errores del programa. Es posible que el programa detenga su ejecución esperando que se presione un botón determinado, pero ese botón apareció fuera de la pantalla. El programa funciona normalmente, simplemente no acepta la entrada del usuario y, como tal, parece estar estancado mientras que técnicamente no lo está.

Es posible que el programa esté realizando una operación de memoria, pero la operación de memoria se refiere a un segmento diferente de memoria, que nuevamente se refiere a un segmento diferente de memoria y en el camino termina refiriéndose al primer segmento de memoria. Como resultado, se forma un bucle interminable. El programa piensa que está realizando una acción simple y espera un resultado dentro de unos pocos nanosegundos, pero causa un desbordamiento o desbordamiento del búfer. Windows 7 y superior tiene varias protecciones y dará un error crítico: "El programa dejó de responder y se ha bloqueado. Enviar informe de error". En versiones anteriores de Windows, dependiendo de qué tan grave fuera el bucle de memoria, podría resultar en una Pantalla Azul de la Muerte.

El sistema operativo en sí es en esencia también un programa y tiene los mismos problemas. Es posible que un error en la programación pueda causar que todo el sistema operativo deje de responder.

Por último, parte del sistema operativo son programas utilizados para comunicarse con el hardware. Estos se llaman controladores. Al igual que los programas normales, un controlador también puede bloquearse y dejar de responder, aunque es menos probable que esto suceda. Es posible que el controlador del teclado se bloquee y haga que el teclado deje de responder, mientras el mouse aún funciona.

El sistema operativo generalmente detecta problemas de controladores e intenta reiniciar el controlador. Dependiendo de qué tan bien se programó el controlador, determina cuánto encuentra el usuario que obstaculiza el choque. A veces puede causar un parpadeo de la pantalla y nada más, a veces se muestra una ventana emergente que indica que el controlador se bloqueó y reinició.

Los controladores Plug and Play generalmente son estables y no se bloquean. Los controladores personalizados para hardware específico pueden bloquearse más fácilmente porque las posibilidades son más altas de que todavía no se hayan encontrado algunos errores.

Con lo anterior explicado, es hora de responder la pregunta.

Como se indicó, un bloqueo puede ocurrir por diferentes razones y con diferente gravedad. Si la tecla CapsLock se disparará, la luz LED requiere dos cosas. Requiere que el controlador funcione y requiere que el sistema operativo dé tiempo para procesar el ciclo de programación del controlador (la parte multitarea que mencioné anteriormente)

Si ambas son verdaderas, presionar la tecla Capslock hará lo siguiente:

La tecla se está presionando en el teclado y su señal se envía a la placa base. El controlador del sistema operativo explica al sistema operativo lo que sucede y el controlador envía un mensaje al teclado que el estado del LED debe cambiar a su nuevo estado. El sistema operativo utilizará esta información para escribir texto en mayúsculas. Sin embargo, algunos programas apagan la tecla LED enviando una segunda señal de bloqueo de mayúsculas al controlador. Dependiendo del teclado, la luz CapsLock nunca se encenderá si este es el caso.

Si el controlador no obtiene su ciclo directamente después de presionar el bloqueo de mayúsculas, el LED no cambiará. Pero es posible que el sistema sea muy lento por alguna razón, y el ciclo se retrase. En ese caso, puede suceder que presionar el bloqueo de mayúsculas o el bloqueo numérico no cambie inmediatamente el estado del LED, sino después de un segundo o dos.

Por último, es posible que, por alguna razón en el nivel del sistema operativo, espere un ciclo a través del ciclo de programación de los controladores porque espera algo. Si este es el caso, es posible que el mouse todavía se pueda mover, pero todo lo demás parece estar congelado.

Dado que la PC estará en serios problemas si las funciones normales del LED del teclado no funcionan después de que hayan transcurrido 5 segundos, se puede suponer con seguridad que el sistema se ha bloqueado gravemente y no se puede recuperar.

Hay otras dos teclas, a saber, Scroll Lock y Numlock. De estas tres claves, Numlock es la única clave que otros programas probablemente no abusarán debido a la naturaleza de lo que hace la clave. Es más confiable usar el bloqueo numérico para probar si el sistema responde o no que el bloqueo de mayúsculas o desplazamiento porque algunos programas tienden a usar estas teclas para activar una función diferente y, como tal, a menudo desactivan el estado del LED, lo que hace que menos confiable para probar con Capslock o bloqueo de desplazamiento, y más confiable para probar con el bloqueo numérico.

LPChip
fuente
Mi última pregunta fue sobre [qué determina si el LED de bloqueo de mayúsculas responde]. Secundario a eso fue [si es apropiado usar Bloq Mayús para probar el "punto de no retorno"]. No estoy seguro de qué manera implicas que respondí mi propia pregunta. Mi pregunta contenía solo una hipótesis especulativa, sin datos reales o teoría verdadera involucrada. Creo que su respuesta fortalece mi uso propuesto de Bloqueo de mayúsculas al explicar los mecanismos de nivel inferior.
Bort
@Bort Edité mi pregunta para que sea más clara. Intenté responder a tu pregunta, pero sentí la necesidad de explicar cómo funciona todo para sentar las bases de por qué las cosas son así. De lo contrario, es visto como mi opinión y no tanto basado en hechos.
LPChip