While early IBM PCs had single color green screens, these screens were not terminals. The screen of a PC did not contain any character generation hardware; all video signals and video formatting were generated by the video display card in the PC, or (in most graphics modes) by the CPU and software. An IBM PC monitor, whether it was the green monochrome display or the 16-color display, was technically much more similar to an analog TV set (without a tuner) than to a terminal. With suitable software a PC could, however, emulate a terminal, and in that capacity it could be connected to a mainframe or minicomputer. The Data General One could be booted into terminal emulator mode from its ROM. Eventually microprocessor-based personal computers greatly reduced the market demand for conventional terminals.
In the 1990s especially, “thin clients” and X terminals have combined economical local processing power with central, shared computer facilities to retain some of the advantages of terminals over personal computers:
Today, most PC telnet clients provide emulation of the most common terminal, the DEC VT100, using the ANSI escape code standard X3.64, or could run as X terminals using software such as Cygwin/X under Microsoft Windows or X.Org Server software under Linux.
Since the advent and subsequent popularization of the personal computer, few genuine hardware terminals are used to interface with computers today. Using the monitor and keyboard, modern operating systems like Linux and the BSD derivatives feature virtual consoles, which are mostly independent from the hardware used.
When using a graphical user interface (or GUI) like the X Window System, one’s display is typically occupied by a collection of windows associated with various applications, rather than a single stream of text associated with a single process. In this case, one may use a terminal emulator application within the windowing environment. This arrangement permits terminal-like interaction with the computer (for running a command line interpreter, for example) without the need for a physical terminal device; it can even allow the running of multiple terminal emulators on the same device.
終端裝備的顯示和輸入處理邏輯都在本身內完成,無需主機的參與,本身是1個完全的系統,通過串口與主機通訊。
而PC上的鍵盤和顯示器都需要主機本身來驅動,不能脫離主機而單獨發揮作用。
在計算機發展的初期,計算機主要用來計算,供大多數人來使用。因而,終端被發明出來,通過串口可以遠程連接到主機,然后對主機進行操控。
后來到了PC時期,計算機和終端進行了密切結合,計算機除本來的計算任務外,還完全驅動著直接連接的鍵盤和顯示器,終真個概念不再存在。
其中PC的直接控制鍵盤和顯示器的功能,非常切合原來終真個概念。事實上,使用PC完全可以摹擬原來的硬件終端裝備,而且現在這類摹擬已完全取代了原來的硬件終端裝備。
PC除控制顯示器和鍵盤鼠標以外的其他計算能力,則相當于原來的“計算機”。
其實不是所有計算機都像PC1樣把顯示控制作為主要功能,例如工業控制領域的計算機,主要功能就是完成各種工業裝備的控制而不是顯現多么美好的人機界面。所以界面交互部份完全可以獨立出來,成為“終端”。
這類通過串口就能夠控制的帶觸摸功能的控制屏非常流行。
固然,這與傳統終真個概念非常類似了。
隨著云計算的普及,大量的運算又開始從PC轉向數據中心里的服務器上。PC上僅僅運行像閱讀器這樣的終端軟件,真實的計算是在遠程的計算機上完成的。
這在概念上就相當于,每一個PC都是1臺終端,連接到了“云”上的計算機。
終端和計算機又1次進行了分離。
傳統終端和主機直接的通訊協議主要是ANSIC編碼的文本,所以也叫“文本終端(Text Termainal)或ANSI終端”,通訊的媒介主要是串口。
云時期的“終端”和主機的通訊協議依然是可讀文本,只不過編碼更多的采取了UTF⑻,協議規范叫做HTML,通訊媒介則主要是互聯網了。
計算機各部份功能,分久必合,合久必分,終究“分”會成功!“分離”代表著模塊化,代表著規范,代表著合作。只有分離,才能帶來更多企業的合作,才能帶來專注。
通訊協議文本化是絕對的王者,2進制沒法望其項背。1個人機皆可讀的、與軟硬件平臺無關(想一想大小真個字節序問題和各種數據類型的2進制不統1情況吧)的文本化協議絕對勝過單純的2進制流。文本化是Unix編程哲學的重要組成部份。從Unix的配置文件、日志文件到終真個通訊協議,再到云時期html,xml,json,文本始閃爍著耀眼的光芒!
傳統的硬件終端裝備已滅亡,但是終真個概念、功能、習慣幾近沒有改變,依然以各種”偽終端“的情勢成為Unix系統的重要組成部份。理解終真個概念是理解Unix系統的基礎,也是理解Unix哲學的1個優秀案例。