vm_fault: fault on nofault entry

Dan Lukes dan at obluda.cz
Sun Mar 19 12:10:48 CET 2006


Divacky Roman napsal/wrote, On 03/19/06 10:05:
>> 	Je-li aktivni jak segmentace tak strankovani (a to na FreeBSD je) tak 
>> adresace pameti z hlediska procesu probiha systemem segment:offset 
>> (procesor ma na adresu segmentu vyhrazene specialni registry, tzv. 
>> segmentove - cs,ds,es,fs,gs,ss).

> neni to nahodou tak, ze fbsd pouziva jen jeden segment velky 4G (tj. cela pamet
> na i386) a tudiz se ho zadna segmentova aritmetika netyka (pominu-li PAE)..

	Nechce se mi ted prilsi studovat zdrojaky, ale vazne o tom pochybuji.

	Pripravil byses tak o ochranu pameti (zejmena mezi procesy navzajem). 
Pravovy mechanismus strankovani je pro tyhle ucely prakticky 
nepouzitelny (taky pro to neni urcen). Nejmene datovy segment potrebuje 
kazdy proces svuj a co se kodoveho tyce - take neni prilis vhodne, aby 
kazdy proces videl kod kazdeho jineho procesu.

	Jen jsem tak lehce juknul do zdrojaku zavadece - a jeho GDT obsahuej 
ctyri ruzne segmenty, takze nejmene v teto fazi jich je vic nez jeden. 
Jak je to pri vlastnim behu systemu, to uz jsem nezkoumal.

	Nicmene, tohle nebylo predmetem puvodni otazky ani odpovedi - i kdyby 
tam byl jen jeden segment, pristup do pameti by probihal prave tak, jak 
bylo naznaceno.

					Dan

P.S. Opravdu se nechces, pres nekolikere prosby, zamyslet nad rozsahem 
quotingu ? Nechat tam cely puvodni dopis kvuli triradkove reakci, to uz 
neni "bezna lenost" - to uz je docela obycejna bezohlednost a mrzi me, 
ze to tak musim nahlas rict ...


-- 
Dan Lukes                                   SISAL MFF UK
AKA: dan at obluda.cz, dan at freebsd.cz,dan at kolej.mff.cuni.cz



More information about the Users-l mailing list