虛擬終端

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

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

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

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

通過虛擬終端的軟件虛擬終端還可以擴展大型計算機的標準終端的功能,通過虛擬終端不但可以將個人電腦上的數據傳遞給大型計算機,而且還可以將大型計算機的數據傳遞給個人電腦,並在個人電腦上繼續加工。

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

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

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

結構

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

工作方式

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

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

例子

參考文獻