你知道 Linux 中的主機、控制檯和終端的起源麼?
如果你見過一些桌上型電腦,那麼它們大多是下圖這樣的。鍵盤、顯示器、機箱可以分開。哪怕機箱和使用者不在一個房間,只要線路連通,還是可以使用電腦的。在早期,機箱和鍵盤、顯示器確實是分開的。
圖 1 一種桌上型電腦
在 UNIX 誕生之初,計算機的價格非常昂貴。當時還沒有個人計算機,大多數計算機都是大型、昂貴、不穩定的機器,必須存放在溼度和溫度可控的環境中。貝爾實驗室的 Thompson 開始尋找小並且便宜的計算機。那時大多數計算機需要 100,000 美元,1970 年他和同事們得到了一臺 PDP-11,當時需要 10,800 美元。在數個月之內,他們將 UNIX 移植到了這臺計算機內。但是 PDP-11 一次只能執行一個程式,於是他們修改了 UNIX 系統,使它能夠一次執行多個程式,直到 1973 年這一目標才得以實現。
從上圖中可以看出,PDP-11 機身上有很多按鈕,這個操作皮膚被稱為控制檯。控制檯與主機緊密結合並且無法遠端操作,很多操作需要透過控制檯完成(比如啟動過程中遇到的問題),因為只用當主機啟動並且網路連線正常後才能連線終端。由於大型計算機的價格十分昂貴,Thompson 和他的同事們希望 UNIX 能夠稱為一個多工(即同時執行多個程式)、多使用者系統。在那個年代,計算機還沒有獨立的鍵盤,而且由於其昂貴的價格,無法每人都擁有一臺計算機。
Thompson 決定使用一種便宜的電傳打字機:Teletype。
相當原始,除了電源外,一切都是機械的。
下面這樣設想一下,如果好多個使用者都各自有一臺自己的 Teletype,而“機房”(當時叫“玻璃屋”,因為當時很多公司透過玻璃牆來展示昂貴的大型計算機)中有一臺昂貴的大型計算機 PDP-11,這臺計算機上執行著可以多使用者登入的 UNIX,這樣,每個使用者都可以透過使用便宜(相對於大型計算機)的 Teletype 來訪問大型計算機,相當於每個使用者都透過便宜的價格擁有了一臺計算機。是的,當時 Thompson 也是這樣想的,並且最終實現。
大型計算機 PDP-11 被叫做主機,而使用者的 Teletype 也被叫做終端(原指電線的末端)。因為主機和終端是分開的,所以不管是更換主機,還是使用者更換終端都是互相獨立的,主機和終端可以隨著科技浪潮一直髮展下去。粗略的說:計算機=主機+終端;終端=輸入裝置+輸出裝置。在這個例子中,計算機=PDP-11+電傳打字機;而 Teletype=輸入裝置(鍵盤)+輸出裝置(紙)。
下來考慮這樣一種情況,如果有多臺主機放在機房裡,同時有多臺終端使用這些主機,那麼怎麼連線他們呢?這就要用到終端伺服器了。終端伺服器連線主機和終端,只用使用者輸入需要訪問的主機,終端伺服器就會建立他們之間的連線。如下圖。
圖 5 終端伺服器
以上,就是 Linux 中主機、控制檯和終端的由來。
題圖:Ken Thompson(坐)、Dennis Ritchie(站) 與 PDP-11 和 Teletype 33-ASR,出處不可考。
相關文章
- 如何在 Linux 終端中知道你的公有 IPLinux
- 你所不知道的 Chrome 控制檯除錯技巧Chrome除錯
- 你有什麼喜歡的 Linux 終端技巧?Linux
- 寫了這麼多 JavaScript,你知道它的起源嘛JavaScript
- 在 Chrome 控制檯可以玩的兩個騷操作,你知道嗎?Chrome
- 修改Kali Linux終端主題Linux
- 如何在linux中傳送訊息給別的控制檯Linux
- Linux系統上最快的3個GPU加速終端模擬器你知道嗎?LinuxGPU
- Linux中主機名的作用是什麼?如何配置主機名?Linux
- Linux終端的概念Linux
- Linux終端是什麼?終端有什麼作用?Linux
- Mac 終端使用連線 本地虛擬機器中的 LinuxMac虛擬機Linux
- 如何在 Linux 上錄製你的終端操作Linux
- 如何為你的 Linux 終端帶來好運Linux
- 11個讓你吃驚的Linux終端命令Linux
- 如何更改 Linux 終端顏色主題Linux
- 如何讓“啞”終端進化,你知道嗎?
- KubeVela v1.2 釋出:你要的圖形化操作控制檯 VelaUX 終於來了!UX
- Linux獲取10個你最常用的終端命令列表Linux命令列
- 序列控制檯如何在 Linux 上工作?Linux
- 《最終幻想起源 :天堂的陌生人》最新實機
- Linux 終端控制元件:實時時刻表Linux控制元件
- CPU 電源管理器:Linux 系統中 CPU 主頻的控制和管理Linux
- frp p2p rdp 計算機無法連線到遠端計算機上的另一個控制檯會話原因是你正在執行一個控制檯會話FRP計算機會話
- [譯] Google Play 控制檯指南:Google Play 控制檯能為你做的都不僅僅是釋出應用這麼簡單而已Go
- Linux下的OpenSSH,你知道多少?Linux
- Windows terminal中WSL Linux 終端的極簡美化指南WindowsLinux
- Avalonia 中的樣式和控制元件主題控制元件
- Linux終端怎麼檢視影像Linux
- js的控制檯輸出,平時除了用console.log外,你還知道哪些?使用console.log應該注意什麼?JS
- 關於Linux中“!”你不知道的驚歎用法Linux
- 在 Linux 終端中閱讀 RedditLinux
- 你知道雲主機建站都有哪些優勢?
- 你知道什麼是後端套模板嗎?他們是怎麼操作的知道嗎?後端
- MySQL 主從同步架構中你不知道的“坑”(上)MySql主從同步架構
- Dubbo管理控制檯的安裝
- idrac虛擬控制檯的使用
- Python獲取網路中的存活主機以及哪些主機是LinuxPythonLinux