Write conclusion
This commit is contained in:
parent
d784ea7be8
commit
531595ac32
2 changed files with 14 additions and 0 deletions
BIN
rapport.pdf
BIN
rapport.pdf
Binary file not shown.
14
rapport.tex
14
rapport.tex
|
@ -671,4 +671,18 @@
|
|||
|
||||
\section{Conclusion}
|
||||
|
||||
Ce projet nous a permis d'appréhender de multiples composantes d'un programme multitâches complet.
|
||||
|
||||
Avec le langage C, nous avons pu maîtriser toutes les étapes nécessaires, de la synchronisation à la gestion de la transmission de flux caractère par caractère.
|
||||
|
||||
La gestion d'erreur a été une partie fondamentale du développement de l'application.
|
||||
Nous avons en effet choisi de programmer de manière défensive~: tout code de retour des fonctions doit être vérifié, toute branche conditionnelle doit être explorée.
|
||||
Il a également fallu choisir en fonction des cas que faire lors d'une erreur~: quitter le programme, ignorer et reprendre la boucle, fermer une connexion, informer le client\ldots
|
||||
|
||||
Un élément particulièrement délicat à mettre en \oe{}uvre a été la gestion du mutex lors de la réception d'un message.
|
||||
Lors de la boucle de lecture, la fonction \texttt{read} (ou \texttt{recv} en fonction des cas) est bloquante.
|
||||
Si le mutex est verrouillé juste avant, le thread garde la main de manière infinie, que ce soit lors de la lecture ou lors de son attente.
|
||||
|
||||
Ce type de considération à prendre montre les implications à avoir pour un programme multitâches, qui ne se contente pas de faire plusieurs choses en parallèle.
|
||||
|
||||
\end{document}
|
||||
|
|
Loading…
Reference in a new issue