Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

75 % sous linux

93 réponses
Avatar
yves
<http://www.zdnet.fr/actualites/yahoo-rejoint-la-fondation-linux-39760191.htm>

75 % des sites yahoo sont sous linux,il en dit quoi le panda?

10 réponses

1 2 3 4 5
Avatar
YBM
Nicolas George a écrit :
"pehache-olino" , dans le message , a
écrit :
Si. C'est une discussion récurrente ici, mais si Wine n'est pas un émulateur
alors je ne vois pas ce qu'est un émulateur.



En effet, mais le débat se renouvelle, puisque tu dis :

Non. Si c'était le cas on pourrait lancer un exécutable natif Win32
directement. Or ce n'est pas le cas, on tape "wine toto.exe" et non pas
"toto.exe" directement.



... qui est probablement l'argument le plus imbécile qui ait jamais été
avancé à ce sujet.



Certainement, surtout depuis que l'on peut lancer des binaires étranger
(genre ARM) directement dans un terminal et qu'il s'agit alors d'une
émulation (qemu-arm est utilisé de façon transparente), ce qui ne veut
pas dire que l'équivalent avec un .exe (qui appelle wine aussi) prouve
qu'il s'agit d'une émulation (ce ne l'est pas).

Ou alors tout est une émulation : lancer "ls" directement revient en
fait à exécuter /lib/ld-linux.so.2 /bin/ls : les seuls binaires que
le noyau sait exécuter seul sont les binaires statiques.
Avatar
Aéris
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Le 24/04/2011 14:13, pehache-olino a écrit :
Non. Si c'était le cas on pourrait lancer un exécutable natif Win32
directement. Or ce n'est pas le cas, on tape "wine toto.exe" et non pas
"toto.exe" directement.



On pourrait tout à fait lancer un binaire win32 directement, puisqu'il
est bien entendu uniquement composé d'instructions assembleur
compréhensibles par ton processeur et totalement indépendant de ton OS.

