Changes between Version 40 and Version 41 of SoclibCourseTp4
- Timestamp:
- Oct 15, 2009, 3:46:28 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SoclibCourseTp4
v40 v41 162 162 163 163 Pour communiquer avec un périphérique, un programme utilisateur peut donc utiliser 164 un tampon smémoire partagé DATA, protégé par une variable de synchronisation SYNC.164 un tampon mémoire partagé DATA, protégé par une variable de synchronisation SYNC. 165 165 Supposons qu'un programme utilisateur souhaite lire un caractère sur un terminal TTY. 166 166 Plutôt que d'effectuer un appel système bloquant (qui effectue une scrutation directement sur le registre STATUS 167 167 du TTY), le programme utilisateur va appeler une fonction de communication qui s'exécute en mode ''user'', et qui 168 effectue une scrutation sur la variable SYNC. C'est le périphérique TTY qui écrit dans le tampon DATA 169 et qui active la variable SYNC, en déclenchant l'exécution de la routine d'interruption. 170 Le programme utilisateur lit dans le tampon DATA et désactive la variable SYNC. 168 effectue une scrutation sur la variable SYNC. Le tampon est partagé entre le périphérique TTY et le programme 169 utilisateur : 170 * Le périphérique TTY écrit dans le tampon DATA et active la variable SYNC (en déclenchant l'exécution de la routine d'interruption). 171 * Le programme utilisateur lit dans le tampon DATA et désactive la variable SYNC. 172 173 ''Question:''' Que fait la routine d'interruption déclenchée par le périphérique TTY lorsque la variable SYNC est déjà activée, ce qui signifie 174 que le précédent caractère n'a pas été lu par le programme utilisateur ? (La réponse se trouve dans le fichier '''isr.s''') Pourquoi ce comportement ? 175 171 176 Il existe évidemment un mécanisme symétrique pour l'écriture d'un caractère vers le contrôleur TTY. 172 177 173 '''Question:''' Quel est l'avantage de ce type de communication ?178 '''Question:''' Quel est l'avantage de ce type de communication par interruption, comparé au mécanisme de scrutation utilisé dans le TP3 ? 174 179 175 180 Le logiciel doit être modifié pour supporter la communication par interruption entre un programme … … 186 191 entrées d'interruption IRQ_IN[0] et IRQ_IN[1] du concentrateur d'interruption '''vci_icu'''. 187 192 193 Po 194 188 195 = 4 Compte-rendu = 189 196