linux /dev/console裝置解析

來源:互聯網
上載者:User
tty是一類char裝置的通稱,它們有相同的特性,比如對^C的處理,驅動使用tty_register_driver註冊一個tty。

/dev/console是一個虛擬tty,它映射到真正的tty上,如何映射等會再說。

console有多種含義,這裡特指printk輸出的裝置,驅動使用register_console註冊一個console。

console和tty有很大區別:console是個只輸出的裝置,功能很簡單,只能在核心中訪問;tty是char裝置,可以被使用者程式訪問。

實際的驅動比如串口對一個物理裝置會註冊兩次,一個是tty,一個是console,並通過在console的結構中記錄tty的主次裝置號建立了聯絡。

在核心中,tty和console都可以註冊多個。當核心命令列上指定console=ttyS0之類的參數時,首先確定了printk實際使用那個console作為輸出,其次由於console和tty之間的對應關係,開啟/dev/console時,就會映射到相應的tty上。用一句話說:/dev/console將映射到預設console對應的tty上。

順便說一句,console=ttyS0和/dev/ttyS0包含相同的裝置名稱字完全是巧合,不同也沒事。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.