一、TTY的起源
TTY較早出現(xiàn)在電傳打字機(Teletypewriter)上,它是一種可以通過電信網(wǎng)絡(luò)進(jìn)行通信的打字機。20世紀(jì)50年代和60年代,計算機的交互方式主要是通過終端設(shè)備進(jìn)行,而當(dāng)時常用的終端設(shè)備就是電傳打字機。在那個時代,計算機運行的程序通常會產(chǎn)生一系列文本輸出,這些輸出需要通過終端設(shè)備將結(jié)果展示給用戶,而用戶也可以通過鍵盤輸入命令和數(shù)據(jù)給計算機。
隨著計算機的發(fā)展,出現(xiàn)了更多種類的終端設(shè)備,例如打印機和顯示器。為了使不同類型的終端設(shè)備都能與計算機進(jìn)行通信,TTY 接口應(yīng)運而生。TTY定義了一組標(biāo)準(zhǔn)化的通信規(guī)則和命令,使得計算機能夠理解和處理不同終端設(shè)備的輸入輸出。
二、TTY的原理
TTY的原理是通過輸入和輸出流來實現(xiàn)與終端設(shè)備的通信。在計算機操作系統(tǒng)中,每個終端設(shè)備都對應(yīng)一個TTY設(shè)備文件,通常位于”/dev/tty”目錄下。當(dāng)用戶在終端設(shè)備上輸入命令時,TTY設(shè)備會將輸入的數(shù)據(jù)傳輸給計算機的輸入流;而當(dāng)計算機有輸出數(shù)據(jù)時,TTY設(shè)備會從輸出流讀取數(shù)據(jù)并將其顯示在終端設(shè)備上。
TTY接口的工作方式是基于字符流的,它不處理二進(jìn)制數(shù)據(jù),而是以字符為單位進(jìn)行傳輸。當(dāng)用戶在終端上輸入字符時,TTY設(shè)備會將字符逐個發(fā)送給計算機的輸入流。計算機收到字符后,可以對其進(jìn)行處理,例如執(zhí)行相應(yīng)的命令或?qū)⒆址麑懭胛募?。同樣地,?dāng)計算機有輸出數(shù)據(jù)時,TTY設(shè)備會從輸出流讀取字符,并逐個顯示在終端設(shè)備上,讓用戶能夠看到計算機的響應(yīng)結(jié)果。
TTY接口還支持特殊的控制字符和命令,用于處理終端設(shè)備的狀態(tài)和行為。例如,Ctrl+C 可以用于中斷當(dāng)前正在執(zhí)行的程序,Ctrl+D可以表示輸入的結(jié)束。
三、TTY在現(xiàn)代計算機中的應(yīng)用
雖然,現(xiàn)代計算機不再使用物理的電傳打字機和終端設(shè)備,但TTY接口仍然存在于操作系統(tǒng)中,并且在某些場景下仍然發(fā)揮著重要作用。
虛擬終端:現(xiàn)代操作系統(tǒng)支持虛擬終端功能,允許用戶在同一臺計算機上同時打開多個虛擬終端。每個虛擬終端都對應(yīng)著一個TTY 設(shè)備,用戶可以通過切換虛擬終端來在不同的命令行界面之間進(jìn)行操作。這在服務(wù)器管理和系統(tǒng)調(diào)試中非常有用。終端仿真器:終端仿真器是模擬物理終端設(shè)備的軟件,它們允許計算機通過網(wǎng)絡(luò)連接與遠(yuǎn)程設(shè)備進(jìn)行通信。終端仿真器通常使用TTY 接口與遠(yuǎn)程設(shè)備進(jìn)行交互,使得計算機和遠(yuǎn)程設(shè)備能夠進(jìn)行命令行交互。控制臺輸出:在操作系統(tǒng)啟動階段,計算機通常會將啟動信息和錯誤信息輸出到控制臺,這些輸出是通過TTY設(shè)備實現(xiàn)的??刂婆_輸出對于系統(tǒng)的啟動和故障排查至關(guān)重要。進(jìn)程通信:在Unix/Linux 系統(tǒng)中,TTY接口也用于進(jìn)程之間的通信。例如,通過管道(pipe)和終端設(shè)備相連,一個進(jìn)程的輸出可以作為另一個進(jìn)程的輸入,從而實現(xiàn)進(jìn)程間的數(shù)據(jù)傳遞。綜上所述,TTY作為計算機與終端設(shè)備之間的標(biāo)準(zhǔn)化通信接口,在計算機科學(xué)和信息技術(shù)領(lǐng)域發(fā)揮著重要的作用。雖然,如今的計算機已經(jīng)邁入了全新的時代,但值得銘記和珍視的是,TTY為計算機技術(shù)的進(jìn)步和發(fā)展做出了重要貢獻(xiàn),它是計算機歷史中不可忽視的一部分。
延伸閱讀:終端仿真是什么
終端仿真是一種模擬物理終端設(shè)備的軟件,它允許計算機通過網(wǎng)絡(luò)連接與遠(yuǎn)程設(shè)備進(jìn)行通信。終端仿真器使用網(wǎng)絡(luò)協(xié)議來傳輸數(shù)據(jù),并在本地設(shè)備上模擬終端設(shè)備的輸入和輸出。用戶可以通過終端仿真器實現(xiàn)遠(yuǎn)程命令行交互,就像直接在計算機本地進(jìn)行操作一樣。
終端仿真器的原理是通過TTY 接口與遠(yuǎn)程設(shè)備進(jìn)行通信。在計算機操作系統(tǒng)中,終端仿真器通常會創(chuàng)建一個虛擬TTY設(shè)備,然后將用戶輸入的命令傳輸給遠(yuǎn)程設(shè)備,接收遠(yuǎn)程設(shè)備的輸出并顯示在本地終端上。這樣,用戶就可以像使用本地終端一樣使用遠(yuǎn)程設(shè)備。