S'identifier / Créer un compte
  • Actualités
  • Dossiers
  • Tests
  • Commentaires
  • INpactiens
Publicité

Windows Phone 8 : le début de l'unification des technologies chez Microsoft

Depuis le temps qu'on en parle

Microsoft possède sur son vaste campus de Redmond une unité spécifique baptisée Microsoft Research, ou MSR. De nombreuses technologies et des produits comme le Kinect viennent de projets qui ont été travaillés au MSR. Coté logiciel, des noms de code tels que Menlo et Redhawk ont déjà trouvé écho dans nos colonnes. Avec l’arrivée de Windows 8 et surtout de Windows Phone 8, les applications concrètes semblent être sur le point d’envahir l’écosystème maison.

wp8 apollo

Menlo, la base de Windows Phone 8

Menlo, tout d’abord, est la base de Windows Phone 8. Pour comprendre Menlo, il faut revenir à Vista et au travail commencé par Microsoft. Les développeurs avaient en effet débuté un travail de factorisation destiné à classer les composants de Windows. Avec la version 7 du système, ce travail a abouti sous la forme de MinWin, autrement dit la base minimale nécessaire pour fonctionner : le noyau, quelques pilotes et les fichiers nécessaires à l’exécution de logiciels. Aucune interface graphique n’était de la partie.

 

Menlo a un objectif connexe : celui d’être un système complet, mais minimal. Il est donc basé sur MinWin, mais fournit des éléments d’interface ainsi, entre autres, qu’un CLR (Common Language Runtime). Microsoft travaillait en effet sur WIndows Phone 7 depuis un moment à l’aide d’un noyau CE et du Compact Framework .NET. L’éditeur était cependant frustré du manque d’alignement et de compatibilité avec le noyau NT et le vrai CLR. Menlo est l'aboutissement d’un projet de remplacement de la base du système mobile. Un remplacement confirmé par Microsoft puisque l’on sait que Windows Phone 8 a la même base que celle de Windows 8, à peu de choses près.

 

Menlo est un pas important pour Microsoft, puisque son système mobile est désormais aligné avec celui pour les PC. Important à plus d’un titre en fait : comme il s’agissait de porter une base NT vers l’architecture ARM, les résultats ont bénéficié autant à WIndows Phone 8 qu’à Windows RT, la variante de Windows 8 pour les tablettes ARM. Dans la foulée, les développeurs ont porté leur compilateur JIT (Just-in Time) vers ARM pour le CLR, puis le CLR lui-même et enfin Silverlight.

La prévalence de .NET et de WinRT

Une fois que plusieurs plateformes partagent le même système d’exploitation, l’unification des technologies de développement n’est guère loin. Là encore, l’annonce de Windows Phone 8 a montré que les mêmes technologies (quasiment) seraient utilisées que dans Windows 8. Jusqu’au remplacement d’ailleurs de XNA pour les jeux vidéo par le code natif couplé à DirectX.

 

Les environnements .NET et WinRT ont ceci de commun que les applications conçues pour ces environnements peuvent théoriquement fonctionner partout de la même manière. Mais il se pourrait que la distribution des applications sur le Marketplace ou le Windows Store dispose d’améliorations tout droit sorties là encore du MSR.

Des technologies proches de la phase de production

Microsoft travaille en effet depuis des années sur plusieurs projets aux conséquences potentielles importantes. On pourrait par exemple citer Redhawk, dont la mission est de compiler un code MDIL (pour Machine Dependant Intermediate Language), lui-même issu d’un code managé. Le MDIL est beaucoup plus proche du langage machine et affiche de bien meilleures performances. Cela reste à confirmer, mais le MDIL a de très fortes chances d’être utilisé au sein de Windows Phone 8.

 

