next up previous contents
suivant: Les pilotes de périphériques monter: Les appels systèmes présents précédent: Les appels systèmes privilégiés   Table des matières

Evolutions des appels systèmes

Il est prévu de changer la façon dont sont implémentés la majorité des appels systèmes de KoinKoin. En effet à terme seul les appels systèmes concernant la gestion des messages subsiteront dans leur forme actuelle.

Les autres appels systèmes prendront en fait la forme d'un envoi de message à KoinKoin, les données duquel décriront l'appel système (code identifiant + arguments). Ainsi lors de l'envoi d'un message, KoinKoin vérifiera si le message lui est destiné. Si tel est le cas, il parsera le message et effectuera l'appel système pour le thread appelant.

Le premier avantage de cette approche concerne la portabilité du code. En effet, seuls les appels systèmes concernant la gestion des messages seront codés en assembleur, réduisant le nombre de lignes de code dépendant de l'architecture. Un autre avantage est la facilité d'écriture d'appels systèmes, en particulier le passage d'arguments.

Enfin cette approche nous permettrait de mettre en place une optimisation intéressante pour les performances, nommé ``mode rafale''. En effet un message pourrai être utilisé pour demander en un envoi la réalisation de plusieurs appels systèmes, ne nécessitant qu'un seul changement de contexte. La permission serai toujours vérifiée pour chaque appel système de la rafale, et une limite au nombre d'appels systèmes que peut contenir une rafale serai imposée. Ainsi la rafale permettrai d'améliorer les performances lors de l'enchainement d'appels systèmes sans pour autant porter atteinte à la sécurité de KoinKoin.


next up previous contents
suivant: Les pilotes de périphériques monter: Les appels systèmes présents précédent: Les appels systèmes privilégiés   Table des matières
nicolas 2006-07-30