Techdays 08 : Singularity ou le futur de l'OS ?

le 12/02/2008 à 22:02
Techdays 08 : Singularity ou le futur de l'OS ?
Les trois jours des Techdays sont essentiellement l'occasion pour Microsoft d'initier ou des former des professionnels ou des amateurs à ses technologies, mais quelques unes des sessions techniques adoptent un caractère résolument prospectif, comme la séance "Singularity", animée aujourd'hui par Bernard Ourghanlion, directeur technique et sécurité chez Microsoft France. Lancé en 2003, le projet Singularity vise à "repenser les fondamentaux qui régissent la conception d'un système d'exploitation".

"Les industries changent, les machines sont de plus en plus rapides, les menaces se multiplient, et pourtant les systèmes d'exploitation n'ont pas vraiment évolué depuis 20 ans. Comment se fait-ce ?", a lancé en guise d'introduction Bernard Ourghanlion. Voilà donc l'idée fondatrice du projet Singularity : repenser le système d'exploitation, en abandonnant les présupposés qui régissent sa conception depuis la fin des années 60, de façon à le rendre plus sûr. Elaborée au sein des équipes de Microsoft Research, une première version de Singularity est d'ores et déjà sur pied. Cet objet de recherche n'a cependant pas vocation à déboucher sur un système opérationnel.

Comment rendre un système d'exploitation plus sûr, alors que les menaces informatiques ne cessent de se multiplier ? Singularity repose sur le principe suivant : afin de garantir sa sécurité, le noyau (kernel) du système doit être parfaitement isolé des processus exécutés sur la machine. Cette problématique n'a rien de vraiment nouveau puisque tous les OS tentent à leur façon d'y répondre - notamment avec les rings, ou anneaux de privilèges, grâce auquel on limitera les types d'accès mémoire autorisés à une application. Ces derniers impliquent toutefois de s'appuyer sur le hardware, et ne résolvent pas parfaitement le problème dans la mesure où les processus peuvent toujours corrompre le noyau.

Avec Singularity, Microsoft propose un système d'exploitation basé sur un micro-noyau dans lequel les processus seraient exécutés de façon totalement indépendante, un concept baptisé SIP pour Software Isolated Processes). Vérifiés et scellés avant d'être chargés en mémoire afin qu'aucun code dynamique ne puisse être injecté pendant l'exécution, ils sont automatiquement interrompus en cas de problème, de façon à ne pas interférer avec le noyau. La communication entre les différents processus et le noyau est de son côté assurée par des canaux de communication protégés.

Afin que le système soit fiable, Microsoft préconise le recours à des langages à code managé, en l'occurrence C# et Sing#, une de ses extensions spécialement conçue pour la communication au sein de l'OS. En pratique, Java conviendrait aussi, mais Microsoft a, ô surprise, écarté cette solution. De la même façon, l'éditeur préfère recourir à Bartok, un composant qui réunit compilateur et environnement d'exécution, plutôt qu'au Common Language Runtime (CLR) utilisé avec Windows.

"Le système ne doit pas être victime des défaillances du logiciel", explique Bernard Ourghanlion, "il doit donc embarquer des composants qui vérifient que lui et les logiciels qui l'accompagnent se comportent conformément aux attentes, ce qu'on ne peut pas prouver de façon formelle à l'heure actuelle". L'ensemble serait donc accompagné de "manifestes", chargés de prévenir les éventuels conflits entre deux processus, et de modules de vérification dont la mission serait de vérifier que chaque processus a bien le comportement que l'on attend de lui.

Une partie des ressources physiques devrait donc être allouée à la gestion de processus parallèles, ainsi qu'à toutes les opérations de contrôle et de communication. Pour autant, la méthode Singularity pourrait occasionner un gain de performances, estime Microsoft, dans la mesure où le noyau est considérablement allégé. Aucune application concrète ou commerciale de Singularity n'est prévue pour le moment, notamment parce qu'un tel système impliquerait que l'on réécrive toutes les applications qui lui sont destinées. A moins que la virtualisation ne vienne faciliter la tâche des éditeurs ?

Commentaires

Ecrire

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours