100 | | L'appel système '''ioc_completed()''', qui appelle lui-même la fonction système '''_ioc_completed()''' permet au programme utilisateur de se mettre en attente sur la fin d'un transfert. C'est donc une fonction bloquante qui ne rend la main au programme utilisateur que lorsque la variable de synch'onisation '''_ioc_busy''' a repris la valeur 0. |
101 | | |
102 | | '''Question''' : Quelle fonction met la variable '''_ioc_busy''' à 1 ? Quelle fonction remet cette variable à 0 ? QUelles sont les deux services rendus par cette variable de synchronisation ? Dans quel segment doit-elle être rangée? |
| 100 | L'appel système '''ioc_completed()''', qui appelle lui-même la fonction système '''_ioc_completed()''' permet au programme utilisateur de se mettre en attente sur la fin d'un transfert. C'est donc une fonction bloquante qui ne rend la main au programme utilisateur que lorsque le transfert est effectivement terminé. |
| 101 | |
| 102 | '''Question''' : Que se passe-t-il si un programme utilisateur A effectue un appel système '''_ioc_read()''' alors que le contrôleur de disque est déjà en train d'exécuter un transfert à la demande d'un autre programme utilisateur B? |