Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Retourner aux forums || Retourner au forum Linux.noyau

Linux.noyau : fichier /dev multiapplication

Posté par Nicolas Boulay () le 05 décembre 2006
Je cherche des infos sur la manière d'écrire un driver multi applicatif. En gros, un même /dev/toto peut être utilisé par plusieurs applications différentes.

J'ai l'impression que cela n'est pas une façon de faire très courante (il suffit de voir les /dev/machinX avec X de zero à n). Connaîtrez-vous un driver qui fonctionne ainsi ? Ou des infos sur la manière de faire ?

> Lire le message (2 commentaires, moyenne: 2).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Un voyage de mille lieues commence

Posté par TheBreton () le 05/12/2006 à 09:58. (lien). Évalué à 2.

toujours par un premier pas (Lao-Tseu)
Voici le premier pas a faire pour tout connaitre sur les drivers.
http://lwn.net/Kernel/LDD3/
Bonne lecture.

--
Merde, ca fait trois fois que je le coupe il est toujours trop court!
-(un stagiaire hardware qui devait connaitre le grand pere de Sylvain Sauvage ;-) )-

Euh... pas du tout

Posté par David Decotigny (page perso, ) le 06/12/2006 à 06:49. (lien). Évalué à 2.

Non non, pas du tout. Si /dev/hda1, /dev/hda2, /dev/ttyS0, /dev/pts/1, /dev/pts/2, etc. existent avec des numeros differents, c'est pas parce qu'ils peuvent être utilisés par plusieurs applications, c'est parce qu'il s'agit de plusieurs peripheriques differents (/devhda1 c'est le periph "partition 1 du disque IDE0 primaire", /dev/hda2 le periph "partoche 2", /dev/pts/1 le periph "terminal virtuel 1", etc.).

Dans l'absolu, tout peripherique doit pouvoir etre ouvert et utilisé par plusieurs applications en meme temps. Si certains drivers (ie ce qui est derriere les /dev/machin) ne permettent pas cela, ce n'est /que/ parce que le *driver* ne le permet pas, pas parce que le systeme "en general" ne le permet pas. Par exemple, plusieurs applis peuvent ouvrir /dev/hda1 en meme temps si elles le veulent, et meme ecrire "en meme temps" (il y aura en fait sans doute une serialisation par le noyau, on a rarement vu un HD traiter plusieurs requetes venant du meme systeme en parallele). Il fut un temps ou, effectivement, certains periph tels /dev/audio, ne pouvaient pas etre ouverts par plusieurs applis en meme temps. Il y en a d'autres (je pense aux /dev/ttySX, a verifier). Mais c'est loin d'etre une generalite.

Et, comme suggere, le LDD est une excellente source pour comprendre comment une telle magie est possible. Une autre source (pub) : http://sos.enix.org .

--
d2

Revenir en haut de page || Retourner aux forums || Retourner au forum Linux.noyau