Was sind die Linux-Zeichengeräte?

青灯夜游
Freigeben: 2022-05-12 15:56:00
Original
5036 Leute haben es durchsucht

Zu den Linux-Zeichengeräten gehören: 1. Maus, ein externes Eingabegerät für den Computer und ein Indikator für die Positionierung der vertikalen und horizontalen Koordinaten des Computeranzeigesystems. 2. Tastatur, ein Befehls- und Dateneingabegerät 3. Serieller Anschluss, ein über einen seriellen Anschluss angeschlossenes Endgerät; 5. Konsole usw.

Was sind die Linux-Zeichengeräte?

Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Dell G3-Computer.

Zur Vereinfachung der Verwaltung unterteilt das Linux-System Geräte in drei Grundtypen:

  • Zeichengeräte

  • Blockgeräte

  • Netzwerkgeräte

Sie werden alle im Dateisystem im angezeigt Form eines Dateiknotens /dev-Verzeichnisses (crw--w---- 1 root tty 4, 0 11. Juli 09:11 tty0, wobei c den Zeichengerätetyp darstellt).

Linux-Zeichengerät

Zeichengerät bezieht sich auf ein Gerät, das ohne Pufferung direkt gelesen und geschrieben werden kann, wie z. B. Maus, Tastatur, Gerät mit serieller Schnittstelle, Modem usw. Der Unterschied zwischen ihm und Blockgeräten besteht darin Es ist die Grundlage für Zeichenoperationen. Die Einheit ist Bytes.

Klassifizierung von Zeichengeräten

Zu Zeichengeräten gehören hauptsächlich Steuerungsterminalgeräte und serielle Endgeräte wie Konsolen und Tastaturen. Basierend auf Unterschieden in Funktionen und Hardware werden Zeichenterminalgeräte wie folgt klassifiziert:

  • Terminal mit serieller Schnittstelle (/dev/ttSn): ein Terminalgerät, das über eine serielle Schnittstelle eines Computers angeschlossen ist. Die Datenübertragungsmethode für serielle Geräte ist dieselbe 8 Bits werden in einer einzigen Zeile übertragen. Geben Sie echo 'hello world' > /dev/ttyS0 in die Befehlszeile ein, um die Eingabe auf das entsprechende Gerät zu schreiben.

  • Pseudo-Terminal (/dev/ttyp, /dev/ptyp): Da es auf der untersten Ebene kein echtes Hardwaregerät gibt, wird es verwendet, um eine Schnittstelle im Terminalstil für andere Programme bereitzustellen, z zwischen dem Netzwerkserver und dem Shell-Programm, wenn Sie sich über die Netzwerk-Terminalschnittstelle beim Host anmelden.

  • Steuerterminal (/dev/tty): Die Hauptgerätenummer ist 5. Das Prozesssteuerterminal ist dem Prozess zugeordnet. Der Login-Shell-Prozess verwendet beispielsweise das Terminal /dev/tty.

  • Console (/dev/ttyn, /dev/consol): Der Monitor für die Computereingabe und -ausgabe wird tty1 verwendet, während die grafische Benutzeroberfläche von Ubuntu tty7 verwendet.

  • Andere Typen: Aktuelles Linux verfügt über viele andere Arten von Gerätespezialdateien für viele verschiedene Geräte, wie zum Beispiel das /dev/ttyIn-Gerät des ISIDIN-Geräts.

Das Folgende ist ein schematisches Diagramm der Struktur des Zeichengeräts.

Was sind die Linux-Zeichengeräte?

Die Art und Eigenschaften des Zeichengeräts Die Gerätedatei wird von der zugrunde liegenden Hardware der oberen Schicht bereitgestellt, z. B. Verbinden Sie einen Datenport (Datenregister) mit einer Datei, und der Gerätetreiber arbeitet direkt mit der Datei, sodass er direkt Lese- und Schreibvorgänge am Port ausführt. Auch als Datei muss der Zeichengerätetreiber auch die grundlegenden Operationen von Dateien wie open(), close(), write(), read() usw. implementieren. Natürlich werden auch Terminalumleitungsoperationen unterstützt.

  • Zeichengerätedateidateien werden in Einzelbyte-Einheiten gelesen und geschrieben, und es ist nicht erforderlich, einen Hardwarepuffer einzurichten. Der Zugriff auf das Gerät erfolgt durch das Betriebssystem als Bytestream. Der Byte-Stream ähnelt dem Einrichten einer Übertragungspipe zwischen dem Hardware-Port und dem Dateisystem. Bytes werden einzeln durch die Pipe übertragen und sowohl Lesern als auch Schreibern präsentiert. Diese Streaming-Funktion ist im Treiber als Pufferwarteschlange implementiert. Beispiel: Die Lese- und Schreibpufferwarteschlange in der Struktur der Konsole

  • 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辅助队列(存放规格化后的字符)
    };
    Nach dem Login kopieren
  • Das Zeichengerät wird durch die Zeichengerätenummer identifiziert. Die Zeichengerätenummer besteht aus einer Hauptgerätenummer und einer Nebengerätenummer. Die Gerätenummer von /dev/ttyS0 ist beispielsweise (4, 64); Die Hauptgerätenummer muss eins zu eins mit dem Gerät und dem Treiber übereinstimmen. Im Allgemeinen wird die Nebengerätenummer vom Treiber für den intern verwendeten Code verwendet, um zwischen Gerätedetails zu unterscheiden des Kernels.
  • Verwandte Empfehlungen: „

    Linux-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas sind die Linux-Zeichengeräte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage