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

Flash Info : Fêtons la TVA à 2,1 % : abonnez-vous dès 17 € par an !

RedHawk, un projet Microsoft capable d'ouvrir les portes à .NET

En commençant par Windows 8 ?

Windows 8 n’en finit plus de provoquer des remous depuis quelques semaines, grâce notamment à la disponibilité sur les réseaux P2P de plusieurs versions alpha. Si ces dernières donnent quelques indications sur le plan fonctionnel, elles permettent également de creuser pour aller fouiller dans les bases techniques. Et ce que l’on y découvre peut constituer l’une des plus grandes surprises réservées par le système d’exploitation.

win8 redhawk

Un faucon rouge dont on parlait déjà il y a trois ans

En 2008, la journaliste Mary-Jo Foley, de chez ZDnet, plaçait sous les feux de la rampe un nom de code qui depuis s’est fait discret : « RedHawk », littéralement « faucon rouge ». Elle en parlait à cette époque comme d’un nouvel environnement d’exécution pour le code managé (ou géré). Rappelons qu’on appelle managé un code qui ne s’exécute pas directement par le processeur, mais via une machine virtuelle particulière. Dans le cas de Microsoft, il s’agit du CLR (Common Language Runtime), que l’on trouve au cœur de l’environnement .NET.

Quiconque suit le développement de cette plateforme sait que Microsoft fait face à un « trou » dans son évolution technologique. D’un côté, le code natif, utilisé par la quasi-totalité des applications aujourd’hui. De l’autre, le code managé de .NET, futur de l’écosystème applicatif Windows. Le trou se situe entre les deux, sur le terrain des performances. Le CLR a en effet besoin de lire du code MSIL (Microsoft Intermediate Language), totalement indépendant de la plateforme sur lequel il est exécuté. Le CLR le lit et fournit le résultat demandé. Dans l’absolu, une application .NET peut s’exécuter n’importe où tant qu’existe un CLR (ce n’est pas tout à fait le cas en réalité).

Le problème principal du MSIL est qu’il est « général ». Il s’agit d’un bytecode intermédiaire qui est indépendant du processeur, tout en étant éloigné du langage machine. D’après nos informations, Microsoft viserait avec RedHawk la mise en place d’un MDIL, pour Machine Dependant Intermediate Language, beaucoup plus proche du langage machine, et affichant donc de meilleures performances. En outre, un convertisseur MSIL vers MDIL existerait, pour simplifier la transition.

Une technologie de transition

Transition serait ici en fait le maître-mot. RedHawk ferait en effet office de chainon manquant, capable d’assurer des performances proches du code natif à partir d’applications .NET. Dans la version alpha M1 qui traîne actuellement sur réseaux P2P, l’analyse de certains fichiers montre des références assez claires. On trouve par exemple une version 4.0.30215 du framework .NET, dont les notes en commentaire comportent des références « RH » ou encore « RHP ». On peut facilement déduire qu’il s’agit de RedHawk, le « P » pouvant signifier « Project ». Cette référence se trouve dans un fichier nommé SLR100.DLL qui fait référence à un System Language Runtime.

Cela suppose donc plusieurs nouveaux composants et comportement. Ainsi, un nouveau compilateur (Bartok ?) serait de la partie, avec un convertisseur. Ce dernier pourrait être présent dans Windows 8 directement, et servirait ainsi à traduire le code MSIL en MDIL à l’installation de l’application. En outre, RedHawk inclut la mise en place de nouvelles Windows Class Libraries, dédiées justement à ce chainon manquant et à la liaison entre « l’ancien monde » en code natif et le nouveau en code managé.

Un pont vers tous les projets futurs ?

