web-dev-qa-db-fra.com

Qu'est-ce qu'un appareil de personnage?

J'essayais de créer une partition sur mon lecteur USB lorsque je suis tombé sur des fichiers/entités dans /dev/ qui semblaient inconnus (tels que hidraw2). Lorsque j'ai ouvert/dev dans le gestionnaire de fichiers et que j'ai examiné leurs propriétés, il est indiqué qu'il s'agit de character devices. En cherchant à ce sujet, je suis tombé sur des messages qui expliquent ce que sont les "dispositifs de blocage", mais aucun message de ce type n'a encore été publié pour les dispositifs à caractères.

Je voudrais savoir ce qu’est un dispositif de personnage et ce qu’il fait. Aussi je me demande pourquoi ils s'appellent des appareils.

7
NurShomik

Ceci est une explication simple:

  • Un caractère ('c') est un appareil avec lequel le pilote communique en envoyant et en recevant des caractères uniques (octets, octets).
  • Un périphérique Block ('b') est un périphérique avec lequel le pilote communique en envoyant des blocs de données entiers.
  • Exemples de périphériques de personnage: ports série, ports parallèles, cartes son.
  • Exemples de blocage de périphériques: disques durs, caméras USB, Disk-On-Key.
  • Pour l'utilisateur, le type de périphérique (bloc ou caractère) n'a pas d'importance - vous devez simplement vous assurer qu'il s'agit d'une partition de disque dur ou d'une carte son.
  • Les programmeurs de pilotes, cependant, font attention.

Voici plus:

16.1.4.2 Périphériques en blocs et en caractères Un périphérique en blocs est un périphérique conçu pour fonctionner en termes d'E/S de blocs prises en charge par Digital UNIX. Il est accessible via le cache du tampon. Un périphérique de bloc a un pilote de périphérique de bloc associé qui effectue des E/S en utilisant des tampons de la taille d'un bloc du système de fichiers à partir d'un cache de mémoire tampon fourni par le noyau. Les pilotes de périphériques en bloc conviennent particulièrement aux lecteurs de disque, les périphériques en bloc les plus courants.

Un appareil à caractères est un appareil sur lequel des flux de caractères peuvent être lus ou écrits. Un périphérique de caractère auquel est associé un pilote de personnage peut être utilisé pour un périphérique tel qu'une imprimante par ligne qui traite un caractère à la fois. Cependant, les pilotes de caractères ne sont pas limités à effectuer des E/S un caractère à la fois (malgré le nom de pilote `` caractère ''). Par exemple, les pilotes de bande effectuent fréquemment des E/S par tranches de 10K. Un pilote de périphérique de caractère peut également être utilisé lorsqu'il est nécessaire de copier des données directement vers ou depuis un processus utilisateur. En raison de leur souplesse dans la gestion des E/S, de nombreux pilotes sont des pilotes de personnages. Les imprimantes linéaires, les terminaux interactifs et les écrans graphiques sont des exemples de périphériques nécessitant des pilotes de personnage.

Sources:

http://haifux.org/lectures/86-sil/kernel-modules-drivers/node10.html

https://arstechnica.com/civis/viewtopic.php?t=787631

10
George Udosen