Midori: De nouvelles informations [MAJ]

Vignette
Écrit par charon
Publié le : {{ dayjs(1256035494*1000).local().format("L").toString()}}
Suivez-nous

Mise à jour:

Job Midori 3

Job Midori 3

Une nouvelle offre d’emploi sur le site de Microsoft est apparue le 27 octobre . Elle concerne un nouveau système d’exploitation fiable, sécurisé et à hautes performances entièrement conçu avec des langages vérifiables MSIL (code .NET) .
Midori utiliserait un modèle de programmation entièrement asynchrone. Ce n’est pas étonnant pour un système prévu pour des machines massivement parallèles. L’architecture de Midori améliore considérablement l’efficacité des outils d’analyse de code. Microsoft recherche justement pour ce poste une personne qui travaillera sur ces nouveaux outils d’analyse.

****************************************************************************************************************

Rob Jellinghaus Profil

Rob Jellinghaus Profil

Aux alentours de 2008, des informations ont commencé à circuler sur Internet à propos de MIDORI. Ce projet est conduit par Eric Rudder. Il s’agit d’un projet ambitieux destiné à recréer ex nihilo un nouveau système d’exploitation distribué depuis le  »bootloader » jusqu’au navigateur web .
MIDORI n’est pas un projet de recherche mais un projet issu de la « Technical strategy incubation team ».

Job Midori

Job Midori

Suite à quelques recherches, de nouveaux éléments se font jour. Dans une offre d’emploi datant du 15 octobre , Microsoft évoque un projet de nouveau système d’exploitation au sein de l’équipe de développement précitée. Il s’agit donc bien du projet MIDORI. D’après la description, le noyau de MIDORI serait composé d’un micro noyau écrit en C++ enrichi par un autre système d’exploitation écrit en C#. Chacun des deux systèmes aurait son propre espace d’adressage matériel mémoire indépendant.
Il semble donc que Microsoft ait choisi une architecture hybride.

Il est probable que la partie en code  »managé » (MSIL) reprenne plusieurs concepts du projet de recherche Singularity. Ce système utiliserait une isolation peu coûteuse en performances et n’emploierait pas de mémoire partagée.
En effet le projet Singularity n’utilise pas d’isolation matérielle pour les processus. Il n’y a donc pas de « context switch ». Les « context switch » sont particulièrement coûteux en performances. De plus sur Singularity les processus sont scellés en mémoire au lancement. Il n’est pas donc pas possible de charger à la volée des dll dans l’espace mémoire du processus ou de charger un  »driver » dans l’espace mémoire du noyau. Les processus sont isolés. Pour communiquer, les processus passent par des canaux de communication fonctionnant avec une mémoire d’échange ( »exchange heap »).

Job Midori 2

Job Midori 2

Dans une autre offre d’emploi où est directement cité MIDORI, Microsoft recherche un développeur pour concevoir la pile graphique de MIDORI. Le développeur devrait aborder différents domaines comme la réactivité dans les interfaces, la sécurité dans les interfaces, une interface conçue pour des environnements distribués afin de partager les périphériques, de nouveaux modèle de développement pour des interfaces asynchrones et enfin une utilisation efficace des GPU et du  »manycore ».
MIDORI est un projet totalement isolé des autres groupes à l’instar de Windows. Il évolue de façon totalement autonome.Les développeurs de ce projet ne sont plus bridés par des contraintes de compatibilité ce qui leur permet d’innover et d’expérimenter de nouvelles techniques, ce qui n’aurait pas été possible avec Windows.

John Richardson Profil

John Richardson Profil

Il semble que John Richardson ancien chef de projet du Kernel-Mode Driver Framework (Framework pour développer les drivers sous Vista et Windows 7) ait migré lui aussi vers le projet MIDORI.
En 2006 j’avais pris contact avec John Richardson pour rédiger le dossier Vista paru sur PCInpact. Suite à de nombreux renseignements sur le sujet je cherchais des informations sur une possible isolation des  »drivers » dans Windows. En effet 85% des plantages proviennent des  »drivers ». Depuis 2006 Microsoft a exploré plusieurs pistes afin d’isoler les pilotes. Ce point particulier fera peut être l’objet d’un prochain billet sur mon blog.

Thanks for the mail. I can’t comment on future Microsoft products, but what I can say is that in Vista we support the User Mode Windows Driver Foundation. This is a sub-set of the KMDF model isolated in a user mode process. It currently supports USB and 1394 devices, as well as IP connected devices. We are looking at expanding coverage for this model in the future.

Hardware isolation and virtualization does offer some interesting angles, but there are no direct plans at the current time. Using a user process offers a lighter weight solution at the current time.

Thanks,
John Richardson
Software Architect
Microsoft Corporation
I would like to add that the WDF API’s were designed to enable Driver Isolation in the future. At the current time, we do not have any product plans for when, or if such a technology could be available. The key point is that the WDF API’s were designed to anticipate future technologies in which we need to separate the DDI interface contract from the internal implementation of any given OS version.

Thanks,

John Richardson
Development Lead
Windows Driver Foundation – Kernel Mode

Dans ses deux mails, John Richardson explique qu’ils comptent développer l’utilisation des  »drivers » en espace utilisateur, introduite dans Vista. Ce type de  »drivers » étant mis en oeuvre au sein des processus utilisateurs, un possible échec n’entraîne pas de BSOD. En revanche il n’est pas possible de faire évoluer tous les  »drivers » en espace utilisateur, en particulier pour des raisons de performances. John Richardson expliquait que Kernel-Mode Driver Framework (KMDF) avait été conçu pour prévoir une isolation future des  »drivers » en espace noyau.
John Richardson semble maintenant travailler sur une solution à long terme de ce problème.

Stathis Papaefstathiou profil

Stathis Papaefstathiou profil

Il ressort du profil LinkedIn de Stathis Papaefstathiou de février 2006 à janvier 2008 qu’il a participé au projet MIDORI. Son rôle a été d’étudier les dernières technologies de virtualisation et de plateformes matérielles. Il a apparemment travaillé à la conception de MIDORI pour définir son architecture, sa gestion des ressources et l’infrastructure pour la communication distante.

sources:
Profil de Rob Jellinghaus

Midori: Première Offre emploi

Midori: Deuxième offre d’emploi

Profil de John Richardson

Profil de Stathis Papaefstathiou

Midori: Troisième offre d’emploi