Il va « simplement » faire appel à des appels systèmes non disponibles
puisque soit fourni par le noyau NT soit par les API win32 (un peu
l'équivalent de notre glibc à nous), ce qui déclencherait de gros core dump.

C'est d'ailleurs le seul et unique travail de Wine : combler les trous
et permettrent aux appels de se dérouler correctement.

Techniquement parlant, il n'y a aucune différence entre un binaire «
win32 » et un binaire « x86/x86_64 », juste une histoire d'API et de
librairies système.

- --
Aeris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJNtFHvAAoJEK8zQvxDY4P9w58H/A3jhVM7GxzW+MOSxv5eQ8fv
pXe7ZKP8AdnVi0KPY4T5CcFD5sB2zgZdhQqPJGXL7Mbwq0bgZdQ2u4+IFeIFZfWb
nQznspl/gJqbo2gVkVqz3OvCNnX5zihkIPZH1sTFvVEKQ6BltPPdIdNXIZjsQS3m
RZZVamZoOFR6sTU4Vt7ntJEm0cxMqVig0BIKq04FRkGWSIPnHoVnktSz6VkGHStu
b7g8qjlZAs4OIb/04CU0NfQ1qyj3Y4smqGPn680UmeDzvsLLaAPIliDcBkglmNj3
wxCOTM9gmUykdYINXhGnT2I+6R2ourYkEiwxG0VPCIjLzQj9J3ROKJ+2ru2YWLY ×Pi
-----END PGP SIGNATURE-----
Avatar
pehache-olino
"Aéris" a écrit dans le message de news:
4db451f7$0$25006$
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Le 24/04/2011 14:13, pehache-olino a écrit :
Non. Si c'était le cas on pourrait lancer un exécutable natif Win32
directement. Or ce n'est pas le cas, on tape "wine toto.exe" et non
pas "toto.exe" directement.



On pourrait tout à fait lancer un binaire win32 directement, puisqu'il
est bien entendu uniquement composé d'instructions assembleur
compréhensibles par ton processeur et totalement indépendant de ton
OS.

Il va « simplement » faire appel à des appels systèmes non disponibles
puisque soit fourni par le noyau NT soit par les API win32 (un peu
l'équivalent de notre glibc à nous), ce qui déclencherait de gros
core dump.

C'est d'ailleurs le seul et unique travail de Wine : combler les trous
et permettrent aux appels de se dérouler correctement.

Techniquement parlant, il n'y a aucune différence entre un binaire «
win32 » et un binaire « x86/x86_64 », juste une histoire d'API et de
librairies système.



Si ça marchait comme tu dis, il suffirait d'avoir une librairie dynamique
contenant les routines correspondant à l'API Win32 pour pouvoir exécuter un
binaire Win32. Or ce n'est pas comme ça que cela fonctionne.

Ce que tu décris c'est le principe de Cygwin : une DLL windows implémentant
l'API Posix pour pouvoir faire tourner des softs écrits pour Linux/Unix.
Pour autant, Cygwin ne permet pas d'exécuter un binaire natif Linux : il
faut recompiler les sources pour créer un véritable binaire Win32.

--
pehache
http://pehache.free.fr
Avatar
JKB
Le Sun, 24 Apr 2011 18:55:28 +0200,
pehache-olino écrivait :
"Aéris" a écrit dans le message de news:
4db451f7$0$25006$
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Le 24/04/2011 14:13, pehache-olino a écrit :
Non. Si c'était le cas on pourrait lancer un exécutable natif Win32
directement. Or ce n'est pas le cas, on tape "wine toto.exe" et non
pas "toto.exe" directement.



On pourrait tout à fait lancer un binaire win32 directement, puisqu'il
est bien entendu uniquement composé d'instructions assembleur
compréhensibles par ton processeur et totalement indépendant de ton
OS.

Il va « simplement » faire appel à des appels systèmes non disponibles
puisque soit fourni par le noyau NT soit par les API win32 (un peu
l'équivalent de notre glibc à nous), ce qui déclencherait de gros
core dump.

C'est d'ailleurs le seul et unique travail de Wine : combler les trous
et permettrent aux appels de se dérouler correctement.

Techniquement parlant, il n'y a aucune différence entre un binaire «
win32 » et un binaire « x86/x86_64 », juste une histoire d'API et de
librairies système.



Si ça marchait comme tu dis, il suffirait d'avoir une librairie dynamique
contenant les routines correspondant à l'API Win32 pour pouvoir exécuter un
binaire Win32. Or ce n'est pas comme ça que cela fonctionne.



À peu de choses près, c'est pourtant comme ça que ça fonctionne, le
peu de chose près étant dans le format des binaires et les I/O.
Mais ergote pour noyer le poisson.

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
Avatar
pehache-olino
"JKB" a écrit dans le message de news:


Si ça marchait comme tu dis, il suffirait d'avoir une librairie
dynamique contenant les routines correspondant à l'API Win32 pour
pouvoir exécuter un binaire Win32. Or ce n'est pas comme ça que cela
fonctionne.



À peu de choses près, c'est pourtant comme ça que ça fonctionne, le
peu de chose près étant dans le format des binaires et les I/O.



Des détails sans importance, en quelque sorte...

Mais ergote pour noyer le poisson.



Mort de rire...

--
pehache
http://pehache.free.fr
Avatar
Aéris
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Le 24/04/2011 18:55, pehache-olino a écrit :
Si ça marchait comme tu dis, il suffirait d'avoir une librairie
dynamique contenant les routines correspondant à l'API Win32 pour
pouvoir exécuter un binaire Win32. Or ce n'est pas comme ça que cela
fonctionne.



C'est bien là qu'est toute la complexité de la chose…

Implémenter une API bidon pour éviter les core dump, c'est très facile à
faire voire même 100% automatisable.
Il s'agit uniquement de faire un .c valide à partir d'un .h connu.

Par exemple pour l'ouverture d'un fichier, le file.h impose uniquement un
int file_open(char *path)
L'implémentation suivante est donc totalement valide
int file_open(char *path) {
return -1;
}
Mais ça ne te garantie en rien un comportement correct de ton soft,
juste qu'il s'exécutera. Il a même de très forte chance de ne pas
dépasser l'instruction suivante, mais pas pour cause d'API invalide mais
parce que -1 n'est pas un descripteur de fichier valide.

Implémenter correctement l'API de manière à ce qu'elle reproduise le
comportement souhaité quand on l'appelle en est une autre.
Il faut implémenter tout le comportement du .c.
Que les API de socket agissent réellement sur un socket, que quand tu
fais un file_open il te retourne un vrai descripteur de fichier valide
et non pas bêtement «1», …

C'est tout le travail de Wine, implémenter correctement le comportement
d'une API connue.

- --
Aeris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJNtHL0AAoJEK8zQvxDY4P961MIAIU+l/Lki3kwm/Y+vcqhNKmJ
km/B68+6N5vbZxkkcKxQl3e7o5MnnHenbumzKy7GbhbmYDbbfwiBH/wTi2XQMFT9
OSifPLSff6uxDIittDXfPEFbgRowNdw36uZabPtAFsuorlTObcHCHrqAuHu5CP/+
8xff06nqanSFVXHOj4XdTHjf69vCT+h0Ga3rGR5SMBblJrVw8+FQNFLdca29EVi+
gCuPnmgqCOWCFml244lIdAaCF+Phm/NORP3g6AntlmXKC/7USE9dRtuBSyprQXkQ
FswOfMdHaNPxnpP9xwlmkKHyQCbQsZoefosQv2IpGMkP3LXxFX1k0kOQj4UxBic =dhSB
-----END PGP SIGNATURE-----
Avatar
Dellara
Aéris a papoté sur Usenet le 24 avril 2011 14:59:

Il a même de très forte chance de ne pas
dépasser l'instruction suivante, mais pas pour cause d'API invalide
mais parce que -1 n'est pas un descripteur de fichier valide.
Il faut implémenter tout le comportement du .c.

Que les API de socket agissent réellement sur un socket, que quand tu
fais un file_open il te retourne un vrai descripteur de fichier valide
et non pas bêtement «1», ?


Tu crois vraiment qu'il comprend tes explications. Le passé a prouvé que
ses connaissances dans ce domaine frisent le zéro absolu :)
Avatar
pehache-olino
"Aéris" a écrit dans le message de news:
4db472f9$0$20213$
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Le 24/04/2011 18:55, pehache-olino a écrit :
Si ça marchait comme tu dis, il suffirait d'avoir une librairie
dynamique contenant les routines correspondant à l'API Win32 pour
pouvoir exécuter un binaire Win32. Or ce n'est pas comme ça que cela
fonctionne.



C'est bien là qu'est toute la complexité de la chose…

Implémenter une API bidon pour éviter les core dump, c'est très
facile à faire voire même 100% automatisable.
Il s'agit uniquement de faire un .c valide à partir d'un .h connu.

Par exemple pour l'ouverture d'un fichier, le file.h impose
uniquement un int file_open(char *path)
L'implémentation suivante est donc totalement valide
int file_open(char *path) {
return -1;
}
Mais ça ne te garantie en rien un comportement correct de ton soft,
juste qu'il s'exécutera. Il a même de très forte chance de ne pas
dépasser l'instruction suivante, mais pas pour cause d'API invalide
mais parce que -1 n'est pas un descripteur de fichier valide.

Implémenter correctement l'API de manière à ce qu'elle reproduise le
comportement souhaité quand on l'appelle en est une autre.
Il faut implémenter tout le comportement du .c.
Que les API de socket agissent réellement sur un socket, que quand tu
fais un file_open il te retourne un vrai descripteur de fichier valide
et non pas bêtement «1», …



Non, sans blague ? Ca alors, jamais je n'aurais imaginé une chose
pareille...


C'est tout le travail de Wine, implémenter correctement le
comportement d'une API connue.



Ce qui ne change absolument rien au fait que Wine n'est pas une simple
librairie dynamique implémentant l'API Win32, et qu'un binaire Win32 n'est
pas techniquement identique à un binaire Linux.

--
pehache
http://pehache.free.fr
Avatar
pehache-olino
"Dellara" a écrit dans le message de news:
Y2%sp.14665$
Aéris a papoté sur Usenet le 24 avril 2011 14:59:

Il a même de très forte chance de ne pas
dépasser l'instruction suivante, mais pas pour cause d'API invalide
mais parce que -1 n'est pas un descripteur de fichier valide.
Il faut implémenter tout le comportement du .c.



Que les API de socket agissent réellement sur un socket, que quand tu
fais un file_open il te retourne un vrai descripteur de fichier
valide et non pas bêtement «1», ?



Tu crois vraiment qu'il comprend tes explications. Le passé a prouvé
que ses connaissances dans ce domaine frisent le zéro absolu :)



Ses explications sur le fonctionnement de Wine sont fausses. Quant à tes
connaissances à toi, on aura bien du mal à les évaluer vu que je n'ai pas le
souvenir d'avoir lu la moindre considération technique dans aucun de tes
posts.

--
pehache
http://pehache.free.fr
Avatar
JKB
Le Sun, 24 Apr 2011 20:46:30 +0200,
pehache-olino écrivait :
"JKB" a écrit dans le message de news:


Si ça marchait comme tu dis, il suffirait d'avoir une librairie
dynamique contenant les routines correspondant à l'API Win32 pour
pouvoir exécuter un binaire Win32. Or ce n'est pas comme ça que cela
fonctionne.



À peu de choses près, c'est pourtant comme ça que ça fonctionne, le
peu de chose près étant dans le format des binaires et les I/O.



Des détails sans importance, en quelque sorte...



Exactement. C'est ridiculement simple par rapport à tout le reste.

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
1 2 3 4 5