定義

本檔提供此空間中特定字詞和片語的定義,並作為本檔集的參考。

命令行應用程式

命令行應用程式,有時稱為「控制台應用程式」和/或控制檯子系統的「用戶端」,是主要在文字或字元資訊串流上運作的程式。 它們通常不包含自己的使用者介面元素,並將輸出/顯示和輸入/互動角色委派給主控應用程式。 命令行應用程式會在其標準輸入句柄上接收文字串流,代表使用者的鍵盤輸入 STDIN 、處理該資訊,然後在其標準輸出 STDOUT 上回應文字串流,以顯示回使用者的監視器。 當然,對於其他輸入裝置和遠端案例,這已隨著時間而演進,但相同的基本理念保持不變:命令行用戶端在文字上運作,而其他人則管理顯示/輸入。

標準句柄

標準句柄是一系列、 STDINSTDOUTSTDERR,是啟動時進程空間的一部分。 它們代表在途中接受資訊並送回出路的地方(包括報告錯誤的特殊地點)。 針對命令行應用程式,應用程式啟動時必須一律存在這些應用程式。 它們是從父代自動繼承、由父代明確設定,或由操作系統自動建立,如果兩者都未指定/允許的話。 針對傳統 Windows 應用程式,這些在啟動時可能是空白的。 不過,應用程式本身可以在運行時間期間隱含或明確繼承自父代或已配置、附加和釋放它們。

標準句柄並不表示特定類型的連結裝置。 不過,在命令行應用程式的情況下,裝置通常是控制台裝置、檔案(從殼層中的重新導向),或管道(從殼層連接一個公用程序的輸出到下一個公用程式的輸入)。 它也可能是套接字或任何其他類型的裝置。

TTY/PTY

在非 Windows 平臺上,TTY 和 PTY 裝置分別代表真正的實體裝置或與 Windows 主控台工作階段相同的軟體建立虛擬設備:命令行用戶端應用程式與伺服器主機互動應用程式或實體鍵盤/顯示裝置之間的通訊通道可以交換文字資訊。

用戶端和伺服器

在此空間中,我們指的是「用戶端」做為處理資訊和執行命令工作的應用程式。 「伺服器」應用程式是負責使用者介面,且是代表用戶端將輸入和輸出轉譯成標準表單的背景工作角色。

控制檯子系統

這是一個全攔截詞彙,代表影響控制台和命令行作業的所有模組。 它特別指的是可攜式可執行檔標頭的旗標,指定啟動應用程式是命令行/控制台應用程式(且必須有標準句柄才能啟動)或 Windows 應用程式(且不需要它們)。

主機、命令行用戶端應用程式、控制台驅動程式、控制台 API 介面、虛擬console基礎結構、終端機、組態屬性表、進程載入器內的機制和存根,以及與這些應用程式形式運作相關的任何公用程式都會被視為屬於此群組。

主機主機

Windows 主機 或 conhost.exe是所有 Windows 主控台 API 的伺服器應用程式,以及用於使用命令行應用程式的傳統 Windows 使用者介面。 此二進位檔的完整內容,包括 API 伺服器和 UI,歷來屬於 Windows csrss.exe,這是重要的系統進程,而且基於安全性和隔離目的而有所差異。 接下來, conhost.exe 將繼續負責 API 呼叫服務和轉譯,但使用者介面元件的目的是要透過虛擬console 委派給終端機。

Pseudoconsole

這是來自其他平台的虛擬終端或 「PTY」 的 Windows 模擬。 它會嘗試比對 PTYs 的一般介面哲學,提供簡單的文字型通訊雙向通道,但它會在 Windows 上補充它與大型相容性層,以將在此設計理念之前所撰寫的 Windows 應用程式廣度,從傳統控制台 API 介面變更為簡單的文字通道通訊形式。 終端機可以使用 pseudoconsole 從控制台主機取得使用者介面元素的擁有權, conhost.exe同時負責 API 服務、翻譯和相容性工作。

終端機

終端機是命令行應用程式的使用者介面和互動模組。 今天,它是一種軟體表示法,其過去是具有顯示器監視器、鍵盤和雙向序列通道的實體裝置。 它負責以各種形式從使用者收集輸入、將其轉譯並編碼,以及將任何特殊命令信息轉換成單一文字串流,並將它提交至 PTY,以傳輸至 STDIN 命令行用戶端應用程式的通道。 它也負責透過來自用戶端應用程式通道的 STDOUT PTY 接收回資訊、譯碼承載中任何特殊資訊、配置所有文字和其他命令,以及以圖形方式向使用者呈現該資訊。