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 30-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, remy ?crivait dans fr.comp.os.linux.debats :
Michel Talon a écrit :
Doug713705 wrote:
Le Wed, 29 Jul 2009 17:34:23 +0800, Stephane TOUGARD a gâché de la bande passante pour nous écrire :
Si ca peut te faire plaisir. Mais comme le disait un autre intervenant. On s'en fout. On emule ni ne simule une norme, on l'implemente.
De ce que j'en comprend et sans vouloir prendre parti ni foutre le bordel dans vos chamailleries, pour pouvoir implémenter la norme POSIX sous Windows il faut émuler en userland certains comportements qui devraient avoir lieu en kernelland car l'absence du code source du noyau de Windows empèche cette implémentation en kernelland seul.
la différence essentielle dans l'architecture cygwin c'est que la jmv émule un hard virtuel, mais cela ne change pas grand chose à mon avis
Ben si, ça change tout. Tu le dit toi même, tu as une machine _virtuelle_ avec tout ce que ça implique. De la même manière, tu peux avoir un bazar qemu ou bochs totalement userland qui fait tourner un OS qui lui a de nouveau une partie userland et kernelland. Cygwin n'est pas un OS, c'est un ensemble de bibliothèques qui restent en userland.
à moins que bien sûr il existe une fonctionnalité dans les threads posix qui n'existent pas dans les threads java
ce qui implique à mon avis cygwin fait comme java il redécoupe en sous ensemble non vérifier bien sur
Non.
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 30-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
remy ?crivait dans fr.comp.os.linux.debats :
Michel Talon a écrit :
Doug713705 <doug.letough@free.fr> wrote:
Le Wed, 29 Jul 2009 17:34:23 +0800, Stephane TOUGARD a gâché de la bande
passante pour nous écrire :
Si ca peut te faire plaisir. Mais comme le disait un autre intervenant.
On s'en fout. On emule ni ne simule une norme, on l'implemente.
De ce que j'en comprend et sans vouloir prendre parti ni foutre le
bordel dans vos chamailleries, pour pouvoir implémenter la norme POSIX
sous Windows il faut émuler en userland certains comportements qui
devraient avoir lieu en kernelland car l'absence du code source du noyau
de Windows empèche cette implémentation en kernelland seul.
la différence essentielle dans l'architecture cygwin c'est que la jmv
émule un hard virtuel, mais cela ne change pas grand chose à mon avis
Ben si, ça change tout. Tu le dit toi même, tu as une machine
_virtuelle_ avec tout ce que ça implique. De la même manière, tu peux
avoir un bazar qemu ou bochs totalement userland qui fait tourner un OS
qui lui a de nouveau une partie userland et kernelland. Cygwin n'est pas
un OS, c'est un ensemble de bibliothèques qui restent en userland.
à moins que bien sûr il existe une fonctionnalité dans les threads
posix qui n'existent pas dans les threads java
ce qui implique à mon avis cygwin fait comme java il redécoupe
en sous ensemble non vérifier bien sur
Non.
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 30-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, remy ?crivait dans fr.comp.os.linux.debats :
Michel Talon a écrit :
Doug713705 wrote:
Le Wed, 29 Jul 2009 17:34:23 +0800, Stephane TOUGARD a gâché de la bande passante pour nous écrire :
Si ca peut te faire plaisir. Mais comme le disait un autre intervenant. On s'en fout. On emule ni ne simule une norme, on l'implemente.
De ce que j'en comprend et sans vouloir prendre parti ni foutre le bordel dans vos chamailleries, pour pouvoir implémenter la norme POSIX sous Windows il faut émuler en userland certains comportements qui devraient avoir lieu en kernelland car l'absence du code source du noyau de Windows empèche cette implémentation en kernelland seul.
la différence essentielle dans l'architecture cygwin c'est que la jmv émule un hard virtuel, mais cela ne change pas grand chose à mon avis
Ben si, ça change tout. Tu le dit toi même, tu as une machine _virtuelle_ avec tout ce que ça implique. De la même manière, tu peux avoir un bazar qemu ou bochs totalement userland qui fait tourner un OS qui lui a de nouveau une partie userland et kernelland. Cygwin n'est pas un OS, c'est un ensemble de bibliothèques qui restent en userland.
à moins que bien sûr il existe une fonctionnalité dans les threads posix qui n'existent pas dans les threads java
ce qui implique à mon avis cygwin fait comme java il redécoupe en sous ensemble non vérifier bien sur
Non.
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 :
ce qui implique à mon avis cygwin fait comme java il redécoupe en sous ensemble non vérifier bien sur
Non.
un peu court il faut tenir jusqu'à vendredi
une copie d'écran du gestionnaire de tâches de windows ou l'url d'un tout petit programme multi thread pour cygwin donc avec un bout de code source histoire de voir les .h
en cherchant bien, je pense en trouver un cygwin qui traine là où je bosse par contre je ne garantie pas la fraîcheur du truc
remy
JKB
-- http://remyaumeunier.chez-alice.fr/
JKB a écrit :
ce qui implique à mon avis cygwin fait comme java il redécoupe
en sous ensemble non vérifier bien sur
Non.
un peu court il faut tenir jusqu'à vendredi
une copie d'écran du gestionnaire de tâches de windows
ou l'url d'un tout petit programme multi thread pour cygwin
donc avec un bout de code source histoire de voir les .h
en cherchant bien, je pense en trouver un cygwin qui traine là où je
bosse par contre je ne garantie pas la fraîcheur du truc
ce qui implique à mon avis cygwin fait comme java il redécoupe en sous ensemble non vérifier bien sur
Non.
un peu court il faut tenir jusqu'à vendredi
une copie d'écran du gestionnaire de tâches de windows ou l'url d'un tout petit programme multi thread pour cygwin donc avec un bout de code source histoire de voir les .h
en cherchant bien, je pense en trouver un cygwin qui traine là où je bosse par contre je ne garantie pas la fraîcheur du truc
remy
JKB
-- http://remyaumeunier.chez-alice.fr/
JKB
Le 30-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
ce qui implique à mon avis cygwin fait comme java il redécoupe en sous ensemble non vérifier bien sur
Non.
un peu court il faut tenir jusqu'à vendredi
Le non, c'est pour le 'cygwin fait comme java'. Java est une _machine virtuelle_. En gros (pour faire simple), c'est un émulateur d'une machine _complète_ avec son OS. Dans la JVM, tu as l'équivalent du kernelland de l'OS avec une API complète de gestion des threads. L'atomicité (qui est restreinte à la JVM) est limitée à ce qui tourne dans la JVM (ça suffit, tu n'as pas besoin de garantir l'atomicité vis à vis du reste). Cygwin n'implante pas de machine virtuelle et il n'y a pas de bout d'implantation de threads en mode kernel parce que c'est impossible sans les sources ou la documentation du noyau Windows. Les deux approches sont donc orthogonales. Comparer l'une à l'autre est aberrant.
En d'autres termes, lorsque tu lances une application Java, tu la fais tourner dans une machine virtuelle. Si tu lances un exécutable Cygwin, il tourne sous Windows avec les limitations imposées par le noyau Windows (et les bibliothèques Cygwin qui sont en userland).
une copie d'écran du gestionnaire de tâches de windows ou l'url d'un tout petit programme multi thread pour cygwin donc avec un bout de code source histoire de voir les .h
Je n'en vois pas l'intérêt. De toute façon, j'ai déjà dit que j'ai arrêté de contribuer au truc au début de XP, ce qui est en peu lointain. Je me penche de temps en temps sur Cygwin lorsque je n'ai pas le choix, mais je n'ai même plus de machine Windows sous la main.
en cherchant bien, je pense en trouver un cygwin qui traine là où je bosse par contre je ne garantie pas la fraîcheur du truc
Et alors ? L'intérêt de Cygwin, c'est d'être une application et non une machine virtuelle. Le tout est de comprendre les avantages et inconvénients des deux approches.
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 30-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
ce qui implique à mon avis cygwin fait comme java il redécoupe
en sous ensemble non vérifier bien sur
Non.
un peu court il faut tenir jusqu'à vendredi
Le non, c'est pour le 'cygwin fait comme java'. Java est une
_machine virtuelle_. En gros (pour faire simple), c'est un émulateur
d'une machine _complète_ avec son OS. Dans la JVM, tu as l'équivalent du
kernelland de l'OS avec une API complète de gestion des threads.
L'atomicité (qui est restreinte à la JVM) est limitée à ce qui tourne
dans la JVM (ça suffit, tu n'as pas besoin de garantir l'atomicité vis à
vis du reste). Cygwin n'implante pas de machine virtuelle et il n'y a
pas de bout d'implantation de threads en mode kernel parce que c'est
impossible sans les sources ou la documentation du noyau Windows. Les
deux approches sont donc orthogonales. Comparer l'une à l'autre est
aberrant.
En d'autres termes, lorsque tu lances une application Java, tu la
fais tourner dans une machine virtuelle. Si tu lances un exécutable
Cygwin, il tourne sous Windows avec les limitations imposées par le
noyau Windows (et les bibliothèques Cygwin qui sont en userland).
une copie d'écran du gestionnaire de tâches de windows
ou l'url d'un tout petit programme multi thread pour cygwin
donc avec un bout de code source histoire de voir les .h
Je n'en vois pas l'intérêt. De toute façon, j'ai déjà dit que j'ai
arrêté de contribuer au truc au début de XP, ce qui est en peu lointain.
Je me penche de temps en temps sur Cygwin lorsque je n'ai pas le choix,
mais je n'ai même plus de machine Windows sous la main.
en cherchant bien, je pense en trouver un cygwin qui traine là où je
bosse par contre je ne garantie pas la fraîcheur du truc
Et alors ? L'intérêt de Cygwin, c'est d'être une application et non
une machine virtuelle. Le tout est de comprendre les avantages et
inconvénients des deux approches.
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 30-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
ce qui implique à mon avis cygwin fait comme java il redécoupe en sous ensemble non vérifier bien sur
Non.
un peu court il faut tenir jusqu'à vendredi
Le non, c'est pour le 'cygwin fait comme java'. Java est une _machine virtuelle_. En gros (pour faire simple), c'est un émulateur d'une machine _complète_ avec son OS. Dans la JVM, tu as l'équivalent du kernelland de l'OS avec une API complète de gestion des threads. L'atomicité (qui est restreinte à la JVM) est limitée à ce qui tourne dans la JVM (ça suffit, tu n'as pas besoin de garantir l'atomicité vis à vis du reste). Cygwin n'implante pas de machine virtuelle et il n'y a pas de bout d'implantation de threads en mode kernel parce que c'est impossible sans les sources ou la documentation du noyau Windows. Les deux approches sont donc orthogonales. Comparer l'une à l'autre est aberrant.
En d'autres termes, lorsque tu lances une application Java, tu la fais tourner dans une machine virtuelle. Si tu lances un exécutable Cygwin, il tourne sous Windows avec les limitations imposées par le noyau Windows (et les bibliothèques Cygwin qui sont en userland).
une copie d'écran du gestionnaire de tâches de windows ou l'url d'un tout petit programme multi thread pour cygwin donc avec un bout de code source histoire de voir les .h
Je n'en vois pas l'intérêt. De toute façon, j'ai déjà dit que j'ai arrêté de contribuer au truc au début de XP, ce qui est en peu lointain. Je me penche de temps en temps sur Cygwin lorsque je n'ai pas le choix, mais je n'ai même plus de machine Windows sous la main.
en cherchant bien, je pense en trouver un cygwin qui traine là où je bosse par contre je ne garantie pas la fraîcheur du truc
Et alors ? L'intérêt de Cygwin, c'est d'être une application et non une machine virtuelle. Le tout est de comprendre les avantages et inconvénients des deux approches.
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 :
En d'autres termes, lorsque tu lances une application Java, tu la fais tourner dans une machine virtuelle. Si tu lances un exécutable Cygwin, il tourne sous Windows avec les limitations imposées par le noyau Windows (et les bibliothèques Cygwin qui sont en userland).
limitation limitation c'est vite dit dans cygwin
sleep 60 & sleep 60
http://cjoint.com/data/hEktVPyBuG.htm
j'ai bien 2 processus du coup je me demande si j'ai pas raconté des conneries sur la gestion des threads sous java j'ai comme un doute sur ce coup là
remy
-- http://remyaumeunier.chez-alice.fr/
JKB a écrit :
En d'autres termes, lorsque tu lances une application Java, tu la
fais tourner dans une machine virtuelle. Si tu lances un exécutable
Cygwin, il tourne sous Windows avec les limitations imposées par le
noyau Windows (et les bibliothèques Cygwin qui sont en userland).
limitation limitation c'est vite dit
dans cygwin
sleep 60 & sleep 60
http://cjoint.com/data/hEktVPyBuG.htm
j'ai bien 2 processus du coup je me demande si j'ai pas raconté des
conneries sur la gestion des threads sous java
j'ai comme un doute sur ce coup là
En d'autres termes, lorsque tu lances une application Java, tu la fais tourner dans une machine virtuelle. Si tu lances un exécutable Cygwin, il tourne sous Windows avec les limitations imposées par le noyau Windows (et les bibliothèques Cygwin qui sont en userland).
limitation limitation c'est vite dit dans cygwin
sleep 60 & sleep 60
http://cjoint.com/data/hEktVPyBuG.htm
j'ai bien 2 processus du coup je me demande si j'ai pas raconté des conneries sur la gestion des threads sous java j'ai comme un doute sur ce coup là
remy
-- http://remyaumeunier.chez-alice.fr/
JKB
Le 30-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
En d'autres termes, lorsque tu lances une application Java, tu la fais tourner dans une machine virtuelle. Si tu lances un exécutable Cygwin, il tourne sous Windows avec les limitations imposées par le noyau Windows (et les bibliothèques Cygwin qui sont en userland).
limitation limitation c'est vite dit dans cygwin
sleep 60 & sleep 60
http://cjoint.com/data/hEktVPyBuG.htm
Peux-tu m'expliquer ce qu'est le rapport avec la choucroute ? Tu vois tes deux processus, c'est normal (si c'était une machine virtuelle, tu ne verrais que ta machine virtuelle).
sleep peut s'implanter de tas de façons différentes (ça va d'une bête boucle à des trucs sournois qui mettent en oeuvre des interruptions et des times). Si tu dois être précis, il vaut mieux qu'il soit en kernelland, mais tu peux très bien le coller en userland en bricolant un peu. C'est moins précis, mais ça passe tout à fait.
Bref, je ne vois pas ce que tu cherches à montrer.
j'ai bien 2 processus du coup je me demande si j'ai pas raconté des conneries sur la gestion des threads sous java j'ai comme un doute sur ce coup là
Si...
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 30-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
En d'autres termes, lorsque tu lances une application Java, tu la
fais tourner dans une machine virtuelle. Si tu lances un exécutable
Cygwin, il tourne sous Windows avec les limitations imposées par le
noyau Windows (et les bibliothèques Cygwin qui sont en userland).
limitation limitation c'est vite dit
dans cygwin
sleep 60 & sleep 60
http://cjoint.com/data/hEktVPyBuG.htm
Peux-tu m'expliquer ce qu'est le rapport avec la choucroute ?
Tu vois tes deux processus, c'est normal (si c'était une machine
virtuelle, tu ne verrais que ta machine virtuelle).
sleep peut s'implanter de tas de façons différentes (ça va d'une
bête boucle à des trucs sournois qui mettent en oeuvre des interruptions
et des times). Si tu dois être précis, il vaut mieux qu'il soit en
kernelland, mais tu peux très bien le coller en userland en bricolant
un peu. C'est moins précis, mais ça passe tout à fait.
Bref, je ne vois pas ce que tu cherches à montrer.
j'ai bien 2 processus du coup je me demande si j'ai pas raconté des
conneries sur la gestion des threads sous java
j'ai comme un doute sur ce coup là
Si...
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 30-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
En d'autres termes, lorsque tu lances une application Java, tu la fais tourner dans une machine virtuelle. Si tu lances un exécutable Cygwin, il tourne sous Windows avec les limitations imposées par le noyau Windows (et les bibliothèques Cygwin qui sont en userland).
limitation limitation c'est vite dit dans cygwin
sleep 60 & sleep 60
http://cjoint.com/data/hEktVPyBuG.htm
Peux-tu m'expliquer ce qu'est le rapport avec la choucroute ? Tu vois tes deux processus, c'est normal (si c'était une machine virtuelle, tu ne verrais que ta machine virtuelle).
sleep peut s'implanter de tas de façons différentes (ça va d'une bête boucle à des trucs sournois qui mettent en oeuvre des interruptions et des times). Si tu dois être précis, il vaut mieux qu'il soit en kernelland, mais tu peux très bien le coller en userland en bricolant un peu. C'est moins précis, mais ça passe tout à fait.
Bref, je ne vois pas ce que tu cherches à montrer.
j'ai bien 2 processus du coup je me demande si j'ai pas raconté des conneries sur la gestion des threads sous java j'ai comme un doute sur ce coup là
Si...
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 30-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
En d'autres termes, lorsque tu lances une application Java, tu la fais tourner dans une machine virtuelle. Si tu lances un exécutable Cygwin, il tourne sous Windows avec les limitations imposées par le noyau Windows (et les bibliothèques Cygwin qui sont en userland).
limitation limitation c'est vite dit dans cygwin
sleep 60 & sleep 60
http://cjoint.com/data/hEktVPyBuG.htm
Peux-tu m'expliquer ce qu'est le rapport avec la choucroute ?
import java.lang.Thread;
public class exemple extends Thread { String txt; public exemple( String txt) { this.txt=txt; } public void run() {
} public static void main(String args[]) throws InterruptedException { Thread T1 = new exemple ("t1");
Thread T2 = new exemple ("t2");
T1.start(); T2.start();
} }
javac exemple.java java exemple dans une autre console
:~$ ps -xa |grep java Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html 14756 pts/0 Sl 0:00 java exemple 14827 pts/1 R+ 0:00 grep java
donc d'un côté 1 processus 2 threads userland le code java sous linux et de l'autre sous windows 2 processus, bon ok pas 2 threads mais des forck, les sleep mais il y a bien gestion des processus sous cygwin donc il passe par windows et non pas par une émulation d'une fonctionnalité du noyau en usr
il reste pour clore complètement le débat un bout de code qui utilise vraiment des threads sous cygwin et non pas mon test avec les forck à toi de trouver un exemple remy
-- http://remyaumeunier.chez-alice.fr/
JKB a écrit :
Le 30-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
En d'autres termes, lorsque tu lances une application Java, tu la
fais tourner dans une machine virtuelle. Si tu lances un exécutable
Cygwin, il tourne sous Windows avec les limitations imposées par le
noyau Windows (et les bibliothèques Cygwin qui sont en userland).
limitation limitation c'est vite dit
dans cygwin
sleep 60 & sleep 60
http://cjoint.com/data/hEktVPyBuG.htm
Peux-tu m'expliquer ce qu'est le rapport avec la choucroute ?
import java.lang.Thread;
public class exemple extends Thread
{
String txt;
public exemple( String txt)
{
this.txt=txt;
}
public void run()
{
}
public static void main(String args[]) throws InterruptedException
{
Thread T1 = new exemple ("t1");
Thread T2 = new exemple ("t2");
T1.start();
T2.start();
}
}
javac exemple.java
java exemple
dans une autre console
remy@remy-desktop:~$ ps -xa |grep java
Warning: bad ps syntax, perhaps a bogus '-'? See
http://procps.sf.net/faq.html
14756 pts/0 Sl 0:00 java exemple
14827 pts/1 R+ 0:00 grep java
donc d'un côté 1 processus 2 threads userland le code java sous linux
et de l'autre sous windows 2 processus, bon ok pas 2 threads mais des
forck, les sleep
mais il y a bien gestion des processus sous cygwin donc il passe par
windows et non pas par une émulation d'une fonctionnalité du noyau en usr
il reste pour clore complètement le débat un bout de code qui utilise
vraiment des threads sous cygwin et non pas mon test avec les forck
à toi de trouver un exemple
remy
Le 30-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
En d'autres termes, lorsque tu lances une application Java, tu la fais tourner dans une machine virtuelle. Si tu lances un exécutable Cygwin, il tourne sous Windows avec les limitations imposées par le noyau Windows (et les bibliothèques Cygwin qui sont en userland).
limitation limitation c'est vite dit dans cygwin
sleep 60 & sleep 60
http://cjoint.com/data/hEktVPyBuG.htm
Peux-tu m'expliquer ce qu'est le rapport avec la choucroute ?
import java.lang.Thread;
public class exemple extends Thread { String txt; public exemple( String txt) { this.txt=txt; } public void run() {
} public static void main(String args[]) throws InterruptedException { Thread T1 = new exemple ("t1");
Thread T2 = new exemple ("t2");
T1.start(); T2.start();
} }
javac exemple.java java exemple dans une autre console
:~$ ps -xa |grep java Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html 14756 pts/0 Sl 0:00 java exemple 14827 pts/1 R+ 0:00 grep java
donc d'un côté 1 processus 2 threads userland le code java sous linux et de l'autre sous windows 2 processus, bon ok pas 2 threads mais des forck, les sleep mais il y a bien gestion des processus sous cygwin donc il passe par windows et non pas par une émulation d'une fonctionnalité du noyau en usr
il reste pour clore complètement le débat un bout de code qui utilise vraiment des threads sous cygwin et non pas mon test avec les forck à toi de trouver un exemple remy
-- http://remyaumeunier.chez-alice.fr/
Bruno Ducrot
On 2009-07-29, Toxico Nimbus wrote:
Le 29/07/2009 14:09, Nicolas George a écrit :
JKB , dans le message, a écrit :
Des bibliothèques (logicielles s'entend) ne s'émulent pas. Elles sont mises en oeuvre, ou implémentées.
On est d'accord et j'ai dit que c'était un raccourci de langage dans le sens où on ne peut pas prétendre implanter les specs Posix en userland.
Je pense que tu t'égares un peu en insistant sur la distinction kernelspace / userland. Par exemple, sur un micro-noyau convenablement conçu, on peut parfaitement implémenter POSIX en userland.
Quelque soit le noyau, POSIX n'est implémentable correctement que si le noyau fournit le moyen de garantir l'atomicité de n'importe quelle portion de code, plus des signaux et des sémaphores compatibles avec ceux de la spécification. A partir de là, tout le reste doit être implémentable. Je ne vois ici aucun rapport au type de noyau.
Dans le cas d'un micro-noyau, on peut tres bien imagine avoir un serveur tel qu'un lock manager (qui sera forcement en userspace) qui pourra guarantir les portions critiques d'un process.
-- Bruno Ducrot
-- Which is worse: ignorance or apathy? -- Don't know. Don't care.
On 2009-07-29, Toxico Nimbus wrote:
Le 29/07/2009 14:09, Nicolas George a écrit :
JKB , dans le message<slrnh708q1.30h.knatschke@rayleigh.systella.fr>, a
écrit :
Des bibliothèques (logicielles s'entend) ne s'émulent pas. Elles sont
mises en oeuvre, ou implémentées.
On est d'accord et j'ai dit que c'était un raccourci de langage dans
le sens où on ne peut pas prétendre implanter les specs Posix en
userland.
Je pense que tu t'égares un peu en insistant sur la distinction kernelspace
/ userland. Par exemple, sur un micro-noyau convenablement conçu, on peut
parfaitement implémenter POSIX en userland.
Quelque soit le noyau, POSIX n'est implémentable correctement que si le
noyau fournit le moyen de garantir l'atomicité de n'importe quelle
portion de code, plus des signaux et des sémaphores compatibles avec
ceux de la spécification. A partir de là, tout le reste doit être
implémentable.
Je ne vois ici aucun rapport au type de noyau.
Dans le cas d'un micro-noyau, on peut tres bien imagine avoir un
serveur tel qu'un lock manager (qui sera forcement en userspace)
qui pourra guarantir les portions critiques d'un process.
--
Bruno Ducrot
-- Which is worse: ignorance or apathy?
-- Don't know. Don't care.
Des bibliothèques (logicielles s'entend) ne s'émulent pas. Elles sont mises en oeuvre, ou implémentées.
On est d'accord et j'ai dit que c'était un raccourci de langage dans le sens où on ne peut pas prétendre implanter les specs Posix en userland.
Je pense que tu t'égares un peu en insistant sur la distinction kernelspace / userland. Par exemple, sur un micro-noyau convenablement conçu, on peut parfaitement implémenter POSIX en userland.
Quelque soit le noyau, POSIX n'est implémentable correctement que si le noyau fournit le moyen de garantir l'atomicité de n'importe quelle portion de code, plus des signaux et des sémaphores compatibles avec ceux de la spécification. A partir de là, tout le reste doit être implémentable. Je ne vois ici aucun rapport au type de noyau.
Dans le cas d'un micro-noyau, on peut tres bien imagine avoir un serveur tel qu'un lock manager (qui sera forcement en userspace) qui pourra guarantir les portions critiques d'un process.
-- Bruno Ducrot
-- Which is worse: ignorance or apathy? -- Don't know. Don't care.
JKB
Le 30-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
Le 30-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
En d'autres termes, lorsque tu lances une application Java, tu la fais tourner dans une machine virtuelle. Si tu lances un exécutable Cygwin, il tourne sous Windows avec les limitations imposées par le noyau Windows (et les bibliothèques Cygwin qui sont en userland).
limitation limitation c'est vite dit dans cygwin
sleep 60 & sleep 60
http://cjoint.com/data/hEktVPyBuG.htm
Peux-tu m'expliquer ce qu'est le rapport avec la choucroute ?
import java.lang.Thread;
public class exemple extends Thread { String txt; public exemple( String txt) { this.txt=txt; } public void run() {
} public static void main(String args[]) throws InterruptedException { Thread T1 = new exemple ("t1");
Thread T2 = new exemple ("t2");
T1.start(); T2.start();
} }
javac exemple.java java exemple dans une autre console
:~$ ps -xa |grep java Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html 14756 pts/0 Sl 0:00 java exemple 14827 pts/1 R+ 0:00 grep java
donc d'un côté 1 processus 2 threads userland le code java sous linux et de l'autre sous windows 2 processus, bon ok pas 2 threads mais des forck, les sleep mais il y a bien gestion des processus sous cygwin donc il passe par windows et non pas par une émulation d'une fonctionnalité du noyau en usr
Exprime-toi correctement parce qu'il faut te lire plusieurs fois pour essayer de comprendre ce que tu veux bien dire.
D'un côté, tu as une machine virtuelle, l'exécutable 'java' qui lui, exécute ton programme java. Il n'est pas exécuté directement. Je ne vois toujours pas ce que tu cherches à montrer vu qu'on parle de deux choses totalement différentes. Lorsque tu lances un exécutable cygwin, tu le lances directement, sans passer par une machine virtuelle qui réimplante un tas de trucs.
il reste pour clore complètement le débat un bout de code qui utilise vraiment des threads sous cygwin et non pas mon test avec les forck à toi de trouver un exemple
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 30-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
Le 30-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
En d'autres termes, lorsque tu lances une application Java, tu la
fais tourner dans une machine virtuelle. Si tu lances un exécutable
Cygwin, il tourne sous Windows avec les limitations imposées par le
noyau Windows (et les bibliothèques Cygwin qui sont en userland).
limitation limitation c'est vite dit
dans cygwin
sleep 60 & sleep 60
http://cjoint.com/data/hEktVPyBuG.htm
Peux-tu m'expliquer ce qu'est le rapport avec la choucroute ?
import java.lang.Thread;
public class exemple extends Thread
{
String txt;
public exemple( String txt)
{
this.txt=txt;
}
public void run()
{
}
public static void main(String args[]) throws InterruptedException
{
Thread T1 = new exemple ("t1");
Thread T2 = new exemple ("t2");
T1.start();
T2.start();
}
}
javac exemple.java
java exemple
dans une autre console
remy@remy-desktop:~$ ps -xa |grep java
Warning: bad ps syntax, perhaps a bogus '-'? See
http://procps.sf.net/faq.html
14756 pts/0 Sl 0:00 java exemple
14827 pts/1 R+ 0:00 grep java
donc d'un côté 1 processus 2 threads userland le code java sous linux
et de l'autre sous windows 2 processus, bon ok pas 2 threads mais des
forck, les sleep
mais il y a bien gestion des processus sous cygwin donc il passe par
windows et non pas par une émulation d'une fonctionnalité du noyau en usr
Exprime-toi correctement parce qu'il faut te lire plusieurs fois
pour essayer de comprendre ce que tu veux bien dire.
D'un côté, tu as une machine virtuelle, l'exécutable 'java' qui lui,
exécute ton programme java. Il n'est pas exécuté directement. Je ne vois
toujours pas ce que tu cherches à montrer vu qu'on parle de deux choses
totalement différentes. Lorsque tu lances un exécutable cygwin, tu le
lances directement, sans passer par une machine virtuelle qui réimplante
un tas de trucs.
il reste pour clore complètement le débat un bout de code qui utilise
vraiment des threads sous cygwin et non pas mon test avec les forck
à toi de trouver un exemple
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 30-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
Le 30-07-2009, ? propos de Re: Windows est rapide, Microsoft est meilleure, remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
En d'autres termes, lorsque tu lances une application Java, tu la fais tourner dans une machine virtuelle. Si tu lances un exécutable Cygwin, il tourne sous Windows avec les limitations imposées par le noyau Windows (et les bibliothèques Cygwin qui sont en userland).
limitation limitation c'est vite dit dans cygwin
sleep 60 & sleep 60
http://cjoint.com/data/hEktVPyBuG.htm
Peux-tu m'expliquer ce qu'est le rapport avec la choucroute ?
import java.lang.Thread;
public class exemple extends Thread { String txt; public exemple( String txt) { this.txt=txt; } public void run() {
} public static void main(String args[]) throws InterruptedException { Thread T1 = new exemple ("t1");
Thread T2 = new exemple ("t2");
T1.start(); T2.start();
} }
javac exemple.java java exemple dans une autre console
:~$ ps -xa |grep java Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html 14756 pts/0 Sl 0:00 java exemple 14827 pts/1 R+ 0:00 grep java
donc d'un côté 1 processus 2 threads userland le code java sous linux et de l'autre sous windows 2 processus, bon ok pas 2 threads mais des forck, les sleep mais il y a bien gestion des processus sous cygwin donc il passe par windows et non pas par une émulation d'une fonctionnalité du noyau en usr
Exprime-toi correctement parce qu'il faut te lire plusieurs fois pour essayer de comprendre ce que tu veux bien dire.
D'un côté, tu as une machine virtuelle, l'exécutable 'java' qui lui, exécute ton programme java. Il n'est pas exécuté directement. Je ne vois toujours pas ce que tu cherches à montrer vu qu'on parle de deux choses totalement différentes. Lorsque tu lances un exécutable cygwin, tu le lances directement, sans passer par une machine virtuelle qui réimplante un tas de trucs.
il reste pour clore complètement le débat un bout de code qui utilise vraiment des threads sous cygwin et non pas mon test avec les forck à toi de trouver un exemple
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.
basto
Le Thu, 30 Jul 2009 12:07:59 +0200, JKB a écrit:
D'un côté, tu as une machine virtuelle, l'exécutable 'java' qui lui, exécute ton programme java. Il n'est pas exécuté directement. Je ne vois toujours pas ce que tu cherches à montrer vu qu'on parle de deux choses totalement différentes. Lorsque tu lances un exécutable cygwin, tu le lances directement, sans passer par une machine virtuelle qui réimplante un tas de trucs.
La JVM utilise les threads natifs depuis un petit bout de temps déjà.
Le Thu, 30 Jul 2009 12:07:59 +0200, JKB <knatschke@koenigsberg.fr> a écrit:
D'un côté, tu as une machine virtuelle, l'exécutable 'java' qui lui,
exécute ton programme java. Il n'est pas exécuté directement. Je ne vois
toujours pas ce que tu cherches à montrer vu qu'on parle de deux choses
totalement différentes. Lorsque tu lances un exécutable cygwin, tu le
lances directement, sans passer par une machine virtuelle qui réimplante
un tas de trucs.
La JVM utilise les threads natifs depuis un petit bout de temps déjà.
D'un côté, tu as une machine virtuelle, l'exécutable 'java' qui lui, exécute ton programme java. Il n'est pas exécuté directement. Je ne vois toujours pas ce que tu cherches à montrer vu qu'on parle de deux choses totalement différentes. Lorsque tu lances un exécutable cygwin, tu le lances directement, sans passer par une machine virtuelle qui réimplante un tas de trucs.
La JVM utilise les threads natifs depuis un petit bout de temps déjà.
Stephane TOUGARD
JKB wrote:
sleep peut s'implanter de tas de façons différentes (ça va d'une bête boucle à des trucs sournois qui mettent en oeuvre des interruptions et des times). Si tu dois être précis, il vaut mieux qu'il soit en kernelland, mais tu peux très bien le coller en userland en bricolant un peu. C'est moins précis, mais ça passe tout à fait.
Tu veux dire qu'on peut mettre sleep() en userland en faisant une emulation POSIX ?
Mais j'ai une bete question, bc (qui est defini par la norme POSIX), ils l'ont emule comment dans Cygwin ?
JKB wrote:
sleep peut s'implanter de tas de façons différentes (ça va d'une
bête boucle à des trucs sournois qui mettent en oeuvre des interruptions
et des times). Si tu dois être précis, il vaut mieux qu'il soit en
kernelland, mais tu peux très bien le coller en userland en bricolant
un peu. C'est moins précis, mais ça passe tout à fait.
Tu veux dire qu'on peut mettre sleep() en userland en faisant une
emulation POSIX ?
Mais j'ai une bete question, bc (qui est defini par la norme POSIX), ils
l'ont emule comment dans Cygwin ?
sleep peut s'implanter de tas de façons différentes (ça va d'une bête boucle à des trucs sournois qui mettent en oeuvre des interruptions et des times). Si tu dois être précis, il vaut mieux qu'il soit en kernelland, mais tu peux très bien le coller en userland en bricolant un peu. C'est moins précis, mais ça passe tout à fait.
Tu veux dire qu'on peut mettre sleep() en userland en faisant une emulation POSIX ?
Mais j'ai une bete question, bc (qui est defini par la norme POSIX), ils l'ont emule comment dans Cygwin ?