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