Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este documento proporciona las definiciones de palabras y frases específicas en este espacio y se usa como referencia en este conjunto de documentos.
Aplicaciones de línea de comandos
Las aplicaciones de línea de comandos, o a veces denominadas "aplicaciones de consola" o denominadas "clientes" del subsistema de consola, son programas que funcionan principalmente en una secuencia de información de texto o caracteres. Por lo general, no contienen elementos de interfaz de usuario propios y deleguen los roles de salida/visualización y entrada/interacción en una aplicación de hospedaje. Las aplicaciones de línea de comandos reciben una secuencia de texto en su identificador de entrada STDIN estándar que representa la entrada del teclado de un usuario, procesan esa información y, a continuación, responden con una secuencia de texto en su salida STDOUT estándar para volver a mostrarse en el monitor del usuario. Por supuesto, esto ha evolucionado con el tiempo para dispositivos de entrada adicionales y escenarios remotos, pero la misma filosofía básica sigue siendo la misma: los clientes de línea de comandos operan en texto y otra persona administra la visualización y la entrada.
Identificadores estándar
Los identificadores estándar son una serie, STDIN, STDOUTy STDERR, introducidas como parte de un espacio de proceso en el inicio. Representan un lugar para que la información se acepte en el camino de salida y se devuelva al salir (incluido un lugar especial para notificar errores). En el caso de las aplicaciones de línea de comandos, siempre deben existir cuando se inicia la aplicación. Se heredan del elemento primario automáticamente, se establecen explícitamente por el elemento primario o se crean automáticamente por el sistema operativo si no se especifican ni se permiten. En el caso de las aplicaciones clásicas de Windows, estas pueden estar en blanco al iniciarse. Sin embargo, se pueden heredar implícita o explícitamente del elemento primario o asignado, adjunto y liberado durante el tiempo de ejecución por la propia aplicación.
Los identificadores estándar no implican un tipo específico de dispositivo conectado. Sin embargo, en el caso de las aplicaciones de línea de comandos, el dispositivo suele ser un dispositivo de consola, un archivo (de redireccionamiento en un shell) o una canalización (desde un shell que conecta la salida de una utilidad a la entrada de la siguiente). También puede ser un socket o cualquier otro tipo de dispositivo.
TTY/PTY
En plataformas que no son windows, los dispositivos TTY y PTY representan respectivamente un verdadero dispositivo físico o un pseudodispositivo creado por software que son el mismo concepto que una sesión de consola de Windows: un canal donde la comunicación entre una aplicación cliente de línea de comandos y una aplicación de interactividad del host de servidor o un dispositivo físico de teclado/visualización pueden intercambiar información basada en texto.
Clientes y servidores
Dentro de este espacio, nos referimos a "clientes" como aplicaciones que realizan el trabajo de procesamiento de información y comandos en ejecución. Las aplicaciones "servidor" son las que son responsables de la interfaz de usuario y son trabajadores para traducir la entrada y salida en formularios estándar en nombre de los clientes.
Subsistema de consola
Se trata de un término catch-all que representa todos los módulos que afectan a las operaciones de la consola y de la línea de comandos. Hace referencia específicamente a una marca que forma parte del encabezado Portable Ejecutable que especifica si la aplicación inicial es una aplicación de línea de comandos o consola (y debe tener identificadores estándar para iniciarse) o una aplicación windows (y no las necesita).
El host de consola, las aplicaciones cliente de línea de comandos, el controlador de consola, la superficie de api de consola, la infraestructura de pseudoconsola, los terminales, las hojas de propiedades de configuración, los mecanismos y códigos auxiliares dentro del cargador de procesos y las utilidades relacionadas con los trabajos de estas formas de aplicaciones se consideran pertenecer a este grupo.
Host de consola
El host de consola de Windows, o conhost.exe, es la aplicación de servidor para todas las API de consola de Windows, así como la interfaz de usuario clásica de Windows para trabajar con aplicaciones de línea de comandos. El contenido completo de este binario, tanto el servidor de API como la interfaz de usuario, pertenecían históricamente a Windows csrss.exe, un proceso crítico del sistema y se divergieron con fines de seguridad y aislamiento. En el futuro, conhost.exe seguirá siendo responsable del servicio y la traducción de llamadas API, pero los componentes de la interfaz de usuario están diseñados para delegarse a través de una pseudoconsola en un terminal.
Pseudoconsola
Esta es la simulación de Windows de un pseudoterminal o "PTY" de otras plataformas. Intenta coincidir con la filosofía de interfaz general de PTYs, proporcionando un canal bidireccional simple de comunicación basada en texto, pero lo complementa en Windows con una capa de compatibilidad grande para traducir la amplitud de las aplicaciones de Windows escritas antes de este cambio de filosofía de diseño de la superficie de api de consola clásica en el formulario de comunicación de canal de texto simple. Los terminales pueden usar la pseudoconsola para tomar posesión de los elementos de la interfaz de usuario fuera del host de la consola, conhost.exey dejarla a cargo del servicio de API, la traducción y los esfuerzos de compatibilidad.
Terminal
Un terminal es la interfaz de usuario y el módulo de interacción de una aplicación de línea de comandos. En la actualidad, es una representación de software de lo que solía ser históricamente un dispositivo físico con un monitor de pantalla, un teclado y un canal de comunicación serie bidireccional. Es responsable de recopilar la entrada del usuario en una variedad de formas, traducirla y codificarla y cualquier información de comando especial en una sola secuencia de texto y enviarlo al PTY para su transmisión al STDIN canal de la aplicación cliente de línea de comandos. También es responsable de recibir información de devolución, a través del PTY, que procede del canal de STDOUT una aplicación cliente, descodificar cualquier información especial en la carga, diseñar todo el texto y comandos adicionales, y presentarlo gráficamente al usuario final.