En informática , una tecla de estado es una tecla del teclado que hace que un sistema operativo o un programa muestre información de estado en un terminal cuando se presiona. En el caso de que un programa en un terminal no produzca indicaciones de que se está ejecutando, al presionar la tecla de estado se revelará el estado y la actividad del programa. [1] Las implementaciones más antiguas solo producían un informe de estado rápido de una línea para el trabajo actual cuando se presionaba la tecla de estado. [2] Las implementaciones más nuevas admiten el envío de una señal al proceso actual para permitir que la aplicación también informe sobre el estado. [3]
Varios sistemas operativos diferentes tienen una función de tecla de estado implementada en el núcleo u otro componente de bajo nivel.
TENEX tiene esta característica desde al menos 1971: "Otro carácter de interrupción de terminal, control-T, es atendido por el EXEC. Interrumpe el proceso EXEC de un usuario para escribir el tiempo total de CPU y consola utilizados, y el estado de la bifurcación que se está ejecutando bajo el EXEC". [4]
Se ha documentado que RSTS/E tiene una clave de estado al menos desde 1977 y continuó teniéndola al menos hasta la década de 1980. Al escribir la clave de estado, se obtiene un resultado que se representa mediante el siguiente ejemplo: [5] [6] [2]
18 GARP::KB32 SISTEMA+BAS4F ^C(0R) 11(16)K+ 16K 3,3(+5)
En TOPS-10, cuando se presiona la tecla CTRL/T (control-T), el monitor imprime información de estado correspondiente al trabajo en la terminal. Al presionar CTRL/T se muestra el progreso de un trabajo sin interrumpir su ejecución. No se muestra ninguna representación de un carácter control-t en la terminal, solo la información de estado. [7]
DIA: :05:43 CARRERA:0.48 RD:75 WR:8 SOS 12+19p ^C Ctx:1 PC:400275
Los valores incrementales en la tabla a continuación indican que el valor es la acumulación desde el inicio de sesión o el último CTRL/T, lo que haya sido más corto. [7]
TOPS-20 proporciona una lista de información más corta que sus predecesores: [9]
09:36:35 PRUEBA Ejecutándose a 404157 Usado 0:00:35.8 en 0:30:39, Carga 4.04
ITS copió la idea de TOPS-20 , [10] pero utilizó la secuencia de teclas Control+ . [11]_ J
19:29:10 3 RMS HACTRN EMACS1 130566
OpenVMS tiene una clave de estado que se puede personalizar y funciona con procesos remotos. [12] La salida predeterminada incluye estos elementos: [1]
NODO22::SMITH 16:21:04 (DCL) CPU=00:03:29.39 PF=14802 E/S=18652 MEM=68
4.3BSD-Reno [13] [14] [15] y los sistemas BSD derivados de esa versión y OSF/1 tienen una tecla de estado que por defecto es Ctrl-T y puede asignarse a cualquier tecla. [3] [16] Envía SIGINFO al proceso actual que se ignora por defecto pero puede configurarse para llamar a una función que puede mostrar información de estado del programa. [17] [18]
carga: 0,10 cmd: dormir 1594 [nanslp] 1,33r 0,00u 0,00s 0% 1864k
Debido a que XNU tiene un núcleo FreeBSD que ha sido modificado para ser un proceso de servidor Mach, el controlador de terminal incluye una clave de estado que se hereda. [19] [20] [21] [22]
carga: 3.04 cmd: dormir 719 esperando 0.00u 0.00s
Además de implementar una tecla de estado en el kernel o en un componente del sistema operativo relacionado, algunas aplicaciones tienen características que le permiten presionar una tecla para ver el estado de la aplicación.
BBN Lisp, que se ejecuta en un SDS 940, tenía una tecla de estado que se implementó en el Lisp que se ejecutaba en un sistema operativo, en lugar de en el núcleo del sistema operativo en sí. [23]
Control-TTiempo de impresión. Provoca una impresión inmediata.Impresión del tiempo total de ejecución.(en tics de reloj) para el trabajo, (inclusodurante la recolección de basura), es decirreloj[2], (p. 14.22). Una serie deEstas impresiones deberían mostrar un aumentonúmeros si el programa está usando algunoTiempo de CPU. Por supuesto, el programa esNo usar tiempo de CPU si está esperandoPara entrada. Esta información puedesirven para ayudar al usuario a determinar sisu LISP y/o el sistema de tiempo compartidoEl sistema se ha bloqueado.
#define SIGINFO 29 /* solicitud de información */
^T prototipo
^T
La parte BSD del núcleo OS X se deriva principalmente de FreeBSD.
#define CSTATUS CTRL('t')
#define SIGINFO 29 /* solicitud de información */
Informe sobre el estado del grupo de procesos en primer plano.