On pourrait également citer les travaux menés sur un même compilateur C++/C#, et donc destiné aussi bien au code natif qu’au code managé. Les objectifs sont très nombreux, mais on citera notamment l’exploitation des dernières possibilités offertes par les processeurs Intel, AMD et ARM, la création d’un nouveau type de fichier objet supportant le linking rapide (il s'agit en fait du MDIL) ou encore l’utilisation du parallélisme et de la vectorisation automatiques issues du compilateur créé pour Windows 8.

 

Plus récemment encore, des informations (obtenues grâce à la fuite du SDK de Windows Phone 8) laissent présager que Microsoft pourrait se livrer à des optimisations sur la compilation du code côté serveur. Ces opérations interviendraient après la publication du code par le développeur tiers, lors de la soumission de son application au Marketplace de Windows Phone 8.

 

Ces projets et informations restent en suspens tant que Microsoft ne les confirme pas. Cela étant, la plupart de ces données sont liées d’une manière ou d’un autre à Windows 8 et Windows Phone 8. Les prochains mois devraient être riches en informations, surtout si l’on considère que la conférence BUILD, dédiée aux développeurs, est prévue pour le 30 octobre.



PS : merci à Charon

Vincent Hermann

Rédacteur/journaliste spécialisé dans le logiciel et en particulier les systèmes d'exploitation. Ne se déplace jamais sans son épée.

Publiée le 28/07/2012 à 08:30

Soutenez l'indépendance de Next INpact en devenant Premium

  • Tout le contenu de Next INpact sans pub
  • Et bien plus encore...

Il y a 127 commentaires

Avatar de AlbertSY INpactien
AlbertSY Le samedi 28 juillet 2012 à 16:59:05
Inscrit le mardi 14 juin 11 - 405 commentaires
style, on supprime un post sous prétexte que c'est du troll (alors que ce n'est pas le cas).
Bah je vois le niveau, je vais là où c'est plus constructif. Bonne chance à vous.
Commentaire de exactitudedotcom supprimé le 05/10/2012 à 17:25:26 : Réponse à un commentaire supprimé
Avatar de atomusk Modérateur
atomusk Le samedi 28 juillet 2012 à 19:16:45
Inscrit le mardi 20 juillet 04 - 21740 commentaires
style, on supprime un post sous prétexte que c'est du troll (alors que ce n'est pas le cas).
Bah je vois le niveau, je vais là où c'est plus constructif. Bonne chance à vous.


Le but de ce genre de modération, est de faire tenir les débats sur la news. A voir les 3/4 des posts qui ont suivi, ça donne raison à la modération
Commentaire de Idiot Proof supprimé le 28/07/2012 à 22:02:38 : Troll ou incitation au troll
Avatar de HarmattanBlow INpactien
HarmattanBlow Le samedi 28 juillet 2012 à 22:03:38
Inscrit le jeudi 21 juin 07 - 4019 commentaires
Je parlais de l'explication du fonctionnement de redhawk, je doute fort que tu ais plus d'informations que moi. Je sais que tu comprends le sujet.

Je voulais simplement dire dans ma remarque que concernant Redhawk nous n'avions pas vraiment besoin de plus d'informations. D'abord et avant tout il est possible d'évaluer a priori les limites de ce qu'un nouveau compilateur peut apporter, fut-il idéal, et ensuite les infos que nous avons sont déjà assez nombreuses pour avoir une bonne idée du bousin, surtout en reliant les traits entre les différents projets.

