Question subsidiaire : si Posix demande des choses qui ne sont pas prévues par le noyau de l'OS hôte, comment fais-tu po ur les assurer proprement en userland (sans avoir un truc qui rame excessivement, ce qui est le cas de Cygwin) ? Et des trucs imposés par Posix et qui ne sont pas dans Windows, il y en a des tas.
Et bien pour chaque fonctionnalité POSIX à implémenter, 3 possibilités:
1) l'API Win32 a un équivalent à peu près direct et l'implémentatio n consiste juste en un wrapper vers Win32
2a) il n'y a rien de directement comparable dans Win32, mais il est possible d'écrire du code qui implémente la fonctionnalité, ceci avec plus ou moins d'efficacité (ça peut être rapide ou ramer suivant les cas).
3) il est impossible d'implémenter cette fonctionnalité, et le truc ne sera pas 100% POSIX compliant
Voilà. Je ne vois pas de trace d'émulation là-dedans.
-- pehache
On 22 juil, 09:38, JKB <knatsc...@koenigsberg.fr> wrote:
Question subsidiaire : si Posix demande des choses
qui ne sont pas prévues par le noyau de l'OS hôte, comment fais-tu po ur
les assurer proprement en userland (sans avoir un truc qui rame
excessivement, ce qui est le cas de Cygwin) ? Et des trucs imposés par
Posix et qui ne sont pas dans Windows, il y en a des tas.
Et bien pour chaque fonctionnalité POSIX à implémenter, 3
possibilités:
1) l'API Win32 a un équivalent à peu près direct et l'implémentatio n
consiste juste en un wrapper vers Win32
2a) il n'y a rien de directement comparable dans Win32, mais il est
possible d'écrire du code qui implémente la fonctionnalité, ceci avec
plus ou moins d'efficacité (ça peut être rapide ou ramer suivant les
cas).
3) il est impossible d'implémenter cette fonctionnalité, et le truc ne
sera pas 100% POSIX compliant
Voilà. Je ne vois pas de trace d'émulation là-dedans.
Question subsidiaire : si Posix demande des choses qui ne sont pas prévues par le noyau de l'OS hôte, comment fais-tu po ur les assurer proprement en userland (sans avoir un truc qui rame excessivement, ce qui est le cas de Cygwin) ? Et des trucs imposés par Posix et qui ne sont pas dans Windows, il y en a des tas.
Et bien pour chaque fonctionnalité POSIX à implémenter, 3 possibilités:
1) l'API Win32 a un équivalent à peu près direct et l'implémentatio n consiste juste en un wrapper vers Win32
2a) il n'y a rien de directement comparable dans Win32, mais il est possible d'écrire du code qui implémente la fonctionnalité, ceci avec plus ou moins d'efficacité (ça peut être rapide ou ramer suivant les cas).
3) il est impossible d'implémenter cette fonctionnalité, et le truc ne sera pas 100% POSIX compliant
Voilà. Je ne vois pas de trace d'émulation là-dedans.
-- pehache
Stephane TOUGARD
JKB wrote:
Tu ne comprends rien à rien et tu ne t'es _jamais_ posé la question de savoir ce qu'est un mutex ni a fortiori une opération atomique (au passage, si on savait faire ça en userland, ça simplifierait pas mal le boulot des développeurs et ça éviterait aussi de se taper le développement d'une libc sous Unix). Implanter de tels trucs en userland pose un tas de problèmes, en particulier d'atomicité. Même en kernelland, c'est difficile à faire (c'est pour cela que linuxthreads a été abandonné au profit de NPTL car linuxthreads n'était en particulier pas capable de rendre sem_post() async safe.). Retourne jouer aux billes.
C'est bien possible. Mais je vois aucun rapport entre ce que tu viens de dire et la norme POSIX.
et que Cygwin est implementation (partielle) de la norme POSIX sous Windows (a l'extreme limite, on peut le considerer comme une emulation d'Unix ou de Linux).
Ce n'est pas le débat et tu n'as toujours pas répondu à la question. Je commence à croire que tu en es incapable.
Si, au contraire, c'est tout le debat. Faire la difference entre "implementer une norme" et "simuler un operating system". Comprendre que POSIX est une norme et que Unix (SysV, BSD ...) est un operating system.
Apres, je suis pas la pour faire du mesurage de bite avec toi sur ce que je suis capable de faire et ce que je ne suis pas capable. Mon metier n'est pas d'implementer la norme POSIX, mais de la connaitre et de l'utiliser (ca et tout un tas d'autres normes et protocoles que tu ne connais vraisemblablement pas parce qu'ils n'ont rien a voir avec la choucroute).
JKB wrote:
Tu ne comprends rien à rien et tu ne t'es _jamais_ posé la question
de savoir ce qu'est un mutex ni a fortiori une opération atomique (au
passage, si on savait faire ça en userland, ça simplifierait pas mal le
boulot des développeurs et ça éviterait aussi de se taper le
développement d'une libc sous Unix). Implanter de tels trucs en userland
pose un tas de problèmes, en particulier d'atomicité. Même en
kernelland, c'est difficile à faire (c'est pour cela que linuxthreads a
été abandonné au profit de NPTL car linuxthreads n'était en particulier
pas capable de rendre sem_post() async safe.). Retourne jouer aux billes.
C'est bien possible. Mais je vois aucun rapport entre ce que tu viens de
dire et la norme POSIX.
et que Cygwin est implementation (partielle) de la
norme POSIX sous Windows (a l'extreme limite, on peut le considerer
comme une emulation d'Unix ou de Linux).
Ce n'est pas le débat et tu n'as toujours pas répondu à la question.
Je commence à croire que tu en es incapable.
Si, au contraire, c'est tout le debat. Faire la difference entre
"implementer une norme" et "simuler un operating system". Comprendre que
POSIX est une norme et que Unix (SysV, BSD ...) est un operating system.
Apres, je suis pas la pour faire du mesurage de bite avec toi sur ce que
je suis capable de faire et ce que je ne suis pas capable. Mon metier
n'est pas d'implementer la norme POSIX, mais de la connaitre et de
l'utiliser (ca et tout un tas d'autres normes et protocoles que tu ne
connais vraisemblablement pas parce qu'ils n'ont rien a voir avec la
choucroute).
Tu ne comprends rien à rien et tu ne t'es _jamais_ posé la question de savoir ce qu'est un mutex ni a fortiori une opération atomique (au passage, si on savait faire ça en userland, ça simplifierait pas mal le boulot des développeurs et ça éviterait aussi de se taper le développement d'une libc sous Unix). Implanter de tels trucs en userland pose un tas de problèmes, en particulier d'atomicité. Même en kernelland, c'est difficile à faire (c'est pour cela que linuxthreads a été abandonné au profit de NPTL car linuxthreads n'était en particulier pas capable de rendre sem_post() async safe.). Retourne jouer aux billes.
C'est bien possible. Mais je vois aucun rapport entre ce que tu viens de dire et la norme POSIX.
et que Cygwin est implementation (partielle) de la norme POSIX sous Windows (a l'extreme limite, on peut le considerer comme une emulation d'Unix ou de Linux).
Ce n'est pas le débat et tu n'as toujours pas répondu à la question. Je commence à croire que tu en es incapable.
Si, au contraire, c'est tout le debat. Faire la difference entre "implementer une norme" et "simuler un operating system". Comprendre que POSIX est une norme et que Unix (SysV, BSD ...) est un operating system.
Apres, je suis pas la pour faire du mesurage de bite avec toi sur ce que je suis capable de faire et ce que je ne suis pas capable. Mon metier n'est pas d'implementer la norme POSIX, mais de la connaitre et de l'utiliser (ca et tout un tas d'autres normes et protocoles que tu ne connais vraisemblablement pas parce qu'ils n'ont rien a voir avec la choucroute).
Stephane TOUGARD
pehache-tolai wrote:
Et bien pour chaque fonctionnalité POSIX à implémenter, 3 possibilités:
1) l'API Win32 a un équivalent à peu près direct et l'implémentation consiste juste en un wrapper vers Win32
2a) il n'y a rien de directement comparable dans Win32, mais il est possible d'écrire du code qui implémente la fonctionnalité, ceci avec plus ou moins d'efficacité (ça peut être rapide ou ramer suivant les cas).
3) il est impossible d'implémenter cette fonctionnalité, et le truc ne sera pas 100% POSIX compliant
Voilà. Je ne vois pas de trace d'émulation là-dedans.
Absolument aucune trace, c'est clair comme de l'eau de roche.
A l'extreme limite, on pourrait dire qu'il emule un Linux/Unix (bien que je prefererais utiliser le terme "simuler" car il n'y a aucune notion de hardware).
pehache-tolai wrote:
Et bien pour chaque fonctionnalité POSIX à implémenter, 3
possibilités:
1) l'API Win32 a un équivalent à peu près direct et l'implémentation
consiste juste en un wrapper vers Win32
2a) il n'y a rien de directement comparable dans Win32, mais il est
possible d'écrire du code qui implémente la fonctionnalité, ceci avec
plus ou moins d'efficacité (ça peut être rapide ou ramer suivant les
cas).
3) il est impossible d'implémenter cette fonctionnalité, et le truc ne
sera pas 100% POSIX compliant
Voilà. Je ne vois pas de trace d'émulation là-dedans.
Absolument aucune trace, c'est clair comme de l'eau de roche.
A l'extreme limite, on pourrait dire qu'il emule un Linux/Unix (bien que
je prefererais utiliser le terme "simuler" car il n'y a aucune notion de
hardware).
Et bien pour chaque fonctionnalité POSIX à implémenter, 3 possibilités:
1) l'API Win32 a un équivalent à peu près direct et l'implémentation consiste juste en un wrapper vers Win32
2a) il n'y a rien de directement comparable dans Win32, mais il est possible d'écrire du code qui implémente la fonctionnalité, ceci avec plus ou moins d'efficacité (ça peut être rapide ou ramer suivant les cas).
3) il est impossible d'implémenter cette fonctionnalité, et le truc ne sera pas 100% POSIX compliant
Voilà. Je ne vois pas de trace d'émulation là-dedans.
Absolument aucune trace, c'est clair comme de l'eau de roche.
A l'extreme limite, on pourrait dire qu'il emule un Linux/Unix (bien que je prefererais utiliser le terme "simuler" car il n'y a aucune notion de hardware).
Richard Delorme
Le 23/07/2009 07:11, Stephane TOUGARD a écrit :
JKB wrote:
Tu ne comprends rien à rien et tu ne t'es _jamais_ posé la question de savoir ce qu'est un mutex ni a fortiori une opération atomique (au passage, si on savait faire ça en userland, ça simplifierait pas mal le boulot des développeurs et ça éviterait aussi de se taper le développement d'une libc sous Unix). Implanter de tels trucs en userland pose un tas de problèmes, en particulier d'atomicité. Même en kernelland, c'est difficile à faire (c'est pour cela que linuxthreads a été abandonné au profit de NPTL car linuxthreads n'était en particulier pas capable de rendre sem_post() async safe.). Retourne jouer aux billes.
C'est bien possible. Mais je vois aucun rapport entre ce que tu viens de dire et la norme POSIX.
LES POSIX_THREAD font partie d'une norme POSIX.
Si, au contraire, c'est tout le debat. Faire la difference entre "implementer une norme" et "simuler un operating system". Comprendre que POSIX est une norme et que Unix (SysV, BSD ...) est un operating system.
Aujourd'hui, Unix est une norme :
http://www.unix.org/what_is_unix.html
-- Richard
Le 23/07/2009 07:11, Stephane TOUGARD a écrit :
JKB wrote:
Tu ne comprends rien à rien et tu ne t'es _jamais_ posé la question
de savoir ce qu'est un mutex ni a fortiori une opération atomique (au
passage, si on savait faire ça en userland, ça simplifierait pas mal le
boulot des développeurs et ça éviterait aussi de se taper le
développement d'une libc sous Unix). Implanter de tels trucs en userland
pose un tas de problèmes, en particulier d'atomicité. Même en
kernelland, c'est difficile à faire (c'est pour cela que linuxthreads a
été abandonné au profit de NPTL car linuxthreads n'était en particulier
pas capable de rendre sem_post() async safe.). Retourne jouer aux billes.
C'est bien possible. Mais je vois aucun rapport entre ce que tu viens de
dire et la norme POSIX.
LES POSIX_THREAD font partie d'une norme POSIX.
Si, au contraire, c'est tout le debat. Faire la difference entre
"implementer une norme" et "simuler un operating system". Comprendre que
POSIX est une norme et que Unix (SysV, BSD ...) est un operating system.
Tu ne comprends rien à rien et tu ne t'es _jamais_ posé la question de savoir ce qu'est un mutex ni a fortiori une opération atomique (au passage, si on savait faire ça en userland, ça simplifierait pas mal le boulot des développeurs et ça éviterait aussi de se taper le développement d'une libc sous Unix). Implanter de tels trucs en userland pose un tas de problèmes, en particulier d'atomicité. Même en kernelland, c'est difficile à faire (c'est pour cela que linuxthreads a été abandonné au profit de NPTL car linuxthreads n'était en particulier pas capable de rendre sem_post() async safe.). Retourne jouer aux billes.
C'est bien possible. Mais je vois aucun rapport entre ce que tu viens de dire et la norme POSIX.
LES POSIX_THREAD font partie d'une norme POSIX.
Si, au contraire, c'est tout le debat. Faire la difference entre "implementer une norme" et "simuler un operating system". Comprendre que POSIX est une norme et que Unix (SysV, BSD ...) est un operating system.
Aujourd'hui, Unix est une norme :
http://www.unix.org/what_is_unix.html
-- Richard
Toxico Nimbus
Stephane TOUGARD a écrit :
JKB wrote:
Tu ne comprends rien à rien et tu ne t'es _jamais_ posé la question de savoir ce qu'est un mutex ni a fortiori une opération atomique (au passage, si on savait faire ça en userland, ça simplifierait pas mal le boulot des développeurs et ça éviterait aussi de se taper le développement d'une libc sous Unix). Implanter de tels trucs en userland pose un tas de problèmes, en particulier d'atomicité. Même en kernelland, c'est difficile à faire (c'est pour cela que linuxthreads a été abandonné au profit de NPTL car linuxthreads n'était en particulier pas capable de rendre sem_post() async safe.). Retourne jouer aux billes.
C'est bien possible. Mais je vois aucun rapport entre ce que tu viens de dire et la norme POSIX.
Si l'implémentation complète de la norme POSIX sous Windows requiert impérativement du code exécuté en mode noyau, et que Microsoft ne veut pas écrire ce code, alors Windows ne sera jamais POSIX. Même Cygwin ne peut pas toucher au noyau Windows.
-- Toxico Nimbus
Stephane TOUGARD a écrit :
JKB wrote:
Tu ne comprends rien à rien et tu ne t'es _jamais_ posé la question
de savoir ce qu'est un mutex ni a fortiori une opération atomique (au
passage, si on savait faire ça en userland, ça simplifierait pas mal le
boulot des développeurs et ça éviterait aussi de se taper le
développement d'une libc sous Unix). Implanter de tels trucs en userland
pose un tas de problèmes, en particulier d'atomicité. Même en
kernelland, c'est difficile à faire (c'est pour cela que linuxthreads a
été abandonné au profit de NPTL car linuxthreads n'était en particulier
pas capable de rendre sem_post() async safe.). Retourne jouer aux billes.
C'est bien possible. Mais je vois aucun rapport entre ce que tu viens de
dire et la norme POSIX.
Si l'implémentation complète de la norme POSIX sous Windows requiert
impérativement du code exécuté en mode noyau, et que Microsoft ne veut
pas écrire ce code, alors Windows ne sera jamais POSIX. Même Cygwin ne
peut pas toucher au noyau Windows.
Tu ne comprends rien à rien et tu ne t'es _jamais_ posé la question de savoir ce qu'est un mutex ni a fortiori une opération atomique (au passage, si on savait faire ça en userland, ça simplifierait pas mal le boulot des développeurs et ça éviterait aussi de se taper le développement d'une libc sous Unix). Implanter de tels trucs en userland pose un tas de problèmes, en particulier d'atomicité. Même en kernelland, c'est difficile à faire (c'est pour cela que linuxthreads a été abandonné au profit de NPTL car linuxthreads n'était en particulier pas capable de rendre sem_post() async safe.). Retourne jouer aux billes.
C'est bien possible. Mais je vois aucun rapport entre ce que tu viens de dire et la norme POSIX.
Si l'implémentation complète de la norme POSIX sous Windows requiert impérativement du code exécuté en mode noyau, et que Microsoft ne veut pas écrire ce code, alors Windows ne sera jamais POSIX. Même Cygwin ne peut pas toucher au noyau Windows.
-- Toxico Nimbus
Thierry B
On 2009-07-23, Toxico Nimbus wrote:
pas écrire ce code, alors Windows ne sera jamais POSIX. Même Cygwin ne peut pas toucher au noyau Windows.
Il faut demander à Sony, ils savent comment patcher la chose.
--
cat /var/log/messages|sox -t .raw -w -c2 -r 44100 -s - SS.wav Chez moi, ca fait un bruit de porte qui grince :-)
Faut huiler ton FreeBSD, y'a l'émulation SCSI qui bloque.
On 2009-07-23, Toxico Nimbus <ToxN@free.fr> wrote:
pas écrire ce code, alors Windows ne sera jamais POSIX. Même Cygwin ne
peut pas toucher au noyau Windows.
Il faut demander à Sony, ils savent comment patcher la chose.
--
cat /var/log/messages|sox -t .raw -w -c2 -r 44100 -s - SS.wav
Chez moi, ca fait un bruit de porte qui grince :-)
Faut huiler ton FreeBSD, y'a l'émulation SCSI qui bloque.
et ils sont implémentée dans Windows, si je ne m'abuse.
-- pehache
pehache-tolai
On 23 juil, 09:08, Toxico Nimbus wrote:
> C'est bien possible. Mais je vois aucun rapport entre ce que tu viens d e > dire et la norme POSIX.
Si l'implémentation complète de la norme POSIX sous Windows requiert impérativement du code exécuté en mode noyau, et que Microsoft ne v eut pas écrire ce code, alors Windows ne sera jamais POSIX. Même Cygwin n e peut pas toucher au noyau Windows.
Ca ne change rien au débat "est-ce que cygwin est une implémentation ou une émulation de POSIX"
-- pehache
On 23 juil, 09:08, Toxico Nimbus <T...@free.fr> wrote:
> C'est bien possible. Mais je vois aucun rapport entre ce que tu viens d e
> dire et la norme POSIX.
Si l'implémentation complète de la norme POSIX sous Windows requiert
impérativement du code exécuté en mode noyau, et que Microsoft ne v eut
pas écrire ce code, alors Windows ne sera jamais POSIX. Même Cygwin n e
peut pas toucher au noyau Windows.
Ca ne change rien au débat "est-ce que cygwin est une implémentation
ou une émulation de POSIX"
> C'est bien possible. Mais je vois aucun rapport entre ce que tu viens d e > dire et la norme POSIX.
Si l'implémentation complète de la norme POSIX sous Windows requiert impérativement du code exécuté en mode noyau, et que Microsoft ne v eut pas écrire ce code, alors Windows ne sera jamais POSIX. Même Cygwin n e peut pas toucher au noyau Windows.
Ca ne change rien au débat "est-ce que cygwin est une implémentation ou une émulation de POSIX"
-- pehache
JKB
Le 23-07-2009, ? propos de Re: Pour mettre tout le monde d'accord: Window9, pehache-tolai ?crivait dans fr.comp.os.linux.debats :
On 23 juil, 08:53, Richard Delorme wrote:
LES POSIX_THREAD font partie d'une norme POSIX.
et ils sont implémentée dans Windows, si je ne m'abuse.
Raté. Pas sous Vista. L'implantation est là :
http://sourceware.org/pthreads-win32/
Le type a fait un énorme boulot, mais c'est à peu près du niveau de Cygwin en terme de fiabilité. Tant qu'on reste sur un UP, ça fonctionne à peu près, en SMP, c'est plus aléatoire (c'est même inscrit en noir sur blanc dans la page bugs).
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 23-07-2009, ? propos de
Re: Pour mettre tout le monde d'accord: Window9,
pehache-tolai ?crivait dans fr.comp.os.linux.debats :
On 23 juil, 08:53, Richard Delorme <abu...@nospam.fr> wrote:
LES POSIX_THREAD font partie d'une norme POSIX.
et ils sont implémentée dans Windows, si je ne m'abuse.
Raté. Pas sous Vista. L'implantation est là :
http://sourceware.org/pthreads-win32/
Le type a fait un énorme boulot, mais c'est à peu près du niveau de
Cygwin en terme de fiabilité. Tant qu'on reste sur un UP, ça fonctionne
à peu près, en SMP, c'est plus aléatoire (c'est même inscrit en noir sur
blanc dans la page bugs).
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 23-07-2009, ? propos de Re: Pour mettre tout le monde d'accord: Window9, pehache-tolai ?crivait dans fr.comp.os.linux.debats :
On 23 juil, 08:53, Richard Delorme wrote:
LES POSIX_THREAD font partie d'une norme POSIX.
et ils sont implémentée dans Windows, si je ne m'abuse.
Raté. Pas sous Vista. L'implantation est là :
http://sourceware.org/pthreads-win32/
Le type a fait un énorme boulot, mais c'est à peu près du niveau de Cygwin en terme de fiabilité. Tant qu'on reste sur un UP, ça fonctionne à peu près, en SMP, c'est plus aléatoire (c'est même inscrit en noir sur blanc dans la page bugs).
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.
Richard Delorme
Le 23/07/2009 10:14, pehache-tolai a écrit :
On 23 juil, 08:53, Richard Delorme wrote:
LES POSIX_THREAD font partie d'une norme POSIX.
et ils sont implémentée dans Windows, si je ne m'abuse.
Non. La programmation en multithread sous Windows n'a rien à voir avec les posix_thread. Redhat fournit une bibliothèque de compatibilité implémentant ou simulant les fonctions posix, mais ça marche à moitié comme le dit JKB.
-- Richard
Le 23/07/2009 10:14, pehache-tolai a écrit :
On 23 juil, 08:53, Richard Delorme<abu...@nospam.fr> wrote:
LES POSIX_THREAD font partie d'une norme POSIX.
et ils sont implémentée dans Windows, si je ne m'abuse.
Non. La programmation en multithread sous Windows n'a rien à voir avec
les posix_thread. Redhat fournit une bibliothèque de compatibilité
implémentant ou simulant les fonctions posix, mais ça marche à moitié
comme le dit JKB.
et ils sont implémentée dans Windows, si je ne m'abuse.
Non. La programmation en multithread sous Windows n'a rien à voir avec les posix_thread. Redhat fournit une bibliothèque de compatibilité implémentant ou simulant les fonctions posix, mais ça marche à moitié comme le dit JKB.