Linux tty驅動程式 架構
tty 核心概覽如下圖所示:
可以看到,tty 架構的劃分層次,由下至上的邏輯關係為:硬體 -> tty 驅動 -> tty 線路規程(也譯為行規程)-> tty 核心 -> 使用者層。
核心負責控制 tty 裝置的資料流,並且格式化這些資料。這使得 tty 驅動程式把重點放在硬體資料處理上,而不必重點考慮使用常規方法與使用者空間互動。為了控制資料流,有許多不同的線路規程(line discipline)可虛擬地“插入”任何的 tty 裝置上,這由不同的 tty 線路規程驅動程式實現。
資料傳送流程:tty core 從使用者得到要下發到 tty 裝置的資料,然後把資料傳送給 tty 線路規程驅動程式,該驅動程式負責把資料傳遞給 tty 驅動程式。tty 驅動程式對資料進行格式化然後傳送硬體。所謂格式化,就是在驅動中轉換成硬體支援的協議和格式。
資料接收流程:從 tty 硬體那裡接收的資料將回溯至 tty 驅動程式,然後流入 tty 線路規程驅動程式,接著是 tty 核心,最後使用者從 tty 核心那裡得到資料。
有時 tty 線路規程驅動程式不是必須的,但是一般情況下是存在的。tty 線路規程對於 tty 驅動程式是不透明的,也即相互之間不能直接通訊,tty 驅動程式的作用是將傳送給它的資料格式化成硬體能理解的格式,並從硬體接收資料。tty 線路規程的作用是使用特殊的方法,把從使用者或硬體那裡接收的資料格式化。這種格式化通常使用一些協議來轉換,如 PPP 或者 BlueTooth。
相關文章
- 基於Linux的tty架構及UART驅動詳解Linux架構
- tty,串列埠,控制檯與驅動程式串列埠
- 【驅動】串列埠驅動分析(二)-tty core串列埠
- 事件驅動架構設計事件架構
- 【譯】理解Node事件驅動架構事件架構
- 架構之路(4):測試驅動架構
- 事件驅動架構EDA中的元件事件架構元件
- 混合雲中的事件驅動架構事件架構
- 微服務事件驅動架構演進微服務事件架構
- Asyncdb(五):MySQL驅動架構設計MySql架構
- 總結下 ui 自動化驅動架構UI架構
- Linux驅動程式碼顯示:新一代 Navi將繼續沿用 GCN架構LinuxGC架構
- Linux字元驅動程式的基本結構與函式Linux字元函式
- 領域驅動設計整合與架構架構
- linux 中的tty意思Linux
- 以 RAIDs 分析作為架構驅動力AI架構
- 企業事件驅動架構指南 - wiprodigital事件架構Git
- 事件驅動架構正在起飛 – Boyney.io事件架構
- EDA 事件驅動架構與 EventBridge 二三事事件架構
- linux驅動程式設計(轉)Linux程式設計
- Linux裝置驅動程式 (轉)Linux
- 事件驅動架構 vs. RESTful架構:通訊模式對比與選擇事件架構REST模式
- Linux的作業系統I2C驅動架構解說(轉)Linux作業系統架構
- Vmware下切換linux ttyLinux
- linux驅動之LED驅動Linux
- 《實現領域驅動設計》筆記——架構筆記架構
- 阿里雲 EventBridge 事件驅動架構實踐阿里事件架構
- 戲說領域驅動設計(十三)——核心架構架構
- 戲說領域驅動設計(九)——架構模式架構模式
- Linux裝置驅動程式學習----1.裝置驅動程式簡介Linux
- ubuntu 啟動錯誤stdin:is not ttyUbuntu
- Linux中的tty與pts(轉)Linux
- Linux驅動實踐:如何編寫【 GPIO 】裝置的驅動程式?Linux
- [譯] 理解 NodeJS 中基於事件驅動的架構NodeJS事件架構
- 探索雲原生時代:技術驅動的業務架構革新架構
- 精簡化事件:事件驅動架構的精益力量事件架構
- 手動安裝Linux網路卡驅動程式薦Linux
- Java開發架構篇:領域驅動設計架構基於SpringCloud搭建微服務Java架構SpringGCCloud微服務