Quelle est la différence entre les divers pilotes et des pilotes de char?

Je suis en train de lire à propos de divers pilotes sous Linux, et je suis un peu confus sur les différences entre eux et les pilotes de char. Une source, le Linux journal, écrit:

Alessandro nous dit comment enregistrer un petit appareil qui a besoin d'un seul
point d'entrée avec les divers pilote.

Parfois les gens ont besoin d'écrire
“les petites” les pilotes de périphériques, de soutien personnalisé hacks—qu'il soit matériel ou
de logiciel. À cette fin, ainsi que d'accueillir des vrais pilotes, l'
Le noyau Linux exporte une interface pour permettre aux modules d'inscrire leurs
propres petits pilotes. Le misc pilote a été conçu à cet effet.

Ok, donc à partir de ce je que il y a un simple pilote (dans ce cas, avec un point d'entrée unique), c'est un misc pilote. Puis une autre source, l'Essentiel Linux Pilotes de Périphériques, les états:

Misc (ou divers) les pilotes sont de simples char pilotes qui partagent
certaines caractéristiques communes. Parce que les divers pilotes sont des pilotes de char,
la discussion antérieure sur le char, pilote de points d'entrée pour tenir divers
les pilotes, trop.

Maintenant, cela semble dire que les divers pilotes sont juste char pilotes, mais peut-être un sous-ensemble de fonctions, et des pilotes de char peut avoir plus d'un seul point d'entrée (comme un ioctl() ou un open() ou un read() appel)

Alors, que, dans Linux C codage termes, sont les différences entre un char et divers-pilote de périphérique? (En outre l'évident majeur de l'attribution d'un numéro (10) pour tous les divers pilotes). Est-il une différence dans la prise en charge des points d'entrée? Est mon hypothèse correcte que les divers pilotes de périphérique seulement un sous-ensemble de ce que vous pouvez obtenir dans une pleine char pilote de périphérique?

OriginalL'auteur Mike | 2013-08-27