Périphériques : octet ou caractère ?

Bonjour à tous,

Selon la doc (c’est par là que je commence) il y a, dans /dev, des périphériques de type bloc et des périphériques de type caractère.

Je suppose que, historiquement, la discrimination était essentiellement hardware et liée à l’octet plutôt qu’au caractère. Les deux mots étaient alors quasiment synonymes. On retrouve cette confusion dans les langages de programmation, d’ailleurs, puisque “byte” se dit “unsigned char” en C.

Mais aujourd’hui, sauf sur certains îlots de résistance condamnés par la montée d’Unicode, les caractères sont multi-bytes…

Je me demande donc :

  • Les périphériques de type caractère sont-ils de type octet ou de type caractère ?
  • Ou bien ça dépend ?

Pouvez-vous m’aider à y voir un peu plus clair ? Une doc, ou un article qui traite du sujet ?

Merci d’avance :slightly_smiling:

Ca n’a rien à voir avec des octets ou autre, c’est une question d’accès séquentiel ou aléatoire/bufferisé.
Un device type character envoie des infos au fur et à mesure (accès séquentiel), par exemple pour ta souris tu ne peux pas retrouver sa position d’il y a 1 minute.
Un device type block, par exemple ton disque dur, peut renvoyer des infos du premier secteur, du dernier ou du 42000ème sans être obligé de tous les lire, l’accès est donc aléatoire et en général bufferisé pour être plus efficace.

Apparemment, j’ai bien fait de poser la question…

Merci :slightly_smiling: