Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/05/2006, à 02:32

j0n

Demande de documentations sur les Processus et Threads

Bonsoir,

Je suis actuellement en train de lire "Les systemes d'exploitation" d'A.Tanenbaum et je bloque un peu sur le "concept" de threads .. n'etant pas du tout devellopeur, c'est pas le genre de notion sur lequel je m'etais arreté jusqu'a aujourd'hui !

J'aurais voulu savoir si certains d'entre vous connaissez un (ou plusieurs) site(s) bien documentés sur le sujet, sans que cela tombe dans de la ligne de code (comme je le dis plus haut, je ne suis pas dev, et je sais à peine "lire" le C alors bon...).
Je suis déjà passé sur wikipedia, j'aurais besoin de quelque chose d'un peu plus fournit !

Par avance merci ! smile

jon

Dernière modification par j0n (Le 10/05/2006, à 03:33)

Hors ligne

#2 Le 10/05/2006, à 12:32

Ratur

Re : Demande de documentations sur les Processus et Threads

Tu pouras peut-etre trouver une partie de réponse dans les transparents de mon cours de structure des ordinateurs :
http://www.montefiore.ulg.ac.be/~boigelot/cours/org/slides/cours.pdf

Le chapitre sur les systemes d'exploitation commence p.190, et on parle des processus et des threads (vaguement) p.200

Hors ligne

#3 Le 10/05/2006, à 23:01

j0n

Re : Demande de documentations sur les Processus et Threads

Merci.

Ceci etant, mes interrogations restent sad
Grosso modo, quelles différences y'a t-il entre les Threads ''utilisateur'' et ''noyau''. Pourquoi choisir l'un plus que l'autre ?... Ce genre de chose quoi.

J'ai bien trouvé différents article qui definissent les uns et les autres, mais j'arrive pas à cadrer ce qui fait que l'on va choisir l'un plus ou l'autre, dans quel cas ..etc..!

Jon

Hors ligne

#4 Le 11/05/2006, à 11:58

Sacre

Re : Demande de documentations sur les Processus et Threads

Déjà, tu peux aussi avoir accès aux slides qui nous sont fournis à mon école aussi:

http://reds.heig-vd.ch/form_de_base/SYE/index.php

Le professeur utilise notament le livre dont tu parles comme référence.

Pour ta question, enfait, c'est deux modèles d'implémentation différent.

Soit au niveau de l'utilisateur. Un thread appartenant à un processus dans l'espace utilisateur est géré par le processus lui même. Le processus utilisateur peut avoir plusieurs threads et se charge lui même, par exemple, de l'ordonancement et de la gestion des ressources internes. Les processus restent, quand à eux, ordonnancé par le noyau de l'OS.

Du coup, les threads sont dépendant des changements de contexte du processus.

En pratique, le programmeur a accès a des bibliothèques ecrites spécialement pour la gestion des threads.

L'autre modèle d'implémentation délègue cette gestion au noyau lui même qui les gères un peu à la façon des processus ... et du coup, tous les threads de tous les processus se retrouvent dans le même panier du point de vue de l'ordonnacement etc ... de plus, chaque thread à ce niveau devient visible lors d'appel système.

Du coup, les changements de contexte des processus dépend de l'ordonnancement de l'ensemble des threads.

Sauf erreur, Linux permet les deux systèmes. Il utilise le second pour les threads des processus qui s'exécutent de toute manière en mode noyau et laisse le premier aux programmeurs qui veulent utiliser des threads au sein de leur application.

Il se peut que j'aie raconté des grosses conneries aussi ... mais il me semble que c'est comme ça que ça fonctionne.

Hors ligne

#5 Le 11/05/2006, à 12:16

NicoA380

Re : Demande de documentations sur les Processus et Threads

Et dans la pratique, c'est réputé plus léger (ou moins lourd tongue) de faire des threads utilisateurs que de faire des threads noyaux, car le switch de contexte utilisateur<>noyaux a un coût.

Dernière modification par NicoA380 (Le 11/05/2006, à 12:16)

Hors ligne