Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ce document fournit les définitions de mots et d’expressions spécifiques dans cet espace et doit être utilisé comme référence tout au long de cet ensemble de documents.
Applications de ligne de commande
Les applications en ligne de commande, ou parfois appelées « applications console » et/ou appelées « clients » du sous-système de la console, sont des programmes qui fonctionnent principalement sur un flux d’informations de texte ou de caractères. Ils ne contiennent généralement aucun élément d’interface utilisateur de leur propre et délèguent à la fois les rôles de sortie/d’affichage et d’entrée/interaction à une application d’hébergement. Les applications de ligne de commande reçoivent un flux de texte sur leur handle d’entrée STDIN standard qui représente l’entrée clavier d’un utilisateur, traitent ces informations, puis répondent avec un flux de texte sur leur sortie STDOUT standard pour être affichées à l’écran de l’utilisateur. Bien sûr, cela a évolué au fil du temps pour des appareils d’entrée supplémentaires et des scénarios distants, mais la même philosophie de base reste la même : les clients en ligne de commande fonctionnent sur du texte et quelqu’un d’autre gère l’affichage/l’entrée.
Poignées standards
Les handles standards sont une série, STDIN, STDOUT et STDERR, introduite dans un espace de processus au démarrage. Ils représentent un lieu où les informations sont reçues en entrée et renvoyées en sortie (y compris un espace spécial pour signaler les erreurs). Pour les applications en ligne de commande, celles-ci doivent toujours exister au démarrage de l’application. Ils sont hérités automatiquement du parent, définis explicitement par le parent ou créés automatiquement par le système d’exploitation si aucun des deux n’est spécifié/autorisé. Pour les applications Windows classiques, celles-ci peuvent être vides au démarrage. Toutefois, elles peuvent être implicitement ou explicitement héritées du parent ou allouées, attachées et libérées pendant l’exécution par l’application elle-même.
Les handles standard n’impliquent pas un type spécifique d’appareil attaché. Toutefois, dans le cas d’applications en ligne de commande, l’appareil est le plus souvent un appareil console, un fichier (à partir de la redirection dans un interpréteur de commandes) ou d’un canal (à partir d’un interpréteur de commandes connectant la sortie d’un utilitaire à l’entrée suivante). Il peut également s’agir d’un socket ou d’un autre type d’appareil.
TTY/PTY
Sur les plateformes non-Windows, les appareils TTY et PTY représentent respectivement un véritable appareil physique ou un pseudo-appareil créé par logiciel qui sont le même concept qu’une session de console Windows : un canal où la communication entre une application cliente de ligne de commande et une application hôte de serveur ou un appareil physique ou clavier/affichage physique peut échanger des informations textuelles.
Clients et serveurs
Dans cet espace, nous faisons référence à des « clients » en tant qu’applications qui effectuent le travail de traitement des informations et d’exécution de commandes. Les applications dites « serveur » sont celles qui sont responsables de l'interface utilisateur et qui traduisent l'entrée et la sortie en formulaires standards pour le compte des clients.
Sous-système de console
Il s’agit d’un terme catch-all représentant tous les modules affectant les opérations de console et de ligne de commande. Il fait spécifiquement référence à un indicateur qui fait partie de l’en-tête Exécutable portable qui spécifie si l’application de démarrage est une application de ligne de commande/console (et doit avoir des handles standard pour démarrer) ou une application Windows (et n’en a pas besoin).
L’hôte de console, les applications clientes en ligne de commande, le pilote de console, l’aire de l’API de console, l’infrastructure pseudoconsole, les terminaux, les feuilles de propriétés de configuration, les mécanismes et les stubs à l’intérieur du chargeur de processus, et tous les utilitaires liés aux fonctionnements de ces formes d’applications sont considérés comme appartenant à ce groupe.
Hôte de console
L’hôte de console Windows ou conhost.exe, est à la fois l’application serveur pour toutes les API de console Windows ainsi que l’interface utilisateur Windows classique pour l’utilisation d’applications en ligne de commande. Le contenu complet de ce fichier binaire, à la fois le serveur d’API et l’interface utilisateur, appartenait historiquement à Windows csrss.exe, un processus système critique et était divergent à des fins de sécurité et d’isolation. À l’avenir, conhost.exe il continuera d’être responsable de la maintenance et de la traduction des appels d’API, mais les composants de l’interface utilisateur sont destinés à être délégués via un pseudoconsole à un terminal.
Pseudoconsole
Il s’agit de la simulation Windows d’un pseudoterminal ou « PTY » à partir d’autres plateformes. Il tente de s'aligner avec la philosophie générale d'interface des PTYs, en fournissant un canal de communication textuelle bidirectionnel et simple, mais il le complète sur Windows avec une importante couche de compatibilité pour adapter la vaste gamme d'applications Windows écrites avant ce changement de philosophie de conception, en passant de la surface classique de l'API de console à la forme de communication par canal de texte simple. Les terminaux peuvent utiliser la pseudoconsole pour reprendre le contrôle des éléments de l'interface utilisateur depuis l'hôte de la console, conhost.exe tout en le laissant responsable de la gestion, de la traduction et de la compatibilité de l’API.
Aérogare
Un terminal est le module d’interface utilisateur et d’interaction pour une application en ligne de commande. Aujourd’hui, il s’agit d’une représentation logicielle de ce qui était historiquement un appareil physique avec un moniteur d’affichage, un clavier et un canal de communication série bidirectionnel. Il est responsable de la collecte des entrées de l’utilisateur dans une variété de formulaires, de la traduire et de l’encoder et de toutes les informations de commande spéciales en un seul flux de texte, et de l’envoyer au PTY pour la transmission sur le STDIN canal de l’application cliente de ligne de commande. Il est également responsable de la réception d’informations de retour, via le PTY, provenant du canal d’une STDOUT application cliente, décodant toutes les informations spéciales dans la charge utile, et organisant tout le texte et les commandes supplémentaires, pour les présenter graphiquement à l’utilisateur final.