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