Mais surtout, RedHawk introduit une passerelle. Puisque le « trou » se retrouve colmaté (toujours en théorie), le futur s’ouvrirait bien davantage à .NET. Microsoft cherche à pousser sa technologie vers les développeurs pour renouveler l’écosystème Windows et se débarrasser ainsi de certains problèmes de sécurité, comme les dépassements de mémoire tampon (qui n’existent plus en code managé). Ce qui pousse ainsi vers plusieurs rumeurs : Midori, système d’exploitation en code managé (dont le développement se ferait en collaboration avec l'équipe Redhawk), l’isolation des pilotes écrits eux aussi en code managé, etc.

RedHawk permet de faire le lien entre de nombreuses rumeurs, mais également des projets bien plus concrets. Ainsi, il est confirmé que Windows 8 pourra s’exécuter aussi bien sur des machines classiques que sur des tablettes. Les interfaces seront probablement très différentes, mais la base technique sera la même. Une même application .NET verrait alors son code traduit en MDIL en fonction du processeur : x86, x86_64 ou ARM par exemple.

RedHawk est donc en mesure de s’afficher comme la technologie « star » des futurs Windows… s’il est bien entendu confirmé.

Ceux qui souhaitent se renseigner davantage sur ce sujet pourront lire les trois liens suivants (en anglais), qui nous ont été donnés par Charon de Ma-Config.com :
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 20/04/2011 à 11:56

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 126 commentaires

Avatar de cal2 INpactien
cal2 Le mercredi 20 avril 2011 à 12:07:07
Inscrit le lundi 18 mai 09 - 28 commentaires
Je sens que le tout .NET, même en recompilation dynamique en code natif va tirer vers le haut le minimum nécessaire en termes de processeur... gaspillage de ressources encore une fois.
Avatar de Vincent_H Equipe
Vincent_H Le mercredi 20 avril 2011 à 12:09:22
Inscrit le jeudi 30 janvier 03 - 15419 commentaires
Je sens que le tout .NET, même en recompilation dynamique en code natif va tirer vers le haut le minimum nécessaire en termes de processeur... gaspillage de ressources encore une fois.


Tout dépend où tu veux placer le curseur de l'efficacité : avec une puissance supplémentaire, soit tu fais plus vite ce que tu faisais déjà, soit tu fais "mieux" dans le même laps de temps.
Avatar de ailes INpactien
ailes Le mercredi 20 avril 2011 à 12:13:10
Inscrit le vendredi 14 janvier 11 - 383 commentaires
Je sens que le tout .NET, même en recompilation dynamique en code natif va tirer vers le haut le minimum nécessaire en termes de processeur... gaspillage de ressources encore une fois.

Pas gaspillage, mais contrepartie. Tout dépend de ce que l'on cherche à obtenir ou mettre en avant.
Avatar de florianja INpactien
florianja Le mercredi 20 avril 2011 à 12:13:13
Inscrit le mercredi 19 mai 10 - 254 commentaires
Si je comprends bien la news, le truc consisterait à avoir en fait deux étages d'interprétation du code .net avant d'arriver au langage machine ?
Avatar de charon.G INpactien
charon.G Le mercredi 20 avril 2011 à 12:14:34
Inscrit le vendredi 29 avril 05 - 7344 commentaires
Je sens que le tout .NET, même en recompilation dynamique en code natif va tirer vers le haut le minimum nécessaire en termes de processeur... gaspillage de ressources encore une fois.

Non justement, c'est un runtime différent de .NET. Vu que le MDIL est très proche du language machine les performances sont extrêmement proches du natif. Il devrait être utilisé pour des drivers. Microsoft ne ferait pas çà si ça étalait pas niveau performances.

C'est justement le but de tout çà. Apparemment les applications C++ pourraient l'utiliser mais l'intérêt du c++ deviendrait limité, vu que le principal défaut du .NET serait corrigé.

Pour les performances il y a eu plusieurs news déjà qui parlaient de performances en hausse sur Windows 8.

J'en avais déjà parlé dans les commentaires. J'avais aussi expliqué que le noeud du problème pour Windows 8 serait le problème de performances avec .NET. RedHawk est la solution technique.

Il y a 126 commentaires

;