it-swarm-es.tech

¿Qué hace la tecla SysRq?

En mi teclado, la tecla funciona como la tecla Imprimir pantalla cuando el bloqueo F está activado tiene "SysRq" debajo (presumiblemente para usarse cuando el bloqueo F está desactivado). ¿Qué es y para qué sirve?

28
RCIX

SysRq se introdujo en los teclados de PC de IBM como una forma de tener una forma multiplataforma para iniciar un evento de bajo nivel. Al escribir las teclas, se colocan en un búfer y se descargan periódicamente. Si su máquina se bloquea, el teclado no funciona.

Los SysRq La clave era básicamente forzar el envío de un comando a la computadora, sin pasar por el búfer, para activar una llamada de bajo nivel; generalmente un evento RESET.

Sin embargo, cada sistema operativo ignora esta tecla ahora y utiliza una combinación de teclas preferida para iniciar una especie de interfaz similar al 'Administrador de tareas' que permite que el sistema operativo siga funcionando, en lugar de reiniciar la computadora.

Es mucho más común ejecutar aplicaciones desde el sistema operativo host que desde el BIOS. No era así en los 80 :-)

18
Dominic Zukiewicz

Los SysRq key se inventó en los primeros días de las computadoras personales, cuando los programas Terminate and Stay Resident (TSR) de bajo nivel podían acceder directamente y modificar el búfer del teclado. Esta clave pasó por alto el búfer y dio acceso directo al sistema operativo MSDOS.

Hoy esta clave es ignorada por el BIOS y por Windows. Ha sido relegado al Prt Scn y se activa mediante Alt+Prt Scn. Algunos fabricantes, por ejemplo Lenovo, ya no lo marcan en el teclado, aunque todavía se puede acceder a él como se indicó anteriormente.

Algunos depuradores antiguos usaban esta clave como clave de ejecución de interrupción, pero ya no existe.

En Linux, la clave todavía está presente, lo que requiere que se especifique la opción del kernel CONFIG_MAGIC_SYSRQ cuando se compiló el kernel. Esto se puede verificar ingresando el comando:

$ cat /proc/sys/kernel/sysrq
176

El comando generalmente devolverá el valor de 176, donde cada bit representa una función:

0 - disable sysrq completely
1 - enable all functions of sysrq
2 - enable control of console logging level
4 - enable control of keyboard (SAK, unraw)
8 - enable debugging dumps of processes etc.
16 - enable sync command
32 - enable remount read-only
64 - enable signaling of processes (term, kill, oom-kill)
128 - allow reboot/poweroff
256 - allow nicing of all RT tasks

Un valor de 0 deshabilita todas las funciones SysRq y un valor de 1 habilita todos ellos. El valor corriente se puede cambiar, por ejemplo, con el comando:

echo "1" > /proc/sys/kernel/sysrq

De todas las secuencias de teclas de comando, REISUB es la más famosa, cuando se mantiene Alt+Prt Scn y presionando las siguientes teclas en secuencia:

  • r: cambia el teclado de modo raw a XLATE
  • e: envía una señal SIGTERM a todos los procesos, para cerrar correctamente si es posible
  • i: envía una señal SIGKILL para terminar los procesos que no respondieron
  • s: sincroniza todos los sistemas de archivos montados y elimina todos los cambios del disco en caché
  • u: vuelve a montar todos los sistemas de archivos en modo de solo lectura
  • b: reinicio del sistema.

Referencias:

5
harrymc

Es una tecla programable que se puede hacer para hacer una variedad de cosas, depende.

Recuerdo que tenía algunos usos en terminales ibm antiguos, y algunos programas de DOS lo usaban para una forma de restablecimiento parcial.

3
Rook

En Linux todavía tiene una función muy útil:

https://en.wikipedia.org/wiki/Magic_SysRq_key

2
pgoetz