1. Fil directeur de la semaine
La semaine 02 termine la vue d'ensemble du système d'exploitation et commence l'étude de sa première grande abstraction d'exécution : le processus. Le parcours est cohérent :
- une application interagit avec le système par une GUI, une CLI, une API, une bibliothèque ou un programme système;
- dès qu'elle demande une opération protégée, elle passe par un appel système;
- le processeur effectue une transition contrôlée du mode utilisateur vers le mode noyau;
- le noyau gère l'application comme un processus possédant un état CPU, un espace d'adressage et des ressources;
- l'ordonnanceur partage le processeur entre plusieurs processus au moyen de la préemption et des changements de contexte;
- sous Unix,
fork(),exec*()etwait()permettent de créer, transformer et synchroniser des processus; - le laboratoire rend ces mécanismes observables avec le shell,
ps,top, les jobs, les signaux, la compilation C et les vidages mémoire.
Le TP1 reprend directement ces compétences : commandes Linux, permissions, redirections et tubes, compilation, strace, gdb, fork() et script Bash.