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

En commençant par Windows 8 ? 126
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 :
Publiée le 20/04/2011 à 11:56
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.

Soutenez nos journalistes

Le travail et l'indépendance de la rédaction dépendent avant tout du soutien de nos lecteurs.

Abonnez-vous
À partir de 0,99 €

Publicité