Linux中的主機、控制臺和終端的起源
如果你見過一些臺式機,那么它們大多是這樣的。鍵盤、顯示器、機箱可以分開。哪怕機箱和使用者不在一個房間,只要線路連通,還是可以使用電腦的。在早期,機箱和鍵盤、顯示器確實是分開的。
你知道 Linux 中的主機、控制臺和終端的起源么?
在 UNIX 誕生之初,計算機的價格非常昂貴。當時還沒有個人計算機,大多數計算機都是大型、昂貴、不穩定的機器,必須存放在濕度和溫度可控的環境中。貝爾實驗室的 Thompson 開始尋找小并且便宜的計算機。那時大多數計算機需要 100,000 美元,1970 年他和同事們得到了一臺 PDP-11,當時需要 10,800 美元。在數個月之內,他們將 UNIX 移植到了這臺計算機內。但是 PDP-11 一次只能運行一個程序,于是他們修改了 UNIX 系統,使它能夠一次運行多個程序,直到 1973 年這一目標才得以實現。
從上圖中可以看出,PDP-11 機身上有很多按鈕,這個操作面板被稱為控制臺。控制臺與主機緊密結合并且無法遠程操作,很多操作需要通過控制臺完成(比如啟動過程中遇到的問題),因為只用當主機啟動并且網絡連接正常后才能連接終端。由于大型計算機的價格十分昂貴,Thompson 和他的同事們希望 UNIX 能夠稱為一個多任務(即同時運行多個程序)、多用戶系統。在那個年代,計算機還沒有獨立的鍵盤,而且由于其昂貴的價格,無法每人都擁有一臺計算機。
Thompson 決定使用一種便宜的電傳打字機:Teletype。直到如今,Linux 和 UNIX 系統中的文本輸入輸出環境仍然簡寫為 tty(TeleTYpe)。Teletype 相當原始,除了電源外,一切都是機械的。
下面這樣設想一下,如果好多個用戶都各自有一臺自己的 Teletype,而“機房”(當時叫“玻璃屋”,因為當時很多公司通過玻璃墻來展示昂貴的大型計算機)中有一臺昂貴的大型計算機 PDP-11,這臺計算機上運行著可以多用戶登錄的 UNIX,這樣,每個用戶都可以通過使用便宜(相對于大型計算機)的 Teletype 來訪問大型計算機,相當于每個用戶都通過便宜的價格擁有了一臺計算機。是的,當時 Thompson 也是這樣想的,并且最終實現。這種想法至今都有大量的應用,比如服務器和終端的關系等。
大型計算機 PDP-11 被叫做主機,而用戶的 Teletype 也被叫做終端(原指電線的末端)。因為主機和終端是分開的,所以不管是更換主機,還是用戶更換終端都是互相獨立的,主機和終端可以隨著科技浪潮一直發展下去。粗略的說:計算機=主機+終端;終端=輸入設備+輸出設備。在這個例子中,計算機=PDP-11+電傳打字機;而 Teletype=輸入設備(鍵盤)+輸出設備(紙)。
下來考慮這樣一種情況,如果有多臺主機放在機房里,同時有多臺終端使用這些主機,那么怎么連接他們呢?這就要用到終端服務器了。終端服務器連接主機和終端,只用用戶輸入需要訪問的主機,終端服務器就會建立他們之間的連接。如下圖。
以上,就是 Linux 中主機、控制臺和終端的由來。