[SOS] Projet de développement d'OS

Thomas Petazzoni thomas.petazzoni at enix.org
Lun 22 Aou 14:05:28 CEST 2005


Salut,

David Decotigny wrote:

Je complète un petit peu ce qu'a dit David, qui était déjà très complet 
et résumait très bien les points originaux de Kos.

> S'il y a une originalité de Kos pour ce qui concerne sa modularité,
> c'est au niveau de ce mini-nano-noyau, le "loader", qu'elle se trouve.
> D'ailleurs, pour qui veut se lancer dans un noyau modulaire, il peut
> très bien reprendre ce loader sans reprendre du tout le reste de Kos. Ca
> permet de partir très vite sur un noyau modulaire sans s'encombrer des
> histiores de scripts ld & co : il suffit de savoir faire "gcc -c
> fichier.c" et c'est regle, le loader s'occupe du reste.

L'intérêt de cette architecture modulaire, c'est que les différentes 
briques de base de l'OS sont bien séparées. Lorsque l'on programme un OS 
de type monolithique, on se rend vite compte que les différents 
mécanismes se recoupent, et qu'on arrive rapidement à un sac de noeuds 
si on ne fait pas attention.

Le découpage en module permet de bien séparer les différentes 
fonctionnalités. Ainsi, chaque module exporte un ensemble de fonctions 
bien défini (voir les "appels" à la macro EXPORT_SYMBOL()). Du coup, on 
maîtrise bien, au sein d'un module, quelles fonctions sont visibles des 
autres modules et quelles fonctions sont strictement internes. Ça amène 
à réfléchir sur les interfaces entre les modules qui ne sont parfois pas 
faciles à définir proprement.

Au niveau de Kos, je dirais que ce découpage est l'intérêt principal de 
l'architecture modulaire: l'aspect "chargement dynamique" de 
fonctionnalités n'est pas du tout utilisé dans Kos.

> Thomas, quels autres points originaux ai-je oublié ?

En dehors de ce que j'ai dit plus haut sur l'intérêt des modules, je 
dirais que la page http://kos.enix.org/documentations.php?lang=fr 
contient quelques documents intéressants sur le fonctionnement de Kos. 
La page http://kos.enix.org/talks.php?lang=fr contient également 
quelques diaporamas sur Kos, résumant les principales fonctionnalités et 
les aspects originaux du projet.

Bonne journée,

Thomas
-- 
Thomas Petazzoni
thomas.petazzoni at enix.org


Plus d'informations sur la liste de diffusion Sos