Architecture Salut,
j'ai quelques proposition concernant l'architecture de MenuetOS.
J'ai longtemps réfléchi comment on pourai inclure des pilotes pour gérer le matériel.
d'abord j'ai pensé ajouter du codes au source du noyau, mais cette solution me parais pas pratique, parce ça ferai un noyau trop gros.
de plus, il faudrai encore ajouter/modifier de syscall, ce qui risque de réduire la compatiblité avec les autres programmes. ya la solution des modules, mais il faudrai ajouter une interface pour ces modules, c pas pratique non plus
Lors de ma longue quête sur le net (merci google) , j'ai trouvé deux solution possilbe, inspirée de deux architectures différentes, qui à mon avis ne nécésiten pas la modification du noyau, on garderai ainsi sa structure globale.
La première est , comme dans les micro noyaux, que les pilotes pouraient êtres simplement des programmes, qui communiquent avec les applications via IPC ou bien par les sockets. pour demander au pilote de faire quelque chose, on enverai un message ou bien on écrirai dans le socket,et le pilotes nous répondrai par la meme manière.
La deuxiemme solution , serai comme dans les exokernel, que les pilotes sont des librairie chargées dynamiquement dans la mémoire de l'application. Un fichier binaire,chargé comme un fichier, l'entête serai composé d'une table contenant l'adresse des fonctions , et pour efecturer quelque chose, il suffirait de faire "call adresse_du_fichier+adresse_de_la_fonction) cette deuxieme soluction est meme meilleure que la première puisque le programme accède directement à la resource.
J'éspère que mes idées porterons fruits, personnelement j'essaye d'imaginer commen implémenter tout ça, (je suis pas un pro de l'asembleur, mais quand je veux quelque chose, j'essaye d'aller jusqu'au bout)
sorry , i dont write nice in english, i hope that you'll unterstad
mike.dld- 08-14-2006
Second idea sounds better, and that's how drivers are implemented in M64 as far as I can see. But it implies development of a kind of standard, to describe which functions should driver of every kind (video, sound, network, etc.) have, and how do drivers function and communicate with programs/kernel.
Madis731- 08-15-2006
Online translators do a magnificent job these days and yes, the second way is almost the approach in MenuetOS 64-bit version.
trolly- 08-15-2006
Online translators do a magnificent job these days and yes, the second way is almost the approach in MenuetOS 64-bit version.But, The driver in MenuetOS are implemented at kernel level, no?
trolly- 08-15-2006
I'v made a dinamic link library, a simple binary thats loaded by a applications and that has 2 function. it work well and i hope that we can use this idea for developing driver library (like exopc from the MIT)
Madis731- 08-15-2006
I'm afraid I don't know what you mean by kernel level :(
maybe you should ask Ville about it @ http://menuet.2.forumer.com/
trolly- 08-16-2006
"kernel-level" = i mean at "kernel space"
i want a driver that run like a normal process at "user space"
wha do you thin about dynamic library (like window's dll) ?
Forumer™ is Voted #1 Free Forum Hosting provider
Build your own community today with the largest message board hosting company.