偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

TTY子系統(tǒng)初探,你學(xué)會了嗎?

系統(tǒng) Linux
系統(tǒng)控制臺,也就是我們Linux下面的/dev/console,是與操作系統(tǒng)交互的設(shè)備,系統(tǒng)所產(chǎn)生的信息會發(fā)送到該設(shè)備上。

一、TTY子系統(tǒng)介紹

1、TTY介紹

TTY,一詞源于Teleprinter,譯為電傳打印機(jī),在早起用來表示電腦終端的設(shè)備。

現(xiàn)在我們通常使用TTY,是各種(物理/虛擬)終端的統(tǒng)稱!

Linux系統(tǒng)的終端設(shè)備一般分為控制臺終端、偽終端、串口終端和其他類型四種。

下面我們來進(jìn)一步了解這些Linux下常用的終端,為學(xué)習(xí)Linux TTY Framework打下基礎(chǔ)!

圖片

2、控制臺終端

控制臺終端包括:系統(tǒng)控制臺、當(dāng)前控制臺、虛擬控制臺。

2.1 系統(tǒng)控制臺

系統(tǒng)控制臺,也就是我們Linux下面的/dev/console,是與操作系統(tǒng)交互的設(shè)備,系統(tǒng)所產(chǎn)生的信息會發(fā)送到該設(shè)備上。

目前只有在單用戶模式下,才允許用戶登錄控制臺/dev/console。

console有緩沖的概念,為內(nèi)核提供打印輸出。內(nèi)核把要打印的內(nèi)容裝入緩沖區(qū)__log_buff,然后由console指向某個激活的終端,來決定打印到哪里。console指向激活的終端。

比如,我們在啟動內(nèi)核的時候,傳入的參數(shù)cnotallow=ttyS1,將控制臺終端指向ttyS1串口設(shè)備。

2.2 當(dāng)前控制臺

這是應(yīng)用程序中的概念,如果當(dāng)前進(jìn)程有控制終端(Controlling Terminal),那么/dev/tty就是當(dāng)前進(jìn)程控制臺的設(shè)備文件。

對于登錄的Shell,/dev/tty就是你正在使用的控制臺,設(shè)備號(5,0),/dev/tty會映射到當(dāng)前設(shè)備(使用命令tty可以查看它具體對應(yīng)哪個實際物理控制臺設(shè)備),輸出到/dev/tty的內(nèi)容只會顯示在當(dāng)前工作終端上。

你可以輸入命令tty,顯示當(dāng)前映射的實際終端如:/dev/tty1或者/dev/pts/0等。

2.3 虛擬控制臺

/dev/ttyn是進(jìn)程虛擬控制臺,他們共享同一個真實的物理控制臺。

在PC上,用戶可以使用Ctrl + Alt + Fn切換,這種虛擬控制臺對應(yīng)tty1~n,其中:/dev/tty1代表第1個虛擬控制臺;當(dāng)使用Ctrl + ALT+F2進(jìn)行切換時,系統(tǒng)的虛擬控制臺為/dev/tty2 ,當(dāng)前控制臺(/dev/tty)則指向/dev/tty2

而比較特殊的是/dev/tty0,他代表當(dāng)前虛擬控制臺,其實就是當(dāng)前所使用虛擬控制臺的一個別名。因此不管當(dāng)前正在使用哪個虛擬控制臺(注意:這里是虛擬控制臺,不包括偽終端),系統(tǒng)信息都會重定位到/dev/tty0上。

只有系統(tǒng)或超級用戶root可以向/dev/tty0進(jìn)行寫操作。tty0是系統(tǒng)自動打開的,但不用于用戶登錄

3、偽終端

偽終端(Pseudo Terminal)是終端的發(fā)展,它多用于模擬終端程序,是遠(yuǎn)程登陸(telnet、ssh、xterm等)后創(chuàng)建的控制臺設(shè)備。

它是成對出現(xiàn)的邏輯終端設(shè)備(即master和slave設(shè)備, 對master的操作會反映到slave上)。簡單說主終端和類似sshd,telnetd等用戶空間的遠(yuǎn)程協(xié)議處理進(jìn)程連接,而從終端則和shell之類的實際進(jìn)程連接。

4、串口終端

串行端口終端(Serial Port Terminal)是使用計算機(jī)串行端口連接的終端設(shè)備。計算機(jī)把每個串行端口都看作是一個字符設(shè)備。所以這些串行端口所對應(yīng)的設(shè)備名稱是/dev/ttyS0、/dev/ttyS1等,設(shè)備號分別是(4,0)、(4,1)等

若要向一個端口發(fā)送數(shù)據(jù),可以在命令行上把標(biāo)準(zhǔn)輸出重定向到這些特殊文件名上即可。

我們可以在命令行提示符下鍵入:echo "tekkaman" > /dev/ttyS1會把“tekkaman”發(fā)送到連接在ttyS1(COM2)端口的設(shè)備上。

在2.6以后的內(nèi)核后,一些三星的芯片將串口終端設(shè)備節(jié)點命名為ttySACn。

TI的Omap系列芯片從2.6.37開始,芯片自帶的UART設(shè)備開始使用專有的的omap-uart驅(qū)動,故設(shè)備節(jié)點命名為ttyOn,以區(qū)別于使用8250驅(qū)動時的設(shè)備名“ttySn”。

圖片

5. 其它類型

還針對很多不同的字符設(shè)備存在有很多其它種類的終端設(shè)備特殊文件,例如針對ISDN設(shè)備的**/dev/ttyIn**終端設(shè)備等。

??https://blog.csdn.net/liangzc1124/article/details/127469767??

責(zé)任編輯:武曉燕 來源: 嵌入式藝術(shù)
相關(guān)推薦

2023-06-28 11:01:08

2024-01-19 08:25:38

死鎖Java通信

2024-02-04 00:00:00

Effect數(shù)據(jù)組件

2023-07-26 13:11:21

ChatGPT平臺工具

2023-01-10 08:43:15

定義DDD架構(gòu)

2023-08-01 12:51:18

WebGPT機(jī)器學(xué)習(xí)模型

2024-01-02 12:05:26

Java并發(fā)編程

2023-10-10 11:04:11

Rust難點內(nèi)存

2024-05-06 00:00:00

InnoDBView隔離

2023-01-30 09:01:54

圖表指南圖形化

2024-07-31 08:39:45

Git命令暫存區(qū)

2023-12-12 08:02:10

2022-07-08 09:27:48

CSSIFC模型

2024-08-06 09:47:57

2024-02-06 08:33:54

文件系統(tǒng)SSD

2023-01-13 16:46:38

CRM系統(tǒng)建設(shè)

2022-02-12 20:45:49

AndroidPC 端工具

2024-09-27 19:39:27

2022-03-08 08:39:22

gRPC協(xié)議云原生

2024-03-06 08:28:16

設(shè)計模式Java
點贊
收藏

51CTO技術(shù)棧公眾號