Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 03/02/2010, 19h16   #1
Candidat au titre de Membre du Club
 
Inscription : juillet 2009
Messages : 79
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations forums :
Inscription : juillet 2009
Messages : 79
Points : 11
Points : 11
Par défaut les inter-blocages dans unix

salut tout le monde!
je suis en train de lire un cours sur les interblocages dans unix
je veux juste savoir les conséquences d'un inter-blocage sur les processus qui sont en dehors des cycles d'inter-blocage?càd ceux qui demandent des ressources qui sont dans la boucle d'inter-blocage?
merci d'avance!
vamos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2010, 10h16   #2
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 129
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 129
Points : 8 749
Points : 8 749
Bonjour,

Ca va dependre de la priorite de tes processus, ainsi que des ressources qu'ils consomment.

Exemple 1 : Tes 2 processus sont des processus de calcul, qui continuent a calculer s'ils sont bloques (calcul de sinus par exemple).
Tu as donc 2 processus interbloques, mais qui sont consommateurs de CPU. Tu vas donc limiter les ressources CPU pour les autres processus, mais qui auront eux aussi le droit de s'executer.

[HS pour aller un peu plus loin]
Ici, ca va dependre de l'algorithme utilise par l'ordonnanceur de ton OS : si l'algo utilise est "Un quantum par processus qui demande, puis retour du processus a la fin de la queue", tu as bien le cas cite ci-dessus.
Mais si l'algo est "Plus un processus est vieux, moins je lui donne de temps CPU", ou son inverse "Plus il est vieux, plus il a de temps", les comportements seront differents :
Dans le premier cas, ton interblocage va utiliser de moins en moins de CPU, et son effet sur la machine sera donc amoindri avec le temps.
Dans le second cas, ton interblocage va etre de plus en plus genant, jusqu'a bloquer la machine completement.
[Fin du HS]

2 eme cas : tes processus ne font rien que de demander le semaphore
Dans ce cas, l'etat de tes processus (dans la file d'attente du processeur) sera toujours "non pret". Dans ce cas, l'ordonnanceur ne les charge meme pas sur le CPU, qui est donc entierement libre pour les autres processus.
Attention, cela ne reste vrai tant que tes 2 processus ne consomment pas trop de ressources, ou que tu n'as que 2 processus intrebloques.
Si tu as trop de processus interbloques, cela aura tout de meme un impact sur les performances du systeme (ce qui est logiqe car il doit a chaque instant gerer tes centaines ou tes milliers de processus pour verifier si leur etat change ou non).
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 08h09.


 
 
 
 
Partenaires

Hébergement Web