W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
一個(gè) tty 設(shè)備得名于電傳打字機(jī)的很老的簡(jiǎn)稱, 并且起初只和連接到一臺(tái) UNIX 機(jī)器的物理或者虛擬終端有關(guān)聯(lián). 長(zhǎng)時(shí)間以來(lái), 這個(gè)名子還逐漸表示任何串口類型的設(shè)備, 因?yàn)榻K端連接也能夠在這樣的一個(gè)連接上建立. 一些物理 tty 設(shè)備的例子是串口, USB-串口 轉(zhuǎn)換器, 以及某些類型的需要特殊處理來(lái)正確工作的調(diào)制解調(diào)器(例如傳統(tǒng)的 Win-Modem 類型設(shè)備). tty 虛擬設(shè)備支持虛擬控制臺(tái)以用來(lái)登錄到一臺(tái)計(jì)算機(jī), 或者從鍵盤(pán), 或者從網(wǎng)絡(luò)連接, 或者通過(guò)一個(gè) xterm 會(huì)話.
Linux tty 驅(qū)動(dòng)的核心正好位于標(biāo)準(zhǔn)字符驅(qū)動(dòng)級(jí)別之下, 并且提供了一些特性集中在為使用終端類型設(shè)備提供一個(gè)接口. 這個(gè)核心負(fù)責(zé)控制跨越一個(gè) tty 設(shè)備的數(shù)據(jù)流和數(shù)據(jù)格式. 這允許 tty 驅(qū)動(dòng)以一種一致的方式集中于處理到硬件和出自硬件的數(shù)據(jù), 而不必?fù)?dān)心如何控制對(duì)用戶空間的接口. 為控制數(shù)據(jù)流, 有幾個(gè)不同的線路規(guī)程可以虛擬地"插入"任何一個(gè) tty 設(shè)備. 這由不同的 tty 線路規(guī)程驅(qū)動(dòng)來(lái)完成.
如同圖tty 核心概覽所示, tty 核心從一個(gè)用戶獲取將要發(fā)送給一個(gè) tty 設(shè)備的數(shù)據(jù). 它接著傳遞它到一個(gè) tty 線路規(guī)程驅(qū)動(dòng), 接著傳遞它到一個(gè) tty 驅(qū)動(dòng). 這個(gè) tty 驅(qū)動(dòng)轉(zhuǎn)換數(shù)據(jù)為可以發(fā)送給硬件的格式. 從 tty 硬件收到的數(shù)據(jù)向上回流通過(guò) tty 驅(qū)動(dòng), 進(jìn)入 tty 線路規(guī)程驅(qū)動(dòng), 再進(jìn)入 tty 核心, 在這里它被一個(gè)用戶獲取. 有時(shí) tty 驅(qū)動(dòng)直接和 tty 核心通訊, 并且 tty 核心直接發(fā)送數(shù)據(jù)到 tty 驅(qū)動(dòng), 但是常常 tty 線路規(guī)程有機(jī)會(huì)修改在 2 者之間發(fā)送的數(shù)據(jù).
圖?18.1.?tty 核心概覽
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: