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

Programmation d'OS Assembleur Discussion :

Programmation des routines d'interruptions


Sujet :

Programmation d'OS Assembleur

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 21
    Points : 14
    Points
    14
    Par défaut Programmation des routines d'interruptions

    salut tt le monde!

    Qui programme les routines d'interruptions utilisées dans l'assembleur?

    J'ai lu un article sur le net qu différncie entre des interruptions logicielles et les interruptions materrielles.


    Est ce que ce sont les fabricants des périphériques (ex: C.graphique) qui fournissent les interruptions qui vont gérer leurs périphériques?

    De quelles connaissances doit-t-on être dôté pour programmer par example une routine d'interruption pour afficher à l'ecran qqchose?

    Encore une dernière question:


    qui a créeé les premières routines d'interruption lorsqu'il n'yavait encore pas d'OS ou bien à l'époque du DOS?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Qui programme les routines d'interruptions utilisées dans l'assembleur?
    Plus grand monde! Normalement c'est le système d'exploitation qui gère les interruption matérielles et qui offre une API pour interfacer un "driver" avec lui.

    J'ai lu un article sur le net qu différncie entre des interruptions logicielles et les interruptions materrielles.
    En général les interruptions ont une priorité. Une interruption plus prioritaire peut interrompre le traitement en cours d'une autre interruption. Tant que le niveau de priorité "monte", il n'y a pas de deadlock.
    Pour que les temps de réponse du système soit satisfaisant, on essaie de minimiser la durée de traitement des interruptions matérielles. La technique est en général de soumettre une partie des traitements à un niveau d'interruption plus bas. Il va donc falloir poster une interruption logicielle pour que le niveau "plus bas soit réveillé".

    Est ce que ce sont les fabricants des périphériques (ex: C.graphique) qui fournissent les interruptions qui vont gérer leurs périphériques?
    Les cartes génèrent des interruptions et le fabricant fournit les drivers qui vont permettre d'utiliser leur carte sous Linux, Windows,...

    De quelles connaissances doit-t-on être dôté pour programmer par example une routine d'interruption pour afficher à l'ecran qqchose?
    Trop compliqué pour répondre succintement.

    qui a créeé les premières routines d'interruption lorsqu'il n'yavait encore pas d'OS ou bien à l'époque du DOS?
    A l'époque du DOS il y avait des routines d'interruptions apportées par le DOS pour gérer le clavier, l'écran,...
    En général, les matériels on toujours livré avec un minimum d'OS pour faire cela.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 21
    Points : 14
    Points
    14
    Par défaut



    Les cartes génèrent des interruptions et le fabricant fournit les drivers qui vont permettre d'utiliser leur carte sous Linux, Windows,...
    que voulez vous dire par "
    Les cartes génèrent des interruptions
    "

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    que voulez vous dire par:
    Les cartes génèrent des interruptions
    le code système dit à la carte écrit le contenu de l'adresse X,
    lorsque la carte a terminé, elle le signale par une interruption.

    Une interruption matérielle provient en général un signal électrique qui se propage sur un des fils du bus (de commande) par lequel la carte est reliée à l'unité centrale.
    Le signal va déclencher "l'interruption" au sens OS du terme:
    1. sauvegarde de ce qui est en cours dans la pile,
    2. masquage des interruptions moins prioritaire,
    3. exécution de la routine correspondante qui va décoder (in fine) le signal,

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Salut,

    Une interruption materielle est declanchee par le materiel
    exemples :
    - clavier
    - souris
    - port serie
    - Timer

    quand on appuis sur une touche du clavier, ce dernier declanche une interruption qui lance le bout de code qui s'occupe de lire le caractere tape


    Une interruption logicielle est declanchee par un programme
    exemple :
    changement d'un mode graphique par l'utilisation de " INT 10h "

    a+ Francois

  6. #6
    Membre régulier

    Femme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Décembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Décembre 2007
    Messages : 67
    Points : 90
    Points
    90
    Billets dans le blog
    1
    Par défaut
    Pouvez-vous exprimer votre besoin concret et la raison pour laquelle vous poser une telle question ?

    Les interruptions et routines associés relèvent de compétences de personnes qui sont souvent hybrides entre informaticiens et électronicien.
    Ce sont des notions d'informatique très proches du matériel...ce n'est effectivement pas tout le monde qui touche à cela mais malgré tout, dès qu'on fait un peu de l'embarqué, on est forcément amené à cotoyer ces p'tites bêbêtes...

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 169
    Points : 251
    Points
    251
    Par défaut
    De quelles connaissances doit-t-on être dôté pour programmer par example une routine d'interruption pour afficher à l'ecran qqchose?
    Ca, vous pouvez le faire en Pascal de manière relativement facile: lance TP7, écrivez "GetIntVec" et tapez Ctrl-F1. vous verrez un magnifique exemple de détournement d'interruption, que vous pourrez adapter à votre situation.

  8. #8
    Membre régulier

    Femme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Décembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Décembre 2007
    Messages : 67
    Points : 90
    Points
    90
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par CP / M Voir le message
    Ca, vous pouvez le faire en Pascal ...
    Cà existe encore des développeur en Pascal ? (dans l'aéro oui j'ai codé en Pascal il y'a moins de 5 ans mais bon, sur un projet qui avait plus de 20 ans...)

  9. #9
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 21
    Points : 14
    Points
    14
    Par défaut


    j'ai lu sur un bookin de " Kip Irvine " nommé "Assembleur X86" qu IBM fournissait des manuels de Références techniques incluants le code source de ses premiers PC et AT BIOS .

    je ne sait pas si qq'un peut avoir une idée où on peut trouver un tel manuel!!


  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 169
    Points : 251
    Points
    251
    Par défaut
    Cà existe encore des développeur en Pascal ? (dans l'aéro oui j'ai codé en Pascal il y'a moins de 5 ans mais bon, sur un projet qui avait plus de 20 ans...)
    exterieur, nous ne parlons pas forcément de développeurs, mais de programmeurs amateurs. En effet, je doute fort que des développeurs actuels éprouvent encore le besoin de détourner des interruptions. Par contre, on trouve des programmeurs/bidouilleurs Pascal, qui eux peuvent éventuellement avoir envie de sacrifier un 386 et de lui triturer toutes ses interruptions.
    Quant à la preuve que l'on trouve encore des programmeurs/développeurs Pascal, vois l'activité du forum Pascal ! (Ne vois aucune aggressivité dans cette réponse, peut-être excessivement virulente...)

    noubigh, si jamais tu trouves ce document quelque part, préviens-moi s'il te plaît !

  11. #11
    Membre régulier

    Femme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Décembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Décembre 2007
    Messages : 67
    Points : 90
    Points
    90
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par CP / M Voir le message
    exterieur, nous ne parlons pas forcément de développeurs, mais de programmeurs amateurs. En effet, je doute fort que des développeurs actuels éprouvent encore le besoin de détourner des interruptions. Par contre, on trouve des programmeurs/bidouilleurs Pascal, qui eux peuvent éventuellement avoir envie de sacrifier un 386 et de lui triturer toutes ses interruptions.
    Quant à la preuve que l'on trouve encore des programmeurs/développeurs Pascal, vois l'activité du forum Pascal ! (Ne vois aucune aggressivité dans cette réponse, peut-être excessivement virulente...)

    noubigh, si jamais tu trouves ce document quelque part, préviens-moi s'il te plaît !
    PAs de soucis, ta réponse me conviens et je n'y voit aucune attaque particulière ;-).
    Dans un cadre amateur sur d'ancienne architectures, le Pascal peut être un bon début compte tenu qu'il a été développer pour apprendre la programmation. Je ne doute pas que l'on puisse trouver encore des développeurs en Pascal, c'est juste que c'est un langage, il faut l'admettre qui est maintenant peu usité....

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 169
    Points : 251
    Points
    251
    Par défaut
    D'accord avec toi exterieur, je n'ai aucune expérience du marché de la programmation professionelle, mais je sens bien que le Pascal n'y joue plus un très grand rôle, loin de là. Quant à ce que tu décris comme
    Dans un cadre amateur sur d'ancienne architectures
    je suis tout aussi d'accord avec toi, bien que je ne le considère pas seulement comme un langage de début. En effet, je trouve le Pascal parfait, du fait de sa simplicité d'utilisation liée à un "triturage" facile des entrailles du micro de par son assembleur intégré (BASM), sa possibilité d'insérer directement du code machine et à sa facilité de détournement des interruptions, pour s'attaquer à la programmation système/bas niveau sans se frotter directement à l'assembleur.

  13. #13
    Membre régulier

    Femme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Décembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Décembre 2007
    Messages : 67
    Points : 90
    Points
    90
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par CP / M Voir le message
    D'accord avec toi exterieur, je n'ai aucune expérience du marché de la programmation professionelle, mais je sens bien que le Pascal n'y joue plus un très grand rôle, loin de là. Quant à ce que tu décris comme je suis tout aussi d'accord avec toi, bien que je ne le considère pas seulement comme un langage de début. En effet, je trouve le Pascal parfait, du fait de sa simplicité d'utilisation liée à un "triturage" facile des entrailles du micro de par son assembleur intégré (BASM), sa possibilité d'insérer directement du code machine et à sa facilité de détournement des interruptions, pour s'attaquer à la programmation système/bas niveau sans se frotter directement à l'assembleur.
    Certes, mais c'est quelquechose que l'on fait tout aussi bien en C par exemple...et le C est moins permissif que le Pascal, d'où son utilisation professionnelle plutôt que celle du Pascal. Maintenant je ne suis pas en train de critiquer le Pascal, j'ai moi-même débuté avec, mais avec mon retour d'expérience, personnellement j'ai une préférence pour le C pour tout ce qui est proche du matériel et du processeur (j'ai bossé 6 ans dans l'embarqué...).

    Maintenant, le Pascal est très bien pour bidouiller à la maison ;-)

  14. #14
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 169
    Points : 251
    Points
    251
    Par défaut
    Tout à fait d'accord avec toi, je suis un bidouilleur à la maison, donc j'utilise Pascal (TP7, c'est le plus moderne capable de marcher sur un 486 à 8 Mo de RAM et 210 Mo de HD) !

  15. #15
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut pub
    voir aussi: http://www.developpez.net/forums/sho...d.php?t=569247
    Il pointe sur un tutoriel "réaliser son propre OS" qui aborde aussi ces sujets avec des examples pratiques de code.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  16. #16
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    Slt tt le monde

    salut CP / M

    Bonne nouvelle pour toi et ceux qui ont tjrs rêvé de pênetrer à l'interieur d'un Bios et voir ce qu'il y'a dedans :
    apres des heurs de navigation voilà ce que j'ai trouvé :

    http://www.programmersheaven.com/dow.../download.aspx

    mais y'a des choses que je ne comprends pqs bien car j'utilise MASM; et je ne suis pas très bon en anglais si vous pouvez traduire les commentaire en contr partie ça serai génial

    si je ne me trompe pas ,en sachant le code d'un bios on peut facilement créer
    ses propres routines d'interruption comme int 21h par example en se basant sur ce code, n'est ce pas??

    car les interruption Dos dont int21h ne fait qu'exploiter ce code pour utiliser les périphérique à ce que je crois !!

    si je dis des bétises veuillez me corriger;;

    cordialement

  17. #17
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 169
    Points : 251
    Points
    251
    Par défaut
    Félicitations noubigh !

    Je ne suis pas une bête de somme en anglais, mais je commence tout de même illico la traduction des commentaires et t'envoie le code dès que j'ai fini. Par contre, je ne sais pas du tout combien de temps je vais mettre, vu que c'est ma première traduction "officielle", donc sois indulgent !

    Par contre, je ne vois pas trop pourquoi tu aurais besoin de ce code pour "copier" l'int 21h: je pense qu'il suffit d'appeler les interruptions non-DOS, sans forcément connaître leur source ?

    Encore merci !

Discussions similaires

  1. Programmation de routines d'interruption.
    Par Spont dans le forum C
    Réponses: 3
    Dernier message: 18/05/2007, 16h26
  2. comment programmer un gestionnaire d'interruptions
    Par youknowriad dans le forum C++
    Réponses: 1
    Dernier message: 04/01/2006, 15h34
  3. [VBA-E] Toggle button: programmation des actions
    Par micknic dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/10/2005, 19h28
  4. Programmation des ports // et/ou séries
    Par sami_c dans le forum Windows
    Réponses: 1
    Dernier message: 17/09/2005, 13h15
  5. Programmer des threads
    Par haypo dans le forum C
    Réponses: 6
    Dernier message: 02/07/2002, 13h53

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