首頁  >  文章  >  運維  >  linux字元裝置有哪些

linux字元裝置有哪些

青灯夜游
青灯夜游原創
2022-05-12 15:56:005042瀏覽

linux字元設備有:1、滑鼠,是電腦的一種外接輸入設備,也是電腦顯示系統縱橫座標定位的指示器;2、鍵盤,是用來操作電腦設備運作的一種指令及資料輸入裝置;3、序列埠終端,使用電腦序列埠連接的終端設備;4、控制終端;5、控制台等。

linux字元裝置有哪些

本教學操作環境:linux5.9.8系統、Dell G3電腦。

Linux系統為了管理方便,將裝置分成三種基本型別:

  • 字元裝置

  • 區塊裝置

  • 網路設備

它們都以一個檔案節點顯示在檔案系統的/dev目錄下(crw--w---- 1 root tty 4, 0 7月11 09:11 tty0 其中c代表字元裝置類型)。

linux字元設備

字元設備是指設備無需緩衝即可直接進行讀寫的設備, 如滑鼠,鍵盤,串列設備、調變解調器等, 它與區塊設備的差別在於是字元操作的基本單位是位元組。

字元設備的分類

字元設備主要包括控制終端設備和序列終端設備, 例如控制台和鍵盤。依據功能與硬體上的差異, 字元終端設備有下列分類:

  • 序列埠終端(/dev/ttSn):使用電腦序列埠連接的終端設備,序列裝置資料傳輸方式為相同字元8個bit單線傳輸, 在指令列輸入echo 'hello world' > /dev/ttyS0可將輸入寫入對應裝置。

  • 偽終端(/dev/ttyp,/dev/ptyp): 對應底層不存在真實的硬體設備, 用於為其他程式提供終端式樣的接口,如網路登陸主機時網路伺服器和shell程式之間的終端介面。

  • 控制終端(/dev/tty):主設備號碼為5, 進程控制終端,與進程相關聯,如登陸shell進程所使用的是終端/dev/tty。

  • 控制台(/dev/ttyn,/dev/consol): 電腦輸入輸出的顯示器,當控制台登陸時, 使用的就是tty1, 而ubuntu 圖形介面所使用的tty7 。

  • 其他類型:現行的linux針對許多不同的裝置建有許多其他種類的裝置特殊文件,如ISIDIN裝置的/dev/ttyIn裝置。

以下為字元設備結構示意圖

linux字元裝置有哪些

#字元設備的性質及特性

  • #字元裝置屬於裝置檔案系統的一種, 相當於底層硬體向上層提供的邏輯裝置文件, 宛如將一個資料埠(資料暫存器)與一個文件對接起來,裝置驅動程式直接對文件操作, 於是便直接對連接埠進行了讀寫操作。同樣作為文件, 字元設備驅動也必須實現文件的基本的操作open(),close(),write(),read()等,當然終端重定向操作也是支援的。

  • 字元裝置檔案檔案的讀寫是以單一位元組為單位的, 不需要設立硬體緩衝區。設備像存取位元組流一樣被作業系統存取。位元組流就像在硬體連接埠和檔案系統搭建起了一個傳送管道, 位元組逐個通過管道傳輸並呈現給讀寫雙方。這個流特性在驅動程式中是以緩衝佇列來實現的。例如: 控制台的結構體中的讀寫緩衝佇列

struct tty_struct {
struct termios termios;
int pgrp;
int stopped;
void (*write)(struct tty_struct * tty);
struct tty_queue read_q;               //读队列
struct tty_queue write_q;              //写队列
struct tty_queue secondary;            //tty辅助队列(存放规格化后的字符)
};
  • #字元裝置由字元裝置號碼標識。字元設備號由主設備號和次設備號構成, 例如/dev/ttyS0的設備號為(4,64); 主設備號標識設備對應驅動程序, 內核透過主設備號將設備和驅動程序一一對應起來, 次設備號由驅動程式使用, 用於驅動程式內部區分設備細節差別使用的程式碼,內核其他部分不使用它。

相關推薦:《Linux影片教學

以上是linux字元裝置有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn