新聞中心
Linux TTY核心簡(jiǎn)述

Linux TTY核心是在Linux內(nèi)核中提供的一種硬件抽象層,用于處理字符設(shè)備。TTY是“teletype”的縮寫,最初是指電傳打字機(jī),現(xiàn)在它已經(jīng)泛指所有基于字符設(shè)備的終端。在Linux中,TTY包含控制臺(tái)、串口、虛擬控制臺(tái)、偽終端等。
控制臺(tái)
在Linux中,控制臺(tái)是指一個(gè)物理終端或虛擬終端,用戶可以通過(guò)控制臺(tái)和系統(tǒng)進(jìn)行交互。在系統(tǒng)啟動(dòng)時(shí),Linux會(huì)為每個(gè)控制臺(tái)都分配一個(gè)TTY設(shè)備,例如/dev/tty1、/dev/tty2等。用戶可以通過(guò)按下Ctrl+Alt+F1~F6來(lái)進(jìn)入不同的控制臺(tái)終端,用于登錄、管理系統(tǒng)和運(yùn)行命令。
串口
串口是一種傳統(tǒng)的計(jì)算機(jī)通信接口,用于將數(shù)據(jù)逐位傳輸?shù)狡渌O(shè)備。在Linux中,串口TTY是通過(guò)串口轉(zhuǎn)換成字符設(shè)備的方式實(shí)現(xiàn)的??梢允褂胻tyS0、ttyS1等設(shè)備文件訪問(wèn)串口設(shè)備。通常,串口TTY用于一些需要長(zhǎng)距離通信的場(chǎng)合,例如遠(yuǎn)程控制和數(shù)據(jù)采集。
虛擬終端
虛擬終端是一種模擬的終端,用于在一個(gè)屏幕上為用戶提供多個(gè)虛擬終端。在Linux中,虛擬終端TTY是由虛擬終端交互程序(VTP)來(lái)實(shí)現(xiàn)的,VTP將用戶輸入和終端輸出映射到虛擬終端中。通常,Linux系統(tǒng)會(huì)默認(rèn)啟用6個(gè)虛擬終端,用戶可以使用Ctrl+Alt+F1~F6快捷鍵來(lái)切換虛擬終端。
偽終端
偽終端是一種虛擬的終端,用于實(shí)現(xiàn)進(jìn)程間通信。在Linux中,偽終端由主設(shè)備和從設(shè)備組成,主設(shè)備作為輸入設(shè)備接收終端輸入,從設(shè)備作為輸出設(shè)備顯示終端輸出。偽終端通常用于SSH會(huì)話、Telnet會(huì)話和虛擬終端之間的交互。
Linux TTY核心是在Linux內(nèi)核中提供的一種硬件抽象層,用于處理字符設(shè)備。控制臺(tái)、串口、虛擬終端、偽終端等都是基于TTY設(shè)備實(shí)現(xiàn)的。通過(guò)了解和掌握Linux TTY核心,可以更好地理解Linux系統(tǒng)運(yùn)行原理,提高Linux系統(tǒng)的管理和維護(hù)能力。
相關(guān)問(wèn)題拓展閱讀:
- 在UNIX或Linux中TTY是什么意思
在UNIX或Linux中TTY是什么意思
TTY設(shè)備包括虛擬控制臺(tái),串口以及偽終端設(shè)備。
TTY是TeleTYpe的一個(gè)老縮寫。Teletypes,或者teletypewriters,原來(lái)指的是電傳打字機(jī),是通過(guò)串行線用打印機(jī)鍵盤通過(guò)閱讀和發(fā)送信息的東西,和古老的電報(bào)機(jī)區(qū)別并不是很大。之后,當(dāng)計(jì)算機(jī)只能以批處理方式運(yùn)行時(shí)(當(dāng)時(shí)穿孔卡片閱讀器是唯一一種使程序載入運(yùn)行的方式),電傳打字機(jī)成為唯一能夠被使用的“實(shí)時(shí)”輸入/輸出設(shè)備。最終,電傳打字機(jī)被鍵盤和顯示器終端所取代,但在終端或TTY接插的地方,操作系統(tǒng)仍然需要一個(gè)程序來(lái)監(jiān)視串行端口。一個(gè)getty“Get TTY”的處理過(guò)程是:一個(gè)程序監(jiān)視物理的TTY/終端接口。
在Linux中,TTY也許是跟終端有關(guān)系的最為混亂的術(shù)語(yǔ)。TTY是TeleTYpe的一個(gè)老縮寫。Teletypes,或者teletypewriters,原來(lái)指的是電傳打字機(jī),是通過(guò)串行線用打印機(jī)鍵盤通過(guò)閱讀和發(fā)送信息的東西,和古老的電報(bào)機(jī)區(qū)別并不是很大。之后,當(dāng)計(jì)算機(jī)只能以批處理方式運(yùn)行時(shí)(當(dāng)時(shí)穿孔卡片閱讀器是唯一一種使程序載入運(yùn)行的方式),電傳打字機(jī)成為唯一能夠被使用的“實(shí)時(shí)”輸入/輸出設(shè)備。最終,電傳打字機(jī)被鍵盤和顯示器終端所取代,但在終端或TTY接插的地方,操作系統(tǒng)仍然需要一個(gè)程序來(lái)監(jiān)視串行端口。一個(gè)getty“Get TTY”的處理過(guò)程是:一個(gè)程序監(jiān)視物理的TTY/終端接口。對(duì)一個(gè)虛擬網(wǎng)絡(luò)服務(wù)器(VNC)來(lái)說(shuō),一個(gè)偽裝的TTY(Pseudo-TTY,即假冒的TTY,也叫做“PTY”)是等價(jià)的終端。當(dāng)你運(yùn)行一個(gè)xterm(終端仿真程序)或GNOME終端程序時(shí),PTY對(duì)虛擬的用戶或者如xterm一樣的偽終端來(lái)說(shuō),就像是一個(gè)TTY在運(yùn)行。“Pseudo”的意思是“duplicating in a fake way”(用偽造的方法復(fù)制),它相比“virtual”或“emulated”更能真實(shí)的說(shuō)明問(wèn)題。而在的計(jì)算中,它卻處于被放棄的階段。
tty也是一個(gè)Unix命令,用來(lái)給出當(dāng)前終端設(shè)備的名稱。
終端是一種字符型設(shè)備,它有多種類型,通常使用tty來(lái)簡(jiǎn)稱各種類型的終端設(shè)備。
在Linux系統(tǒng)的設(shè)備特殊文件目錄/dev/下,終端特殊設(shè)備文件一般有以下幾種:
串行端口
串行端口終端(Serial Port Terminal)是使用計(jì)算機(jī)串行端口連接的終端設(shè)備。計(jì)算機(jī)把每個(gè)串行端口都看作是一個(gè)字符設(shè)備。有段時(shí)間這些串行端口設(shè)備通常被稱為終端設(shè)備,因?yàn)槟菚r(shí)它的更大用途就是用來(lái)連接終端。這些串行端口所對(duì)應(yīng)的設(shè)備名稱是/dev/tts/0(或/dev/ttyS0),/dev/tts/1(或/dev/ttyS1)等,設(shè)備號(hào)分別是(4,0),(4,1)等,分別對(duì)應(yīng)于DOS系統(tǒng)下的COM1、COM2等。若要向一個(gè)端口發(fā)送數(shù)據(jù),可以在命令行上把標(biāo)準(zhǔn)輸出重定向到這些特殊文件名上即可。例如,在命令行提示符下鍵入:echo test > /dev/ttyS1會(huì)把單詞”test”發(fā)送到連接在ttyS1(COM2)端口的設(shè)備上。
偽終端
偽終端(Pseudo Terminal)是成對(duì)的邏輯終端設(shè)備(即master和slave設(shè)備,對(duì)master的操作會(huì)反映到slave上)。
例如/dev/ptyp3和/dev/ttyp3(或者在設(shè)備文件系統(tǒng)中分別是/dev/pty /m3和 /dev/pty/s3)。它們與實(shí)際物理設(shè)備并不直接相關(guān)。如果一個(gè)程序把ptyp3(master設(shè)備)看作是一個(gè)串行端口設(shè)備,則它對(duì)該端口的讀/ 寫操作會(huì)反映在該邏輯終端設(shè)備念凱對(duì)應(yīng)的另一個(gè)ttyp3(slave設(shè)備)上面。而ttyp3則是另一個(gè)程序用于讀寫操作的邏輯設(shè)備。telnet主機(jī)A就是通過(guò)“偽終端”與主機(jī)A的登錄程序進(jìn)行通信。
控制終端
如果當(dāng)前進(jìn)程有控制終端(Controlling Terminal)的話,那么/dev/tty就是當(dāng)前進(jìn)程的控制終端的設(shè)備特殊文件??梢允褂妹睢眕s –ax”來(lái)查看進(jìn)程與哪個(gè)控制終端相連。對(duì)于你登錄的shell,/dev/tty就是你使用的終端,設(shè)備號(hào)是(5,0)。使用命令”tty”可以查看它具體對(duì)應(yīng)哪個(gè)實(shí)際終端設(shè)備。/dev/tty有些類似于到仔數(shù)喚實(shí)際所使用終端設(shè)備的一個(gè)聯(lián)畢歲接。
控制臺(tái)
在Linux 系統(tǒng)中,計(jì)算機(jī)顯示器通常被稱為控制臺(tái)終端(Console)。它仿真了類型為L(zhǎng)inux的一種終端(TERM=Linux),并且有一些設(shè)備特殊文件與之相關(guān)聯(lián):tty0、tty1、tty2 等。當(dāng)你在控制臺(tái)上登錄時(shí),使用的是tty1。使用Alt+組合鍵時(shí),我們就可以切換到tty2、tty3等上面去。tty1–tty6等稱為虛擬終端,而tty0則是當(dāng)前所使用虛擬終端的一個(gè)別名,系統(tǒng)所產(chǎn)生的信息會(huì)發(fā)送到該終端上(這時(shí)也叫控制臺(tái)終端)。因此不管當(dāng)前正在使用哪個(gè)虛擬終端,系統(tǒng)信息都會(huì)發(fā)送到控制臺(tái)終端上。/dev/console即控制臺(tái),是與操作系統(tǒng)交互的設(shè)備,系統(tǒng)將一些信息直接輸出到控制臺(tái)上。只有在單用戶模式下,才允許用戶登錄控制臺(tái)。
虛擬終端
在Xwindow模式下的偽終端.如在Kubuntu下用konsole,就是用的虛擬終端,用tty命令可看到/dev/pts/name, name為當(dāng)前用戶名。
其它類型
Linux系統(tǒng)中還針對(duì)很多不同的字符設(shè)備存在有很多其它種類的終端設(shè)備特殊文件。例如針對(duì)ISDN設(shè)備的/dev/ttyIn終端設(shè)備等。
tty設(shè)備包括虛擬控制臺(tái),串口以及偽終端設(shè)備。
/dev/tty代表當(dāng)前tty設(shè)備,在當(dāng)前的終端中輸入 echo “hello” > /dev/tty ,都會(huì)直接顯示在當(dāng)前的終端中。
Text Telephones (TTY)
聾啞人,在手機(jī)插入專用設(shè)備后支持收發(fā)文本,需網(wǎng)絡(luò)支持,中國(guó)網(wǎng)絡(luò)不支持TTY.
除聾啞模式外,還支持只聽不說(shuō)(HCO)和只說(shuō)不聽(VCO)兩種模式。
關(guān)于linux tty core的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)頁(yè)題目:Linuxtty核心簡(jiǎn)述(linuxttycore)
URL地址:http://fisionsoft.com.cn/article/ccoscip.html


咨詢
建站咨詢
