終端(英語:Computer terminal),是一臺(tái)計(jì)算機(jī)或者計(jì)算機(jī)系統(tǒng),用來讓用戶輸入數(shù)據(jù),及顯示其計(jì)算結(jié)果的機(jī)器。終端有些是全電子的,也有些是機(jī)電的。其又名終端機(jī),它與一部獨(dú)立的計(jì)算機(jī)不同。
歷史
終端其實(shí)就是一種輸入輸出設(shè)備,相對(duì)于計(jì)算機(jī)主機(jī)而言屬于外設(shè),本身并不提供運(yùn)算處理功能。早期的計(jì)算機(jī)終端一般是機(jī)電的電傳打字機(jī),比如ASR33。但是對(duì)于大多數(shù)應(yīng)用來說它們太慢了。1970年代初許多計(jì)算機(jī)公司認(rèn)識(shí)到電視輸入終端比穿孔卡片要好得多,而且可以使得計(jì)算機(jī)更加容易與用戶互動(dòng),產(chǎn)生新的應(yīng)用。當(dāng)時(shí)的毛病在于相對(duì)于當(dāng)時(shí)的小型計(jì)算機(jī)來說要顯示一頁文字所需要的內(nèi)存太大了。在集成電路普及以前要顯示電視信號(hào)所需要的速度對(duì)當(dāng)時(shí)的邏輯門所提出的技術(shù)挑戰(zhàn)也太高了。當(dāng)時(shí)有一家公司宣布要生產(chǎn)一臺(tái)價(jià)值15,000美元的視頻終端,吸引了許多購戶,但是最后它的工程師們決定這個(gè)計(jì)劃無法完成。另一個(gè)解決方法是泰克公司發(fā)明的存儲(chǔ)管,這臺(tái)機(jī)器可以顯示輸出給它的信息,但是無法刷新。
早期的視頻終端使用特別的邏輯門,沒有自己的中央處理器。發(fā)展微處理器的動(dòng)機(jī)之一就是要簡(jiǎn)化終端里的電子組件的復(fù)雜性。大多數(shù)終端的屏幕是綠色或者橙色的,它們與大型計(jì)算機(jī)相連。典型的終端使用RS-232之類的串行數(shù)據(jù)通信與主機(jī)相連,IBM使用它自己的系統(tǒng)網(wǎng)絡(luò)體系結(jié)構(gòu)協(xié)議通過同軸電纜來連接其主機(jī)與終端。
后來所謂的智能終端(如VT52和VT100)被引入。今天依然有許多這兩個(gè)終端的模擬軟件。這些終端之所以被稱為“智能”是因?yàn)樗鼈兝斫廪D(zhuǎn)義序列,可以定位光標(biāo)和控制顯示位置。重要的非VT100終端有IBM 3270、不同的慧智模型和Tektronix 4014。1970年代里世界上有十?dāng)?shù)個(gè)終端生產(chǎn)商,大多數(shù)終端的指令不兼容。1970年代和1980年代初最重要的終端生產(chǎn)商有迪吉多、慧智、Televideo、利爾·西格勒公司和Heathkit。
早期的IBM個(gè)人計(jì)算機(jī)雖然也使用綠色的屏幕,但是它不算終端。個(gè)人計(jì)算機(jī)的屏幕不包括任何產(chǎn)生字母的硬件,所有的視頻信號(hào)是在個(gè)人計(jì)算機(jī)的顯卡里產(chǎn)生的。但是使用相應(yīng)的模擬程序一臺(tái)個(gè)人計(jì)算機(jī)可以與大型計(jì)算機(jī)相連模擬終端。最后使用微處理器的個(gè)人計(jì)算機(jī)大大地取消了對(duì)終端的需要。今天大多數(shù)個(gè)人計(jì)算機(jī)的Telnet用戶端提供最普遍的終端(一般VT100)的模擬。
圖形終端
有些終端不但可以顯示文字,而且可以顯示矢量圖形和位圖。計(jì)算機(jī)向終端輸出繪圖指令,終端則向計(jì)算機(jī)輸送用戶輸入(通過鍵盤或者定位設(shè)備)。
事實(shí)上今天過去簡(jiǎn)單的圖形終端已經(jīng)完全被全功能視頻顯示器代替了。今天在計(jì)算機(jī)中圖形用戶界面無處不在。大多數(shù)終端模擬程序是在圖形環(huán)境內(nèi)運(yùn)行的。
X終端是專門給X窗口系統(tǒng)設(shè)計(jì)的圖形終端,提供連接到服務(wù)器系統(tǒng)上運(yùn)行的KDE、GNOME或其它基于X窗口系統(tǒng)的平臺(tái)的可能性。
當(dāng)前
由于個(gè)人計(jì)算機(jī)的普及今天已經(jīng)很少有專門的計(jì)算機(jī)終端作為界面了?,F(xiàn)代的操作系統(tǒng)如Linux和BSD及其派生物使用與硬件基本無關(guān)的虛擬終端。輸出系統(tǒng)一般是屏幕,輸入系統(tǒng)則是鍵盤。
在使用X窗口系統(tǒng)這樣的圖形用戶界面時(shí)在屏幕上一般有多個(gè)與不同應(yīng)用相關(guān)的窗口開著,而不是只有一個(gè)與一個(gè)單個(gè)過程相連的文字流。在這種情況下用戶一般使用終端模擬程序。這樣用戶可以不必使用專門的終端設(shè)備來與計(jì)算機(jī)交換。
技術(shù)討論
一個(gè)程序最簡(jiǎn)單的使用終端的方法是向終端串行寫或讀文字。輸出的文字向上推,因此只有最后的數(shù)行可見。輸入的文前綴先被暫時(shí)貯存,在獲得回車鍵后程序獲得整個(gè)輸入的文字。在這種情況下程序不需要很了解終端。
對(duì)于許多互動(dòng)程序來說這個(gè)方法不夠,一個(gè)普遍的改善是描述命令行編輯,一般它還提供指令歷史的功能。這個(gè)改善對(duì)不同互動(dòng)的命令行注釋器也非常有用。
更進(jìn)步的終端提供“全屏”應(yīng)用。這樣的程序可以完全控制屏幕上的輸出,還可以立刻對(duì)鍵盤輸入做反應(yīng)。這樣的終端對(duì)文本編輯器、文件管理和網(wǎng)頁瀏覽器這樣的應(yīng)用非常有用。這樣的程序可以控制屏幕上文字的亮度、在文字下劃線、使文字閃爍和使用特別的字母。這樣的程序不但要處理簡(jiǎn)單的文字,而且還要處理可以將光標(biāo)放置到屏幕上任何地方、清除屏幕部分地區(qū)、改變顏色和顯示特殊字母的控制字符和轉(zhuǎn)義序列。這些程序還必須能夠?qū)δ苕I做反應(yīng)。[2]
但是由于各種終端和它們的模擬程序使用不同的轉(zhuǎn)義序列,加上許多模擬程序多少有些錯(cuò)誤,在顯示的時(shí)候往往會(huì)發(fā)生錯(cuò)誤。此外終端和終端模擬程序一般不支持羅馬字母以外的字母或者字形。這些缺點(diǎn)都限制了今天終端和終端模擬器的使用。而且近年來由于圖形用戶界面的普及終端模擬庫的發(fā)展和改錯(cuò)的工作越來越趨停滯。