IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Création d'un module pour interruption irq [Débutant(e)]


Sujet :

Linux

  1. #1
    Membre régulier Avatar de Thor Tillas
    Inscrit en
    Octobre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 113
    Points : 90
    Points
    90
    Par défaut Création d'un module pour interruption irq
    Bonjour tout le monde,

    Je vous remercie d'or et déjà de poser votre regard sur ce post...

    Nous sommes en train de développer une application qui n'a pas le droit d'utiliser les thread et qui doit s'attendre à être interrompu à tout moment par l'arrivée d'un message réseau (il peut y avoir plusieurs socket d'ouverts...).

    Nous avons tout de suite pensé au interruption, mais apparement le C ne permet pas de les gérer du côté USER.

    Etant des débutant autant en C qu'en linux (meme un peu plus en linux je crois), nous avons un peu du mal à imaginer ce que nous devrons faire pour que ca marche.
    En classe, nous avons développer un driver pour le port série en C. Nous pensions donc nous basé sur ceci pour résoudre notre problème.

    Mes questions sont les suivantes :
    1. Existe t il une solution plus "simple" de gérer le réseau sans thread (et sans polling au niveau de l'application)? (j'avoue que je pose la question uniquement au cas où quelqu'un aurait une solution miracle et que je m'attend pas vraiment à en avoir...)

    2. Est ce que le principe d'IRQ nous permet d'appeler une routine d'interruption dans notre application ou la routine doit elle aussi se trouver en mode KERNEL?

    3. Est ce qu'un module développer sous une certain distribution de linux ou un certain noyau peut être utilisé sur un autre noyau?

    4. Où puis je trouver une documentation (tutoriel ou autre) sur le sujet ? (je dois avouer que j'ai fais des recherches uniquement sur google... et que je suis pas très doué en recherche google... alors s'il y en a sur developper.net... je vous présente mes excuses les plus sincères et j'irais me fouetter pour me punir...)

    Voilà, je vous remercie d'avance pour toute vos réponses

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    un moyen standard de développement réseau sous unix


    - socket
    - fork
    - select
    - signaux...


    un cours http://www.ensta.fr/~gueydan/Poly/Html/

  3. #3
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    fork + select me semble une bonne idée

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    ouvrir des sockets non bloquante + gestion des signaux.

    il n'y a pas d'interruption materiel au niveau d'une socket (alors que sur un port com si bien qu'une gestion de lecture non bloquante et par signaux eu été plus propre ....)!! (juste au niveau carte ethernet mais sans aucune differenciations de quel port et quel protocol !

    voir les manuels de recv, fcntl, signal, sigaction, .......

  5. #5
    Membre régulier Avatar de Thor Tillas
    Inscrit en
    Octobre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 113
    Points : 90
    Points
    90
    Par défaut
    Ok, on a eu une discution avec nos mandataires....


    Résultat : On considère qu'une méthode (surement un thread à part dans le noyau de l'OS sur lequel on va se déployer) permet d'appeler une méthode de notre application lorsqu'un message arrive.

    Le problème principale est résolu... reste plus qu'à trouver une manière de le faire...

    Pour le select, il ne répondait pas tout à fait à ce que je voulais puisqu'il est bloquant... mais c'est vrai que j'avais laisser le fork de coté... Merci pour les réponses en tout cas. Ca fait toujours plaisir de voir qu'il existe d'autre solution que celle qu'on voit

    Bref. Je vais mettre ce sujet en délestage...

Discussions similaires

  1. Modules pour fichiers XML volumineux
    Par contexte dans le forum Modules
    Réponses: 1
    Dernier message: 04/05/2006, 07h39
  2. [Apache] compiler le module pour Ruby mod_ruby.so ?
    Par Mescalito dans le forum Apache
    Réponses: 1
    Dernier message: 02/11/2005, 18h28
  3. recherche de module pour faire des graphiques
    Par Ickou dans le forum Modules
    Réponses: 1
    Dernier message: 01/11/2005, 22h20
  4. Bonjour, des modules pour Truevision3d ?
    Par Phomos dans le forum C++
    Réponses: 1
    Dernier message: 28/09/2005, 18h18
  5. [RECHERCHE] un module pour developer une interface graphique
    Par romtrash dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 10/03/2005, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo