debug this fifo a formulé la demande :
> Jérémie Bottone wrote:
>
>> - Lent
>
> windows aussi est lent.
Faut, il n'y a qu'à voir le temps pour ouvrir OpenOffice ou Mozilla
sous Windows ou Linux, et on jette Linux
Dans l'ensemble, n'importe quellles t'aches faites sous Windows, par un
utilisateur expérimenté ou pas, sont faites beaucoup plus rapidment,
qu'elles soient locales ou distantes
Pourquoi ? Car Linux est un système bricolé par des bricoleurs, basé
sur du code UNIX datant de 30 ans
Les programmeurs LINUX sont incapable de faire des logiciels terminés
qui fonctionnement bien, d'où e pourquoi du larmoyement et du
pleurnichage perpetuel, de la victimisation même
Alors ils disent: Bouhhhhhh, tous les codes sources doivent être
ouverts !
(Ceci pour éviter de se donner de la peine de développer, et de pouvoir
"pomper" allieurs ce qu'ils sont incapanle de réaliser)
Je hais LINUX et cette mentalité
Microsoft, est une usine de développement, dont il sort des milliers de
logiciels de qualité, s'attirant la jalousie de tous les pingouins du
monde
Le 27-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, Patrick Lamaizière ?crivait dans fr.comp.os.linux.debats :
JKB :
Je te rappelle que tu prétends pouvoir implanter les pthreads en userland sous Windows. Je te repose donc la question : comment fais-tu pour implanter un mécanisme aussi simple qu'un mutex _strictement_ en userland lorsque les mécanismes d'atomicité ne sont pas disponibles à partir d'API sur le système hôte ?
Windows c'est pourri mais y'a quand même des mutex, des threads et tout le tralala utilisable. Qu'est ce qui empêche alors ?
J'ai arrêté de contribuer à Cygwin au debut d'XP (en fait par paresse parce que j'en avais marre de me coltiner des workarounds pour Cygwin et le C/Windows). Il y avait un défaut d'atomicité qui faisait que les mutexes (et les sémaphores parce que le problème est strictement le même) fonctionnaient _presque_.
Bug dans cygwin ou bug dans l'atomicité des mutexes de Windows (ce qui m'étonnerait) ?
Posix (1c et 4) demande une gestion des threads _préemptive_ et c'est là que ça merdoie. Ce n'est pas explicitement indiqué dans les specs, mais sans ça, tu vas avoir du mal à satisfaire aux exigences Posix.
On parlait de la possibilité de le faire en userland sous Windows, après qu'il y ait des bugs c'est un autre débat.
Tant que ce n'est pas _préemptif_, on peut faire en userland parce qu'on maîtrise le coup des changements de threads. Si on veut un ordonnanceur préemptif, c'est un tout autre problème. Ça ne veux absolument pas dire que les mutexes de Windows ont des bugs, simplement que la façon de faire est différente.
En cherchant un peu je suis tombé sur une autre implémentation de pthread avec les services for Unix de MS http://technet.microsoft.com/fr-fr/library/bb463209.aspx#EEAA
Moi ça m'a l'air possible de le faire.
Quelques remarques. Jamais, il n'est fait mention du type d'ordonnanceur. Par ailleurs, lorsque tu as devant toi les sources du noyau Windows, c'est un peu plus facile à implanter dans le cas d'un ordonnanceur _préemptif_. Le problème de Cygwin, c'est que tu dois implanter un truc en aveugle : tu n'as pas la doc du noyau Windows (au moins dans une version assez poussée pour jouer avec l'atomicité) et Posix te demande un certain nombre de choses non implantable en userland (interaction des threads avec les signaux, par exemple).
Il y avait un autre problème inhérent à la présence d'un fork()
Là par contre il n'y a pas d'équivalent sous Windows n'importe comment.
Il y a une raison fondamentale à ça, mais on ne va pas faire dériver le débat...
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
Le 27-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
Patrick Lamaizière ?crivait dans fr.comp.os.linux.debats :
JKB :
Je te rappelle que tu prétends pouvoir implanter les pthreads en
userland sous Windows. Je te repose donc la question : comment fais-tu
pour implanter un mécanisme aussi simple qu'un mutex _strictement_ en
userland lorsque les mécanismes d'atomicité ne sont pas disponibles à
partir d'API sur le système hôte ?
Windows c'est pourri mais y'a quand même des mutex, des threads et tout
le tralala utilisable. Qu'est ce qui empêche alors ?
J'ai arrêté de contribuer à Cygwin au debut d'XP (en fait par
paresse parce que j'en avais marre de me coltiner des workarounds pour
Cygwin et le C/Windows). Il y avait un défaut d'atomicité qui faisait
que les mutexes (et les sémaphores parce que le problème est strictement
le même) fonctionnaient _presque_.
Bug dans cygwin ou bug dans l'atomicité des mutexes de Windows (ce qui
m'étonnerait) ?
Posix (1c et 4) demande une gestion des threads _préemptive_ et
c'est là que ça merdoie. Ce n'est pas explicitement indiqué dans les
specs, mais sans ça, tu vas avoir du mal à satisfaire aux exigences
Posix.
On parlait de la possibilité de le faire en userland sous Windows, après
qu'il y ait des bugs c'est un autre débat.
Tant que ce n'est pas _préemptif_, on peut faire en userland parce
qu'on maîtrise le coup des changements de threads. Si on veut un
ordonnanceur préemptif, c'est un tout autre problème. Ça ne veux
absolument pas dire que les mutexes de Windows ont des bugs, simplement
que la façon de faire est différente.
En cherchant un peu je suis tombé sur une autre implémentation de
pthread avec les services for Unix de MS
http://technet.microsoft.com/fr-fr/library/bb463209.aspx#EEAA
Moi ça m'a l'air possible de le faire.
Quelques remarques. Jamais, il n'est fait mention du type
d'ordonnanceur. Par ailleurs, lorsque tu as devant toi les sources du
noyau Windows, c'est un peu plus facile à implanter dans le cas d'un
ordonnanceur _préemptif_. Le problème de Cygwin, c'est que tu dois
implanter un truc en aveugle : tu n'as pas la doc du noyau Windows (au
moins dans une version assez poussée pour jouer avec l'atomicité) et
Posix te demande un certain nombre de choses non implantable en userland
(interaction des threads avec les signaux, par exemple).
Il y avait un autre problème inhérent à la présence d'un fork()
Là par contre il n'y a pas d'équivalent sous Windows n'importe comment.
Il y a une raison fondamentale à ça, mais on ne va pas faire dériver
le débat...
JKB
--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Le 27-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, Patrick Lamaizière ?crivait dans fr.comp.os.linux.debats :
JKB :
Je te rappelle que tu prétends pouvoir implanter les pthreads en userland sous Windows. Je te repose donc la question : comment fais-tu pour implanter un mécanisme aussi simple qu'un mutex _strictement_ en userland lorsque les mécanismes d'atomicité ne sont pas disponibles à partir d'API sur le système hôte ?
Windows c'est pourri mais y'a quand même des mutex, des threads et tout le tralala utilisable. Qu'est ce qui empêche alors ?
J'ai arrêté de contribuer à Cygwin au debut d'XP (en fait par paresse parce que j'en avais marre de me coltiner des workarounds pour Cygwin et le C/Windows). Il y avait un défaut d'atomicité qui faisait que les mutexes (et les sémaphores parce que le problème est strictement le même) fonctionnaient _presque_.
Bug dans cygwin ou bug dans l'atomicité des mutexes de Windows (ce qui m'étonnerait) ?
Posix (1c et 4) demande une gestion des threads _préemptive_ et c'est là que ça merdoie. Ce n'est pas explicitement indiqué dans les specs, mais sans ça, tu vas avoir du mal à satisfaire aux exigences Posix.
On parlait de la possibilité de le faire en userland sous Windows, après qu'il y ait des bugs c'est un autre débat.
Tant que ce n'est pas _préemptif_, on peut faire en userland parce qu'on maîtrise le coup des changements de threads. Si on veut un ordonnanceur préemptif, c'est un tout autre problème. Ça ne veux absolument pas dire que les mutexes de Windows ont des bugs, simplement que la façon de faire est différente.
En cherchant un peu je suis tombé sur une autre implémentation de pthread avec les services for Unix de MS http://technet.microsoft.com/fr-fr/library/bb463209.aspx#EEAA
Moi ça m'a l'air possible de le faire.
Quelques remarques. Jamais, il n'est fait mention du type d'ordonnanceur. Par ailleurs, lorsque tu as devant toi les sources du noyau Windows, c'est un peu plus facile à implanter dans le cas d'un ordonnanceur _préemptif_. Le problème de Cygwin, c'est que tu dois implanter un truc en aveugle : tu n'as pas la doc du noyau Windows (au moins dans une version assez poussée pour jouer avec l'atomicité) et Posix te demande un certain nombre de choses non implantable en userland (interaction des threads avec les signaux, par exemple).
Il y avait un autre problème inhérent à la présence d'un fork()
Là par contre il n'y a pas d'équivalent sous Windows n'importe comment.
Il y a une raison fondamentale à ça, mais on ne va pas faire dériver le débat...
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
JKB
Le 28-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, Stephane TOUGARD ?crivait dans fr.comp.os.linux.debats :
JKB wrote:
Je te rappelle que tu prétends pouvoir implanter les pthreads en userland sous Windows. Je te repose donc la question : comment fais-tu pour implanter un mécanisme aussi simple qu'un mutex _strictement_ en userland lorsque les mécanismes d'atomicité ne sont pas disponibles à partir d'API sur le système hôte ?
La seule chose que je pretends est que Cygwin n'est pas un emulateur de norme POSIX (et ca, tu as clairement dis le contraire), parce que par definition, on n'emule pas une norme ... on l'implemente.
Moi, je pretends que Cygwin est une implementation (plus ou moins complete) de la norme POSIX. Pour la seule raison que la seule chose qu'on puisse faire avec une norme, c'est de l'implementer.
Le reste, c'est dans tes fantasmes (et je me contrefous de tes mutex en userland, je te parle de la langue francaise la).
Franchement, entre le JKB et le petit Nicolas, il y a vraiment des mecs qui tiennent une sacree couche ici.
Répond à la question au lieu de noyer le poisson.
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
Le 28-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
Stephane TOUGARD ?crivait dans fr.comp.os.linux.debats :
JKB wrote:
Je te rappelle que tu prétends pouvoir implanter les pthreads en
userland sous Windows. Je te repose donc la question : comment fais-tu
pour implanter un mécanisme aussi simple qu'un mutex _strictement_ en
userland lorsque les mécanismes d'atomicité ne sont pas disponibles à
partir d'API sur le système hôte ?
La seule chose que je pretends est que Cygwin n'est pas un emulateur de norme
POSIX (et ca, tu as clairement dis le contraire), parce que par definition,
on n'emule pas une norme ... on l'implemente.
Moi, je pretends que Cygwin est une implementation (plus ou moins
complete) de la norme POSIX. Pour la seule raison que la seule chose
qu'on puisse faire avec une norme, c'est de l'implementer.
Le reste, c'est dans tes fantasmes (et je me contrefous de tes mutex en
userland, je te parle de la langue francaise la).
Franchement, entre le JKB et le petit Nicolas, il y a vraiment des mecs
qui tiennent une sacree couche ici.
Répond à la question au lieu de noyer le poisson.
JKB
--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Le 28-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, Stephane TOUGARD ?crivait dans fr.comp.os.linux.debats :
JKB wrote:
Je te rappelle que tu prétends pouvoir implanter les pthreads en userland sous Windows. Je te repose donc la question : comment fais-tu pour implanter un mécanisme aussi simple qu'un mutex _strictement_ en userland lorsque les mécanismes d'atomicité ne sont pas disponibles à partir d'API sur le système hôte ?
La seule chose que je pretends est que Cygwin n'est pas un emulateur de norme POSIX (et ca, tu as clairement dis le contraire), parce que par definition, on n'emule pas une norme ... on l'implemente.
Moi, je pretends que Cygwin est une implementation (plus ou moins complete) de la norme POSIX. Pour la seule raison que la seule chose qu'on puisse faire avec une norme, c'est de l'implementer.
Le reste, c'est dans tes fantasmes (et je me contrefous de tes mutex en userland, je te parle de la langue francaise la).
Franchement, entre le JKB et le petit Nicolas, il y a vraiment des mecs qui tiennent une sacree couche ici.
Répond à la question au lieu de noyer le poisson.
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
JKB
Le 28-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, Stephane TOUGARD ?crivait dans fr.comp.os.linux.debats :
JKB wrote:
Si en plus tu étais bon techniquement...
T'inquiete pas pour la grand mere. Il y a pas besoin "d'emuler des normes" pour savoir gerer quelques millions d'utilisateurs sur un service informatique.
À leur place, je me méfierais. Depuis que je te lis ici, donc depuis plusieurs années, je ne t'ai encore jamais vu écrire quelque chose d'intelligent. Pour des conneries ou pour noyer le poisson, tu es sacrément bon, pour le reste, tu m'excuseras, mais tu repasseras.
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
Le 28-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
Stephane TOUGARD ?crivait dans fr.comp.os.linux.debats :
JKB wrote:
Si en plus tu étais bon techniquement...
T'inquiete pas pour la grand mere. Il y a pas besoin "d'emuler des normes"
pour savoir gerer quelques millions d'utilisateurs sur un service
informatique.
À leur place, je me méfierais. Depuis que je te lis ici, donc depuis
plusieurs années, je ne t'ai encore jamais vu écrire quelque chose
d'intelligent. Pour des conneries ou pour noyer le poisson, tu es
sacrément bon, pour le reste, tu m'excuseras, mais tu repasseras.
JKB
--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Le 28-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, Stephane TOUGARD ?crivait dans fr.comp.os.linux.debats :
JKB wrote:
Si en plus tu étais bon techniquement...
T'inquiete pas pour la grand mere. Il y a pas besoin "d'emuler des normes" pour savoir gerer quelques millions d'utilisateurs sur un service informatique.
À leur place, je me méfierais. Depuis que je te lis ici, donc depuis plusieurs années, je ne t'ai encore jamais vu écrire quelque chose d'intelligent. Pour des conneries ou pour noyer le poisson, tu es sacrément bon, pour le reste, tu m'excuseras, mais tu repasseras.
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
JKB
Le 28-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, Stephane TOUGARD ?crivait dans fr.comp.os.linux.debats :
JKB wrote:
L'atomicité est inhérente au parallélisme. Dans un environnement parallèle, le développeur doit forcément pouvoir s'assurer l'atomicité des ses sections critiques. Or Il ne peut pas le faire sans avoir à recourir au noyau.
Ssiiiii ! Stéphane Tougard va nous donner une explication et de sa grande hauteur, il va nous donner un exemple de code implantant la libpthread en userland ;-)
Contrairement a toi, je ne pretends pas avoir des connaissances que je n'ai pas.
Si. C'est même exactement ce que tu prétends en te vantant d'avoir bac -1. L'ami google est plein de tes posts à ce sujet.
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
Le 28-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
Stephane TOUGARD ?crivait dans fr.comp.os.linux.debats :
JKB wrote:
L'atomicité est inhérente au parallélisme. Dans un environnement
parallèle, le développeur doit forcément pouvoir s'assurer l'atomicité
des ses sections critiques. Or Il ne peut pas le faire sans avoir à
recourir au noyau.
Ssiiiii ! Stéphane Tougard va nous donner une explication et de sa
grande hauteur, il va nous donner un exemple de code implantant la
libpthread en userland ;-)
Contrairement a toi, je ne pretends pas avoir des connaissances que je
n'ai pas.
Si. C'est même exactement ce que tu prétends en te vantant d'avoir
bac -1. L'ami google est plein de tes posts à ce sujet.
JKB
--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Le 28-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, Stephane TOUGARD ?crivait dans fr.comp.os.linux.debats :
JKB wrote:
L'atomicité est inhérente au parallélisme. Dans un environnement parallèle, le développeur doit forcément pouvoir s'assurer l'atomicité des ses sections critiques. Or Il ne peut pas le faire sans avoir à recourir au noyau.
Ssiiiii ! Stéphane Tougard va nous donner une explication et de sa grande hauteur, il va nous donner un exemple de code implantant la libpthread en userland ;-)
Contrairement a toi, je ne pretends pas avoir des connaissances que je n'ai pas.
Si. C'est même exactement ce que tu prétends en te vantant d'avoir bac -1. L'ami google est plein de tes posts à ce sujet.
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
remy
JKB a écrit :
juste pour le sport et pour relancer le troll jusqu'au vacance, une implémentation hors mutex est probablement hors norme donc pas taper
libereSemaphore() { if (identifiant!=getIdentifiant()) return -1; semaphore--; return semaphore;
}
Marche pas.
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
Le 28-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
juste pour le sport et pour relancer le troll jusqu'au vacance,
une implémentation hors mutex est probablement hors norme donc
pas taper
libereSemaphore()
{
if (identifiant!=getIdentifiant()) return -1;
semaphore--;
return semaphore;
}
Marche pas.
JKB
--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
libereSemaphore() { if (identifiant!=getIdentifiant()) return -1; semaphore--; return semaphore;
}
Marche pas.
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
remy
JKB a écrit :
Le 28-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
juste pour le sport et pour relancer le troll jusqu'au vacance, une implémentation hors mutex est probablement hors norme donc pas taper
libereSemaphore() { if (identifiant!=getIdentifiant()) return -1;
semaphore--; //ressource libre mais pas dispo identifiant =0; //ressource libre et dispo
return semaphore;
}
Marche pas.
en théorie oui mais dans la pratique je ne pense pas que l'on puisse suspendre un processus entre le test d'égalité et l'affectation
il faudrait vérifier au niveau du code micro p
Il n'y a même pas besoin de vérifier. C'est parfaitement possible. On appelle ça l'atomicité du code (et c'est pour cela qu'en C tu as même un truc qui s'appelle sigatomic_t).
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
Le 28-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
Le 28-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
juste pour le sport et pour relancer le troll jusqu'au vacance,
une implémentation hors mutex est probablement hors norme donc
pas taper
libereSemaphore()
{
if (identifiant!=getIdentifiant()) return -1;
semaphore--; //ressource libre mais pas dispo
identifiant =0; //ressource libre et dispo
return semaphore;
}
Marche pas.
en théorie oui mais dans la pratique je ne pense pas que l'on
puisse suspendre un processus entre le test d'égalité et l'affectation
il faudrait vérifier au niveau du code micro p
Il n'y a même pas besoin de vérifier. C'est parfaitement possible.
On appelle ça l'atomicité du code (et c'est pour cela qu'en C tu as même
un truc qui s'appelle sigatomic_t).
JKB
--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
libereSemaphore() { if (identifiant!=getIdentifiant()) return -1;
semaphore--; //ressource libre mais pas dispo identifiant =0; //ressource libre et dispo
return semaphore;
}
Marche pas.
en théorie oui mais dans la pratique je ne pense pas que l'on puisse suspendre un processus entre le test d'égalité et l'affectation
il faudrait vérifier au niveau du code micro p
Il n'y a même pas besoin de vérifier. C'est parfaitement possible. On appelle ça l'atomicité du code (et c'est pour cela qu'en C tu as même un truc qui s'appelle sigatomic_t).
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
remy
JKB a écrit : as.
en théorie oui mais dans la pratique je ne pense pas que l'on puisse suspendre un processus entre le test d'égalité et l'affectation
il faudrait vérifier au niveau du code micro p
Il n'y a même pas besoin de vérifier. C'est parfaitement possible. On appelle ça l'atomicité du code (et c'est pour cela qu'en C tu as même un truc qui s'appelle sigatomic_t).
oui mais si le test et l'affection sont codés en asm avec une seule instruction
hé hé ...
remy
-- http://remyaumeunier.chez-alice.fr/
JKB a écrit :
as.
en théorie oui mais dans la pratique je ne pense pas que l'on
puisse suspendre un processus entre le test d'égalité et l'affectation
il faudrait vérifier au niveau du code micro p
Il n'y a même pas besoin de vérifier. C'est parfaitement possible.
On appelle ça l'atomicité du code (et c'est pour cela qu'en C tu as même
un truc qui s'appelle sigatomic_t).
oui mais si le test et l'affection sont codés en asm avec une seule
instruction
en théorie oui mais dans la pratique je ne pense pas que l'on puisse suspendre un processus entre le test d'égalité et l'affectation
il faudrait vérifier au niveau du code micro p
Il n'y a même pas besoin de vérifier. C'est parfaitement possible. On appelle ça l'atomicité du code (et c'est pour cela qu'en C tu as même un truc qui s'appelle sigatomic_t).
oui mais si le test et l'affection sont codés en asm avec une seule instruction
hé hé ...
remy
-- http://remyaumeunier.chez-alice.fr/
Toxico Nimbus
Le 28/07/2009 10:07, remy a écrit :
semaphore--; //ressource libre mais pas dispo identifiant =0; //ressource libre et dispo
return semaphore;
}
Marche pas.
en théorie oui mais dans la pratique je ne pense pas que l'on puisse suspendre un processus entre le test d'égalité et l'affectation
il faudrait vérifier au niveau du code micro p
À partir du moment ou tu touches à deux variables qui ne peuvent être que dans deux registres différents, il n'y a pas d'atomicité possible. Je ne connais aucun µP qui dispose de ce genre d'opérateur.
-- Toxico Nimbus
Le 28/07/2009 10:07, remy a écrit :
semaphore--; //ressource libre mais pas dispo
identifiant =0; //ressource libre et dispo
return semaphore;
}
Marche pas.
en théorie oui mais dans la pratique je ne pense pas que l'on
puisse suspendre un processus entre le test d'égalité et l'affectation
il faudrait vérifier au niveau du code micro p
À partir du moment ou tu touches à deux variables qui ne peuvent être
que dans deux registres différents, il n'y a pas d'atomicité possible.
Je ne connais aucun µP qui dispose de ce genre d'opérateur.
semaphore--; //ressource libre mais pas dispo identifiant =0; //ressource libre et dispo
return semaphore;
}
Marche pas.
en théorie oui mais dans la pratique je ne pense pas que l'on puisse suspendre un processus entre le test d'égalité et l'affectation
il faudrait vérifier au niveau du code micro p
À partir du moment ou tu touches à deux variables qui ne peuvent être que dans deux registres différents, il n'y a pas d'atomicité possible. Je ne connais aucun µP qui dispose de ce genre d'opérateur.