虛擬終端

一個视频终端的模拟的程序

終端模擬器(英語:Terminal emulator)也譯為「虛擬終端機」,是在個人電腦上虛擬的一個終端以及為此目的而寫的軟體。虛擬終端的目的是達到個人電腦及其使用者能夠與大型電腦的連接。一般來說需要連接的大型電腦是IBM的大型電腦或者所謂的超小型電腦(過去往往是迪吉多VAX)。

XtermX視窗系統上一個基本的虛擬終端機。
Windows TerminalWindows 10Windows 11的開源終端模擬器。

虛擬終端使得個人電腦的使用者可以直接使用他的個人電腦來與大型電腦聯絡,而不必使用專門的終端。

通過虛擬終端的軟體虛擬終端還可以擴充大型電腦的標準終端的功能,通過虛擬終端不但可以將個人電腦上的資料傳遞給大型電腦,而且還可以將大型電腦的資料傳遞給個人電腦,並在個人電腦上繼續加工。

一般大型電腦的終端是字母式的輸入和輸出介面,因此一個虛擬終端至少需要一個能夠類比這樣的字母式(比如ASCII)輸入和輸出介面的能力。最常見的平台是圖像式的使用者表面。要使得新的、圖像式的程式能夠使用老的字母式的或者沒有圖像式輸入和輸出能力的程式也需要虛擬終端。

現代的大型電腦也內部使用虛擬終端,這樣它們可以向老的、需要終端的程式假裝一個終端,而實際上它則將程式的顯示轉到顯示卡上。比如Linux以及其它大多數基於個人電腦的類似Unix的作業系統假裝有六至十個這樣的「虛擬」的終端。

字母程序 <---> 虚拟终端 <---> 图像显示
shell <---> xterm <---> X11

結構

虛擬終端使得一個字母式的程式可以通過圖形化使用者介面與使用者通訊。它們使得使用者可以使用不能直接使用圖像介面的程式(比如因為在它們編程時還沒有圖像介面,或者因為字母式介面比較簡單)。虛擬終端向字母式程式「假裝」出一個字母終端,而向圖像介面「假裝」出一個圖像式的程式。

工作方式

虛擬終端完成一個終端程式的任務。不過一個虛擬終端是一個普通的、在一個作業系統上、在電腦中央處理器上執行的普通程式,而不是一個儲存在終端唯讀記憶體中的、在終端的中央處理器上執行的程式。虛擬終端分析一個字母式的程式的輸出,將它轉換為圖像介面(比如X11)的輸出。

終端窗口內的鍵盤輸入傳遞給大型電腦中與終端連接的行程,一般這個行程是一個命令列直譯器。這個行程以為自己是與一個終端相連,而實際上它是與一個虛擬終端相連。

例子

參考文獻