OVH Cloud OVH Cloud

Pour mettre tout le monde d'accord: Window9

72 réponses
Avatar
Jo Kerr
Et oui, compatible Linux et Windows.
Voir ici:
http://www.korben.info/window-9-los-compatible-windows-et-linux.html

--
In gold we trust (c)

2 réponses

4 5 6 7 8
Avatar
talon
pehache-tolai wrote:
On 23 juil, 09:08, Toxico Nimbus wrote:

>
> 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.

Peut-être, mais ça ne change rien au débat "cygwin est-il une
implémentation ou une émulation de la norme POSIX".

Pour ma part je suis d'accord avec ST, c'est une implémentation (peut-
être incomplète) et pas une émulation.



J'ai cru comprendre que cygwin translate les appels posix en une
collection d'appels Windows ayant un résultat plus ou moins équivalent
(car il y a plein de choses différentes, par ex. dans les systèmes de
permission sur les fichiers, etc. et donc on ne peut pas faire une
translation bijective). Il me semble que ce genre d'opération s'appelle
une émulation. Pour prendre un cas différent, FreeBSD permet d'exécuter
des exécutables Linux. Comment ça se passe: ici il y a une
implémentation directe dans le noyau des appels système Linux
nécessaires, de même qu'il y a une implémentation directe des appels
systèmes de la libc ordinaire. Dans ce cas c'est une implémentation, pas
une émulation, enfin il me semble que c'est le sens des mots.




--
pehache



--

Michel TALON
Avatar
pehache-tolai
On 23 juil, 18:15, (Michel Talon) wrote:

J'ai cru comprendre que cygwin translate les appels posix en une
collection d'appels Windows ayant un résultat plus ou moins équivalen t
(car il y a plein de choses différentes, par ex. dans les systèmes de
permission sur les fichiers, etc. et donc on ne peut pas faire une
translation bijective). Il me semble que ce genre d'opération s'appelle
une émulation.



Pourquoi ? Sans être spécialiste non plus, je suppose que la norme
POSIX ne dit absolument rien sur la façon dont doivent être
implémentée les fonctions. Notamment sur le fait que les appels
puissent ou non faire d'autres appels, qu'ils soient système ou pas.

Il faut bien voir qu'une fois compilée, une application Cygwin est un
véritable exécutable Win32.

On peut aussi voir Cygwin comme une bibliothèque de portabilité,
permettant de compiler du code sur des plate-formes différentes avec
une interface unique pour les appels système.

Pour prendre un cas différent, FreeBSD permet d'exécuter
des exécutables Linux. Comment ça se passe: ici il y a une
implémentation directe dans le noyau des appels système Linux
nécessaires, de même qu'il y a une implémentation directe des appel s
systèmes de la libc ordinaire. Dans ce cas c'est une implémentation, pas
une émulation



Oui, c'est une implémentation. Aussi :-)

Un cas différent à mon avis est celui de Wine, qui s'apparente plus à
une machine virtuelle, donc à un émulateur : l'appli Win32 ne tourne
pas directement sous l'OS hôte, c'est Wine qui est lancé et qui
"exécute" l'appli Win32.

--
pehache
4 5 6 7 8