2008-10-05 13 views

Répondre

23

exokernel est un système d'exploitation du MIT (et une classe de c'est des variantes) qui gère relativement peu abstraction matérielle. Dans exokernel, les responsabilités de bas niveau de contrôle du matériel (en particulier allocation de mémoire) sont souvent laissés dans les mains du développeur. De nombreux développeurs préféreraient probablement que le système d'exploitation prenne plus de responsabilités pour de telles tâches de bas niveau, car la plupart des développeurs écrivent simplement des applications.

Un exokernel juste alloue des ressources matérielles physiques aux programmes. Cela permet au programme d'utiliser les systèmes d'exploitation de la bibliothèque, qui sont liés pour fournir une partie de l'abstraction que l'exokernel ne fournit pas. Le développeur peut alors choisir entre des modèles d'abstraction, ou bien lancer le leur. Compte tenu de l'application, cela peut avoir de grands avantages de performance. Si vous ne savez pas ce que vous faites, vous pouvez également écrire des programmes qui vont exploser lorsqu'ils se plantent.

La plupart des noyaux feront plus de abstraites matériel physique ressources dans une sorte de modèle théorique . Un développeur s'interface avec ce modèle, qui gère les points plus fins de traiter le matériel en interne.

Le terme nanokernel est utilisé pour décrire un type de noyau spécifique. Le préfixe "pico-", ou "nano-", "micro-" indique généralement la "taille" du noyau. Les plus gros noyaux sont plus construits avec plus de fonctionnalités, et traitent plus d'abstraction matérielle. Nanokernels sont des noyaux relativement petits qui fournissent l'abstraction matérielle, mais manquent des services du système. Les micro-noyaux modernes manquent également de services système, de sorte que les termes sont devenus analogues.

Les noms des noyaux souches habituellement d'un lot spécifique de recherche qui a abouti à un nouveau type de noyau, par exemple le noyau développé à Carnegie Mellon appelé « Mach », qui a été l'un des premiers exemples d'un moderne "micro-noyau".

Sidenote: Le véritable avantage d'exokernel est le choix. La plupart du temps, beaucoup d'abstraction signifie moins de bugs catastrophiques. Dans certaines applications, vous pourriez vouloir utiliser un modèle d'abstraction différent, ou vous pourriez vouloir tout gérer vous-même. Si nous voulions abandonner l'abstraction de système d'exploitation pour un projet particulier, nous devions découper le système d'exploitation et confier un morceau de matériel au travail. Dans le cas d'Exokernel, ce n'est pas nécessaire. Nous pouvons programmer directement "au métal", mais aussi choisir de lier dans un modèle d'abstraction quand on veut. C'est un concept très puissant.

Sidenote: Le traitement de la mémoire à un niveau aussi bas n'est pas nécessaire pour la plupart des développeurs d'applications. Il y a généralement plusieurs couches de système d'exploitation construites au-dessus d'un noyau, et votre application fonctionnera au plus haut niveau du système d'exploitation. Lorsque vous écrivez en javascript, vous êtes encore plus haut, vous interfaçant avec un modèle implémenté dans une application qui fonctionne sur un système d'exploitation, etc. etc. L'adressage de la mémoire, même s'il ne doit pas être ignoré, peut signifier quelque chose de complètement différent qui écrit sur un si haut niveau d'abstraction.

Questions connexes