274 | | * `thread_bootstrap()`\\se contente de changer l'état du thread élu à `RUNNING` (`sched_switch()` donnera aussi cet état quand le thread sera réélu, mais pour le moment c'est la première fois que le thread est choisi alors on n'est pas revu dans `sched_switch()`. |
275 | | * `thread_launch()` |
276 | | * `thread_start()` |
| 274 | * `thread_bootstrap()`\\se contente de changer l'état du thread élu à `RUNNING` (`sched_switch()` donnera aussi cet état quand le thread sera réélu, mais pour le moment c'est la première fois que le thread est choisi alors on n'est pas revu dans `sched_switch()`),\\puis `thread_bootstrap()` appelle `thread_launch()` en lui donnant 3 arguments : la fonction principale du thread, son argument et la fonction de démarrage du thread. Dans le cas du thread `main()`, les deux premiers arguments sont NULL parce la fonction de démarrage du thread main `_start()` sait ce qu'il faut faire (lancer `main()`) |
| 275 | * `thread_launch()`\\c'est juste l'appel à `eret` après avoir initialisé `c0_EPC` avec l'adresse de la fonction de démarrage du thread. |
| 276 | * `thread_start()` ou `_start()`\\on est dans le code de l'application, on appelle |