En informatique , une touche d'état est une touche du clavier qui permet à un système d'exploitation et/ou à un programme d'afficher des informations d'état sur un terminal lorsqu'elle est enfoncée. Dans le cas où un programme sur un terminal ne produit aucune indication qu'il est en cours d'exécution, la saisie de la touche d'état révélera l'état et l'activité du programme. Les anciennes implémentations ne produisaient qu'un rapport d'état rapide d'une seule ligne pour la tâche en cours lorsque la touche d'état était enfoncée. Les implémentations plus récentes prennent en charge l'envoi d'un signal au processus en cours pour permettre à l'application de signaler également l'état.
Implémentations au niveau du système d'exploitation
Plusieurs systèmes d’exploitation différents ont une fonctionnalité de clé d’état implémentée dans le noyau ou un autre composant de bas niveau.
TENEX
TENEX possède cette fonctionnalité depuis au moins 1971 : « Un autre caractère d'interruption de terminal, control-T, est géré par l'EXEC. Il interrompt le processus EXEC d'un utilisateur pour saisir le temps total de CPU et de console utilisé, ainsi que l'état du fork en cours d'exécution sous l'EXEC. »
DEC RSTS/E
Il est prouvé que RSTS/E possède une clé d'état depuis au moins 1977 et qu'elle a continué à en posséder une au moins jusque dans les années 1980. La saisie de la clé d'état produit une sortie représentée par l'exemple suivant :
18 GARP::KB32 SYSTAT+BAS4F ^C(0R) 11(16)K+ 16K 3.3(+5)
TOPS 10 DÉCEMBRE
Sur TOPS-10 , lorsque la touche CTRL/T (contrôle-T) est enfoncée, le moniteur imprime les informations d'état relatives à la tâche sur le terminal. La saisie de CTRL/T affiche la progression d'une tâche sans interrompre son exécution. Aucune représentation d'un caractère contrôle-t n'est affichée sur le terminal, uniquement les informations d'état.
JOUR : 05:43 COURSE : 0,48 RD : 75 WR : 8 SOS 12+19p ^C Ctx : 1 PC : 400 275
Les valeurs incrémentielles dans le tableau ci-dessous indiquent que la valeur est l'accumulation depuis la connexion ou la dernière CTRL/T, selon la plus courte des deux.
TOPS DÉCEMBRE-20
TOPS-20 présente une liste d'informations plus courte que ses prédécesseurs :
09:36:35 TEST Exécuté à 404157 Utilisé 0:00:35.8 dans 0:30:39, Charge 4.04
AVEC SON
ITS a copié l'idée de TOPS-20 , mais a utilisé la séquence de touches Control+ . _ J
19:29:10 3 RMS HACTRN EMACS1 130566
VSI OpenVMS
OpenVMS dispose d'une clé d'état qui peut être personnalisée et qui fonctionne avec des processus distants. La sortie par défaut inclut les éléments suivants :
NODE22::SMITH 16:21:04 (DCL) CPU=00:03:29.39 PF=14802 IO=18652 MEM=68
BSD UNIX
4.3BSD-Reno et les systèmes BSD dérivés de cette version et OSF/1 ont une touche d'état qui est par défaut Ctrl-T et peut être assignée à n'importe quelle touche. Il envoie SIGINFO au processus en cours qui est ignoré par défaut mais peut être configuré pour appeler une fonction qui peut afficher les informations d'état du programme.
charge : 0,10 cmd : veille 1594 [nanslp] 1,33r 0,00u 0,00s 0% 1864k
Système d'exploitation macOS d'Apple
Étant donné que XNU possède un noyau FreeBSD qui a été modifié pour être un processus serveur Mach, le pilote de terminal inclut une clé d'état qui est héritée.
charge : 3,04 cmd : veille 719 en attente 0,00u 0,00s
Implémentations au niveau de l'application
En plus d'implémenter une touche d'état dans le noyau ou le composant du système d'exploitation associé, certaines applications disposent de fonctionnalités qui vous permettent d'appuyer sur une touche pour afficher l'état de l'application.
SDS-940 exécutant BBN Lisp en 1969
BBN Lisp qui s'exécute sur un SDS 940 avait une clé d'état qui était implémentée dans le Lisp qui s'exécutait sur un système d'exploitation, plutôt que dans le noyau du système d'exploitation lui-même.
Contrôle-T Heure d'impression. Provoque une impression du temps total d'exécution (en quelques secondes) pour le travail, (même pendant les collectes d'ordures), c'est-à-dire horloge[2], (p. 14.22). Une série de de telles impressions devraient montrer une augmentation numéros si le programme utilise des Temps CPU. Bien sûr, le programme est ne pas utiliser le temps CPU s'il est en attente pour la saisie. Ces informations peuvent servent à aider l'utilisateur à déterminer si son LISP et/ou le système de partage de temps tem s'est écrasé.