Академический Документы
Профессиональный Документы
Культура Документы
- vnement "externe" (clavier, horloge, ...) - droutement (erreurs, division par 0, ...)
Introduction-interruptions
La notication arrive au CPU par un l Le CPU connait ladresse du traitement de linterruption survenue Le CPU donne la bonne valeur IP, cest un mcanisme hardware
Introduction-interruptions
traitement dune interruption :
- arrter le programme en cours - excuter le code de service de linterruption - reprendre ventuellement lexcution du programme
Introduction-interruptions
le code utilisateur et systme coxistent en RAM ! !
quelle est ladresse du traitement de linterruption ? quelle est la bonne valeur donner IP au retour ? quen est-il des registres en cours dutilisation ?
Systmes dexploitation 1re anne p. 4
Introduction-interruptions
Sur intel les adresses sont sokces en RAM dans le vecteur des interruptions
problmes rsoudre :
- revenir au programme interrompu - sauvegarder les registres en cours dutilisation par le programme - protgerle code du traitement en RAM
p. 5
Introduction-interruptions
une zone de la mmoire va servir mmoriser les valeurs de plusieurs registres
on appelle cela une Pile ou Stack le sommet est point par un registre spcique : SP
La taille de la pile varie comment se prsente une pile ? pourquoi ne suft-il pas de doubler les registres du CPU pour cette sauvegarde ?
Systmes dexploitation 1re anne p. 6
Introduction-interruptions
retour - IP et pile
la valeur de IP doit tre sauvegarde avant dtre modie le CPU se charge de la sauvegarder SP est le registre pointeur de pile
Introduction-interruptions
sauvegarde - pile sauvegarde des registres autres que IP par le traitement de linterruption utilise galement la pile
Introduction-interruptions
protection - mode
Laccs toute la RAM et instructions est soumis certains privilges Le code sr (code systme) a tous les droits Le basculement en mode privilgi est automatique lors des interruptions
Introduction-interruptions
en cas dinterruption, le CPU (hardware) soccupe de
- basculer en mode privilgi - sauvegarder la valeur de IP (instruction suivante) dans la Pile - mettre dans IP ladresse du traitement de linterruption
Emergence-interruptions
boucle dinterprtation dune instruction par le processeur NB. Une instruction commence se termine toujours
Introduction-interruptions
ensuite le code de linterruption (software) :
- sauvegarde des registres utiliss sur la pile - traite les instructions (par la machine simplie) ... - restaure les registres depuis la pile - la dernire instruction de ce code restaure le mode et la valeur de IP depuis la pile
Emergence-interruptions
- plusieurs numros dinterruption => le CPU connait leurs adresses de traitement - les traitements dinterruption sexcutent en "mode privilgi"