Changes between Version 23 and Version 24 of AS6-TME-B5


Ignore:
Timestamp:
Feb 21, 2022, 11:48:42 AM (3 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AS6-TME-B5

    v23 v24  
    172172     * la fonction principale du thread (uniquement pour les threads standards, c'est inutile pour le thread `main()`, on sait que c'est `main()`)
    173173     * l'argument du thread (uniquement pour les threads standards, c'est inutile pour le thread `main()`, ce sont en principe des arguments de la ligne de commande (on ne voit pas ça pour le moment).
    174     * Le thread avait déjà été élu et donc il avait perdu le processeur et appelé `thread_save()`. En conséqie
     174    * Le thread avait déjà été élu et donc il avait perdu le processeur et il avait appelé `thread_save()`.
     175      * En conséquence, on sortira de `thread_load()` par `thread_save()` et on revient dans `sched_switch()`.
     176      * Pour qu'on ne rentre pas dans une boucle sans fin, la valeur de retour de `thread_save()` après une restauration de contexte est `0` (alors que c'est `1` après une sauvegarde). On teste donc cette valeur de retour de `thread_save()` pour savoir ce qu'on doit faire ensuite.
     177      * On sort ensuite de `sched_switch()` et on revient dans `thread_yield()` (actuellement c'est le seul cas, mais nous verrons d'autres fonctions appelant `sched_switch()`.
     178      * Après, on revient dans un syscall ou dans l'ISR du timer, suivant l'événement qui avait abouti à la perte du processeur par le thread courrant.
     179   
    175180'''
    176181}}}