Was ist ein Blockgerät? [duplizieren]

Diese Frage hat hier bereits Antworten :

Antwort

A Spezielle Datei blockieren oder Gerät blockieren ist :

Eine Datei, die auf ein Gerät verweist. Eine Blockspezialdatei wird normalerweise von einer -Zeichenspezialdatei unterschieden, indem der Zugriff auf das Gerät so bereitgestellt wird, dass die Hardwareeigenschaften des Geräts nicht sichtbar sind.

Die genauen Hardwareeigenschaften werden durch Caching auf Kernel- oder Treiberebene abstrahiert. Blockgeräte stellen normalerweise Hardware wie Festplatten dar, dies ist jedoch plattformabhängig. FreeBSD hat beispielsweise überhaupt keine Blockgeräte .

Dateien sind im Allgemeinen keine Geräte.

„Gerät blockieren“, wie es in Bezug auf Dateien herumgeworfen wird, bezieht sich auf die bestimmten Gerätedateien in (wahrscheinlich) /dev. Es handelt sich größtenteils um ein Implementierungsdetail auf Benutzerebene. mit einer vom Treiber freigelegten Schnittstelle. Viele Hardwaretypen sind intern blockstrukturiert, es können jedoch sowohl Block- als auch Zeichengeräte verwendet werden, um auf sie zuzugreifen.

Antwort

Wahrscheinlich werden Sie nie eine einfache Definition dafür finden können. Wenn Sie jedoch ein Zeichengerät mit einem Blockgerät vergleichen, können Sie auf die allgemeinste und einfachste Weise sagen, dass das Zeichengerät Ihnen direkten Zugriff auf die Hardware bietet, da Sie in einem Byte dieses Byte zur Hardware (von) eingeben Natürlich ist es heutzutage nicht so einfach. Während das Blockgerät in Blöcken unterschiedlicher Größe von dem Gerät liest und in dieses schreibt. Sie können die Blockgröße angeben, aber da die Kommunikation jeweils ein Block ist, ist eine Pufferzeit erforderlich.

Stellen Sie sich ein Blockgerät als eine Festplatte vor, auf der Sie jeweils einen Datenblock lesen und schreiben. Das Zeichengerät ist eine serielle Schnittstelle. Sie senden ein Datenbyte und die andere Seite empfängt dieses Byte und dann das nächste und so weiter und so fort.

Auch hier ist es kein sehr einfaches Konzept zu erklären. Die Beispiele, die ich gegeben habe, sind grobe Verallgemeinerungen und können leicht für eine bestimmte Implementierung jedes Beispiels widerlegt werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.