Linux

虛擬控制台是否作為程序執行並基於偽終端實現?

  • January 30, 2020

Linux有7個虛擬控制台,分別對應7個設備文件/dev/tty[n]

虛擬控制台是否像終端模擬器一樣作為程序執行?(我不確定。似乎虛擬控制台是核心的一部分,如果這是正確的,它就不可能是一個程序。)

虛擬控制台是否是基於偽終端實現的,就像終端模擬器一樣?(我猜不是。否則,虛擬控制台的設備文件將是/dev/pts/[n],而不是/dev/tty[n]

謝謝。

這是不正確的。

Linux核心中內置了一個終端仿真器程序。它不會表現為具有打開文件句柄的正在執行的程序。它也不需要偽終端設備。它位於幀緩衝區和輸入事件子系統之上,它使用內部核心介面進行訪問。它以一系列 63 個(不是 7 個)核心虛擬終端設備的形式呈現給應用程序模式系統,/dev/tty1/dev/tty63.

使用者空間虛擬終端使用偽終端設備實現。偽終端設備、核心虛擬終端設備和層疊在串口之上的真實終端設備是Linux中的三種終端設備(就應用程序而言)。

由於缺乏協調,Linux 文件現在在這個主題上相當糟糕。多年來,在幾個 Linux 作業系統上都沒有核心虛擬終端設備的手冊頁,儘管還有其他兩種終端設備的頁面。本手冊頁將解釋正確的編號或設備及其設備文件名,並用於閱讀:

一個 Linux 系統最多有 63 個虛擬控制台(主編號為 4 和次編號為 1 到 63 的字元設備),通常以 1 <= n <= 63 呼叫。目前控制台也由主編號的字元設備or定址4 和次要編號 0。/dev/tty*n*``/dev/console``/dev/tty0

Debian 的人注意到 Debianconsole在 2014 年缺少 (4) 手冊頁,並轉而從 Linux Manpages 項目安裝一個手冊頁,只是為了讓同一項目中的人在console一年後刪除他們的 (4) 手冊頁2016 年,因為“Debian 及其衍生產品不安裝此頁面”和“Debian 不再攜帶它”。

進一步閱讀

引用自:https://unix.stackexchange.com/questions/484556