[SOS] Chapitre 6 - Userland

KAISER Edouard edouard.kaiser at gmail.com
Jeu 22 Sep 00:00:10 CEST 2005


Salut à tous !
SOS se base sur un flat model, de ce fait le descripteur de segment
couvre la totalité de l'espace adressable. C'est entre autre pour ça
que lorsque votre fonction de chargement d'un programme en memoire,
dans l'espace utilisateur ne genere pas une exception car on copie
dans un endroit que couvre le segment du noyau.
J'en arrive également à vouloir charger des programmes en memoire dans
l'espace utilisateur en me basant sur votre methode de chargement
(fort ingénieuse au passage !). Le problème c'est que la zone noyau
s'arrete précisement aux 8 premiers mega octets  physiques (choix
arbitraire, histoire de mettre une limite...) et l'espace utilisateur
commence immédiatement aprés ces huits octets.
De ce fait si le code noyau essaye de copier quelque chose au dela de
ces 8Mo, je souleve forcement une exception car je dépasse la limite
indiqué dans le descripteur...
De ce fait je me demande si le descripteur de segment du noyau ne
devrait pas couvrir toute la zone adressable meme dans un modele multi
segment ? Si ce n'est pas le cas je ne vois pas comment le noyau
pourra copier quoi que ce soit en dehors de son espace.
Des avis ? =)
A bientot !
--
KAISER Edouard.
Wiki-Blog : http://kaiser.edouard.free.fr/
BesOS : http://besos.mtp.epsi.fr/


Plus d'informations sur la liste de diffusion Sos