Welche Arten von Linux-Gerätedateien gibt es?

青灯夜游
Freigeben: 2022-06-06 14:20:49
Original
5198 Leute haben es durchsucht

Es gibt zwei Arten von Linux-Gerätedateien: 1. Zeichengeräte sind Gerätedateien, auf die wie ein Byte-Stream zugegriffen werden kann. Wenn eine Lese- oder Schreibanforderung an ein Zeichengerät ausgegeben wird, erfolgt die entsprechende E/A-Operation sofort verfügen über Zeichenterminals, serielle Schnittstelle, Tastatur, Maus; 2. Blockgerät ist eine Gerätedatei, auf die bei der Ausführung von TO-Vorgängen zugegriffen werden muss. Zu den gängigen Blockgeräten gehören Festplatten, Diskettenlaufwerke und Blu-ray. Ray-Reader und Flash-Speicher.

Welche Arten von Linux-Gerätedateien gibt es?

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

Übersicht über Gerätedateien

In Unix-ähnlichen Betriebssystemen ist eine Gerätedatei oder spezielle Datei die Schnittstelle zu einem Gerätetreiber und erscheint im Dateisystem, als wäre es eine normale Datei. Es gibt auch spezielle Dateien in MS-DOS, OS/2 und Microsoft Windows. Diese speziellen Dateien ermöglichen einer Anwendung die Interaktion mit einem Gerät mithilfe seines Gerätetreibers über Standard-Eingabe-/Ausgabe-Systemaufrufe. Die Verwendung von Standardsystemaufrufen vereinfacht viele Programmieraufgaben und ermöglicht konsistente E/A-Mechanismen im Benutzerbereich, unabhängig von den Merkmalen und Fähigkeiten des Geräts.

Gerätedateien stellen normalerweise einfache Schnittstellen zu Standardgeräten (z. B. Druckern und seriellen Anschlüssen) bereit, können aber auch für den Zugriff auf bestimmte einzigartige Ressourcen auf diesen Geräten (z. B. Festplattenpartitionen) verwendet werden. Darüber hinaus sind Gerätedateien nützlich für den Zugriff auf Systemressourcen, die keinem tatsächlichen Gerät zugeordnet sind, wie z. B. Datensenken und Zufallszahlengeneratoren.

Unter dem Linux-System gibt es sieben Dateitypen:

  • Gewöhnliche Datei (-)

  • Verzeichnis (d)

  • Softlink (Zeichenlink L)

  • Socket-Datei( S)

  • Character Device(S)

  • Block Device(B)

  • Pipe File (Named Pipe P)

Daher gibt es zwei Arten von Device-Dateien: Character Device und Gerät blockieren.

(1) Zeichengerät

Zeichengerät ist ein Gerät, auf das wie ein Byte-Stream zugegriffen werden kann. Wenn eine Lese- oder Schreibanforderung an ein Zeichengerät ausgegeben wird, wird der entsprechende E/A-Vorgang sofort ausgeführt. Viele Geräte im Linux-System sind Zeichengeräte, z. B. Zeichenterminals, serielle Schnittstellen, Tastaturen, Mäuse usw. In der Embedded-Linux-Entwicklung sind Zeichengeräte und Treiber am häufigsten.

(2) Blockgerät

Blockgerät ist ein Gerät, auf das in Blöcken zugegriffen werden muss, wenn TO-Vorgänge im Linux-System ausgeführt werden. Blockgeräte können Dateisysteme installieren. Der Blockgerätetreiber verwendet einen Teil des Systemspeichers als Puffer, sodass Lese- und Schreibzugriffe auf das Blockgerät nicht unbedingt sofort zu Hardware-E/A-Vorgängen führen. Zu den gängigen Blockgeräten in Linux-Systemen gehören Festplatten, Diskettenlaufwerke usw.

Unterscheiden Sie zwischen Blockgeräten und Zeichengeräten

  • Blockgeräte sind Hardwaregeräte, die sich durch zufälligen (nicht unbedingt sequenziellen) Zugriff auf Datenblöcke fester Größe auszeichnen. Ein Chunk mit fester Größe wird als Block bezeichnet. Das gebräuchlichste Blockgerät ist die Festplatte, es gibt jedoch auch viele andere Blockgeräte wie Diskettenlaufwerke, Blu-ray-Lesegeräte und Flash-Speicher. Beachten Sie, dass es sich dabei um Geräte handelt, auf denen Dateisysteme gemountet sind, und dass Dateisysteme wie eine Verkehrssprache für Blockgeräte sind.

  • Der Zugriff auf Zeichengeräte erfolgt über einen kontinuierlichen Datenstrom, Byte für Byte. Typische Zeichengeräte sind Terminals (es gibt viele Arten von Terminals, sowohl physische als auch virtuelle) und Tastaturen.

Der einfachste Weg, Blockgeräte und Zeichengeräte zu unterscheiden, besteht darin, sich die Art und Weise anzusehen, wie auf Daten zugegriffen wird. Auf Blockgeräte kann nach dem Zufallsprinzip zugegriffen werden, um Daten zu erhalten, und auf Zeichengeräte muss in Bytereihenfolge zugegriffen werden.

Wenn Sie hier ein paar Daten lesen können, dort ein paar Daten lesen und sie schließlich zu einem ganzen Stück kontinuierlicher Daten zusammenfügen können, dann ist dies ein Blockgerät, das möglicherweise diskontinuierlich ist um ein Datenelement durch wahlfreien Zugriff zu erhalten. Beispielsweise können sich in einer etwas größeren Datei auf einer Festplatte die ersten 10.000 Daten in zusammenhängenden Datenblöcken oder in zusammenhängenden Sektoren befinden, und die nächsten 10.000 Daten können weit davon entfernt oder sogar auf verschiedenen Zylindern liegen.

Wenn jedes Byte in einem Datenelement dieselbe Bytereihenfolge wie beim Zugriff aufweist, dh die Bytereihenfolge vom Zeitpunkt des Zugriffs bis zur endgültigen Verarbeitung der Daten vollständig konsistent ist, handelt es sich um ein Zeichengerät. Mit anderen Worten: Zeichengeräte können als Stream-Geräte betrachtet werden. Genau wie bei der Eingabe von Daten auf einer Tastatur müssen beim kontinuierlichen Drücken zweier Tasten die diesen beiden Tasten entsprechenden Bytedaten beim Empfang zuerst vorne und dann hinten eingegeben werden. Ebenso funktioniert das Endgerät. Wenn das Programm Daten an das Terminal ausgibt, gibt das Programm zuerst den Buchstaben a und dann die Zahl 3 aus. Bei der Anzeige auf dem Terminal muss dann a vorne und 3 innen stehen die Rückseite.

Verwandte Empfehlungen: „Linux-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWelche Arten von Linux-Gerätedateien gibt es?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!