Académique Documents
Professionnel Documents
Culture Documents
2021-2022
FILS (THREADS)
Concepts importants
Threads et processus: différence
Séparés
Exemple
Le processus MS-Word peut impliquer plusieurs
threads:
Interaction avec le clavier
Rangement de caractères sur la page
Sauvegarde régulière du travail fait
Contrôle orthographe
Etc.
Ces threads partagent tous le même fichier .doc et
autres données
Threads et processus
Processus
Possède sa mémoire, ses fichiers, ses
ressources, etc.
variables locales
Processus monoprogrammé
Processus multiprogrammé
Un processus lourd contenant plusieurs fils
d'exécution est dit multiprogrammé : l'exécution du
code est réalisée par les différents fils d'exécution.
Processus multiprogrammé
Threads de noyau (kernel) et
d’utilisateur
Où implémenter les threads:
Solutions mixtes
Threads de noyau (kernel) et
d’utilisateur
Threads de noyau
Threads de noyau: supportés directement par le noyau du SE
(Windows, Solaris)
les ops sur les threads sont des appels au système
le noyau est capable de gérer directement les états des threads
Il peut affecter différents threads à différentes UCTs
Exemples
Windows XP/2000
Solaris
Linux
Tru64 UNIX
Mac OS X
Threads d’utilisateur
Threads d’utilisateur: supportés par des bibliothèques
d’usager ou le langage de prog (p.ex Java)
les ops sur les threads ne demandent pas des appels du
système
sont gérées par le système d’exécution du langage de
programmation (p.ex. Java)
le noyau ne peut pas les gérer directement
Exemple:
Pthreads
Threads Java
Threads Win32
Avantages des threads utilisateur
pas d’appels système pour leur gestion
commutation rapide
on peut fixer l’ordonnancement (ex : bien avec
un gc)
Inconvénients des threads utilisateur
usager
noyau
usager
noyau
usager
noyau
PCB du proc