Systeme - interruptions avec multiprocessing

Voir le sujet précédent Voir le sujet suivant Aller en bas

Systeme - interruptions avec multiprocessing

Message  Dark le Mer 22 Oct 2008, 22:41

Bonjour ,

Je voulais savoir si ma mise en musique des interruptions était bonne ainsi que pour poser certaines questions .



En fait , dès qu'on a fait int 80h , on a donc un push ip hardware , jmp 4*80h et passage en mode 0 .
En 4*80h , on a l'adresse de la routine à exécuter . Dans cette routine , on a donc :
mov table[P1] , eax
mov table[P1] , ebx
mov table[P1] , cs
mov table[P1] , le contenu de ip sur la pile

//traitement du contenu de eax ainsi que vérification des arguments
//appel au dma pour effectuer le transfert

mov table[P1] , etat bloqué
jmp schulder

schulder :
mov table[x] , etat elu
mov eax , table[x]
...
mov eip , table[x]
//Passage en mode 3

La main passe à P2 . A la fin de l'instruction mov ecx , 7 , le dma envoie interruption au cpu pour dire qu'il a fini . Maintenant , qui et quand P1 et P2 sont mis à l'état "prêt" ?

Merci .

Dark

Nombre de messages : 131
Age : 30
Prénom : Laurent
Statut : Etudiant
Date d'inscription : 15/05/2006

http://membres.multimania.fr/dark0502/

Revenir en haut Aller en bas

Re: Systeme - interruptions avec multiprocessing

Message  Wark le Mer 22 Oct 2008, 22:57

Lorsque le DMA envoie son interruption, le S.E reprends la main et met P2 en état prêt ainsi que P1. L'ordonnanceur choisit alors lequel des deux exécuter.

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: Systeme - interruptions avec multiprocessing

Message  Dark le Jeu 23 Oct 2008, 11:46

Lorsque le dma envoie une interruption au cpu , normalement , il n'y pas directement un push ip , jmp adresse int et mode 0 ?

Dark

Nombre de messages : 131
Age : 30
Prénom : Laurent
Statut : Etudiant
Date d'inscription : 15/05/2006

http://membres.multimania.fr/dark0502/

Revenir en haut Aller en bas

Re: Systeme - interruptions avec multiprocessing

Message  Wark le Jeu 23 Oct 2008, 19:12

Il existe plusieurs types d'appels système lors d'interruption.

(La preuve, tu fais une interruption int80h, il doit donc en exister d'autres Wink )

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: Systeme - interruptions avec multiprocessing

Message  Dark le Jeu 23 Oct 2008, 19:33

C'est bien dans la routine d'interruption qu'on met l'état de p1 et p2 à prêt ? Au cas où on fait appel au dma , est-ce que ça se fait dans la routine d'interruption ?

Dark

Nombre de messages : 131
Age : 30
Prénom : Laurent
Statut : Etudiant
Date d'inscription : 15/05/2006

http://membres.multimania.fr/dark0502/

Revenir en haut Aller en bas

Re: Systeme - interruptions avec multiprocessing

Message  Wark le Jeu 23 Oct 2008, 20:06

C'est le S.E qui se charge de changer l'état des processus (puisque lui seul a accès à la table des processus et que l'ordonnanceur n'est qu'une sous-routine du S.E).

Le S.E analyse donc chaque interruption qui lui parvient et agit en fonction de l'interruption. ( /!\ je n'ai pas dit que le S.E tournait simultanément avec les processus ! Mais une interruption interrompt le processus en cours et le S.E prends la main).

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: Systeme - interruptions avec multiprocessing

Message  Contenu sponsorisé Aujourd'hui à 14:50


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum