tty,串列埠,控制檯與驅動程式
tty 裝置的名稱是從過去的電傳打字機縮寫而來,最初是指連結到 Unix 系統上的物理或者虛擬終端。隨著時間的推移,當通過序列口能夠建立起終端連線後,這個名字也用來指任何的串列埠裝置。物理 tty 裝置的例子有串列埠、USB 到串列埠的轉換器,還有需要特殊處理才能正常工作的調變解調器(比如傳統的 WinModem 類裝置)等。tty 虛擬裝置支援虛擬控制檯,它能通過鍵盤及網路連線或者通過 xterm 會話等登入到 Linux 系統。
Linux 系統有三種型別的 tty 驅動程式:控制檯、串列埠和 pty。控制檯和 pty 驅動程式已經被編寫好,而且可能也不必為這兩類 tty 驅動程式編寫其他的驅動程式。這使得任何使用 tty 核心與使用者和系統互動的新驅動程式都可被看成是串列埠驅動程式。
為了確定目前裝載到核心中的是何種型別的 tty 驅動程式,並確定目前使用的是何種 tty 裝置,可以查閱 /proc/tty/drivers 檔案。該檔案列舉了當前使用的不同的 tty 驅動程式,顯示了驅動程式的名稱、預設的節點名稱、驅動程式的主裝置號、驅動程式所使用的次裝置號範圍以及 tty 驅動程式的型別。如下圖所示:
如果 tty 驅動程式執行了所包含的功能,則 /proc/tty/driver/ 目錄下包含了若干獨立文為 tty 驅動程式所使用,預設的串列埠驅動程式會在該目錄下建立一個檔案,顯示許多關於序列硬體的特殊資訊。
當前註冊並存在於核心的 tty 裝置在 /sys/class/tty 下都存在自己的子目錄,在系統的 /dev 目錄下存在對應的裝置檔案與之對應,通過裝置檔案可以看到分配給該 tty 裝置的主裝置號和次裝置號。如果驅動程式告訴核心物理裝置的路徑以及分配給該 tty 裝置的驅動程式,它將建立一個指向它們的符號連結。使用 tree 命令可以檢視該目錄樹,如下圖所示:
以上就是 Linux 中 tty 裝置與串列埠、控制檯的簡單區別以及 tty 驅動描述了。由於歷史發展原因,幾個概念在 Linux 中多次被提及,但是區別還是很模糊,因此查閱資料並實驗總結了下。
如果有想法或者疑問可以給我郵件或者評論,覺得有用就點贊吧~:-D
相關文章
- 【驅動】串列埠驅動分析(二)-tty core串列埠
- Linux tty驅動程式 架構Linux架構
- 沒有真實串列埠裝置時使用"虛擬串列埠驅動"除錯你的串列埠程式碼串列埠除錯
- 將LINUX的控制檯定向到串列埠終端(轉)Linux串列埠
- Linux基礎之終端、控制檯、tty、pty等概念簡介Linux
- Linux 串列埠程式設計 使用termios與API進行串列埠程式開發Linux串列埠程式設計iOSAPI
- Linux下PCI轉串列埠卡驅動安裝方法Linux串列埠
- ubuntu安裝USB轉串列埠驅動(PL2303)Ubuntu串列埠
- linux下安裝PCIE轉串列埠卡驅動簡介Linux串列埠
- Linux 串列埠程式設計 串列埠裝置程式開發Linux串列埠程式設計
- android串列埠程式Android串列埠
- java 實現微控制器與PC串列埠通訊Java串列埠
- 動態獲取tomcat啟動埠,控制檯列印專案訪問地址Tomcat
- VC控制元件MSComm編寫串列埠通訊程式控制元件串列埠
- Linux 驅動像微控制器一樣讀取一幀dmx512串列埠資料Linux串列埠
- 微控制器學習(七)串列埠串列埠
- 【C#之控制檯與窗體應用程式】C#
- mscomm串列埠控制元件初始化串列埠控制元件
- 基於Linux的tty架構及UART驅動詳解Linux架構
- 串列埠通訊系列六-串列埠與上位機通訊呼叫Flash及Flash視訊切換(非互動)串列埠
- Linux串列埠程式設計Linux串列埠程式設計
- POSIX 串列埠程式設計指南串列埠程式設計
- Linux 串列埠程式設計Linux串列埠程式設計
- 【.NET】控制檯應用程式的各種互動玩法
- 有趣的控制檯玩法:一行程式碼繪製控制檯影像!行程
- 不一樣的控制檯程式—–在控制檯中輸出圖片薦
- MSComm串列埠控制元件使用詳解(轉)串列埠控制元件
- 基於Atmega8微控制器的串列埠收發程式串列埠
- 51微控制器串列埠交通燈protues模擬交通燈串列埠控制系統交通燈管制東西南北管制串列埠
- PsySH——PHP互動式控制檯PHP
- Android之串列埠程式設計Android串列埠程式設計
- 串列埠UART串列埠
- Google開發新的Aspeed控制驅動程式Go
- java-執行 java 控制檯程式Java
- 控制檯程式實現Timer
- 控制檯程式的事件處理 (轉)事件
- 帶內串列埠 在串列埠中輸入命令串列埠
- zookeeper控制檯