Je sais de manière officieuse que ce système est deux fois plus rapide que Windows au minimum(Libre à toi de me croire mais je t'assure que je ne te mens pas). En clair les spécificités de fonctionnement de cet OS devraient faire qu'une application en c# serait finalement plus rapide qu'une application c++

Le problème n'est pas de te faire confiance ou non, c'est simplement qu'un chiffre balancé ainsi hors de tout contexte n'a aucune signification et ne peut donc être que faux. Deux fois plus rapide sur quelles tâches ? Car au quotidien mon CPU passe beaucoup moins de temps dans les appels au noyau et changements de contexte que dans le reste, or c'est la seule et unique chose qu'un noyau Singularity pourrait améliorer, alors qu'il ralentirait plutôt le reste. A design équivalent, une application ne connaîtrait donc pas un changement important de ses performances en passant sous SIngularity, et pas forcément un changement positif.

En revanche des bacules de contexte plus rapides signifient un retour sur investissement (en terme de cycles CPU, pas financiers) plus rapide du parallélisme, le many-core, etcetera. Mais nous savons tous deux que la parallélisation n'est pas une baguette magique qui pourrait toujours être mise en œuvre ou accrue, les changements de contexte n'étant pas le seul frein à cela.

Et c'est pour ça que tu t'avances trop en disant qu'une appli C# sous Midori, quand bien même il reprendrait les traits de Singularity, serait soudain plus rapide qu'une appli C++ sous 7, c'est là aussi impossible. A design équivalent, le passage à Singularity changerait peu de choses et pas forcément en bien. En revanche les développeurs pourraient revoir leurs architectures pour parfois obtenir des gains.

Pour résumer tu dit que les ingénieurs de Ms vont rendre le C# sur Midori plus rapide que du C++ sur les windows actuels, ok. Mais on pourra toujours coder en C/C++ sur Midori ? Si oui gardera t'il une avance niveau performance ou l'architecture de Midori rendra t'elle les deux quasi équivalant ?

Singularity permettait d'accroître les performances parce que tous les programmes y étaient vérifiables. Dès lors, lors des appels au noyau, le système n'aurait plus à se comporter de façon paranoïaque vis-à-vis des programmes avec fouilles au corps et autres étapes qui bouffent du CPU. C'est parce qu'il y a confiance qu'il y a performances et many-core, le reste du temps Singularity étant plutôt plus lent.

Or si un programme managé est vérifiable, ce n'est pas le cas d'un programme natif. Si Midori reprend le noyau de Singularity, soit il bannira les applis natives, soit il les fera tourner dans un environnement isolé avec des performances plus faibles. Ou alors Midori ne reprend pas cette idée du noyau de Singularity et dans ce cas il n'apporte pas les gain de performances dont nous avons parlé et ce n'est qu'un micro-kernel avec des conséquences similaires à ce que j'ai décrit (plutôt plus lent en général mais autorisant une plus grande parallélisation des applications via des changements de contexte plus rapides).

Edité par HarmattanBlow le samedi 28 juillet 2012 à 22:07
Commentaire de jinge supprimé le 29/07/2012 à 10:02:29 : Hors-sujet
Commentaire de jinge supprimé le 29/07/2012 à 10:02:38 : Hors-sujet
Avatar de jinge INpactien
jinge Le samedi 28 juillet 2012 à 23:35:04
Inscrit le samedi 9 avril 11 - 2164 commentaires
Vu que c'est pour la 100e fois la même discussion, que ça part d'un troll, que c'est HS sur la news, et que ça ne mène jamais à rien, c'est pas la peine de continuer sur la discussion "1 Windows sur 2 blabla", ça sera supprimé

oups
Commentaire de exactitudedotcom supprimé le 05/10/2012 à 17:25:26 : Réponse à un commentaire supprimé
Avatar de ano_635024317595613686 INpactien
ano_635024317595613686 Le dimanche 29 juillet 2012 à 08:07:35
Inscrit le vendredi 16 mars 07 - 4152 commentaires
J'aime bien les noms marketing chez MS: Redh,awk (de la faulxconnerie pour, en plus des utilisateurs, asservir les développeurs), menlo, winRT (temps réel?! Mouarf!)...

Ca fait causer le chaland en tout cas! Donner envie, c'est une autre paire de manches... Le risque pris à (mal) copier Apple (un mac n'a pas une interface playskool débilisante) en partant avec plus 5 ans de retard est en tout cas énooorrmme!

Edité par yvan78 le dimanche 29 juillet 2012 à 08:08
;