vm_fault: fault on nofault entry
Divacky Roman
xdivac02 at stud.fit.vutbr.cz
Sun Mar 19 10:05:29 CET 2006
On Sat, Mar 18, 2006 at 10:58:40AM +0100, Dan Lukes wrote:
> Divacky Roman napsal/wrote, On 03/17/06 19:02:
> >> Page fault je termin z oblasti spravy pameti tykajici se strankovani.
> >>
> >> Nastane v okamziku, kdy se nejaky proces odkaze na takovou linearni
> >> adresu pameti, ktera neni pritomna ve fyzicke pameti. Obsluha teto
> >
> > jen tak ze zajimavosti co je "linearni adresa pameti"?
>
> Jen velmi kratce, protoze tohle asi presahuje ramec teto konference.
> Detaily je treba hledat v takovych dokumentech, ktere popisuji pristup k
> pameti procesoru rady i386 mj. take segmentaci a strankovani. Urcite se
> k tomu neoc najde i na Internetu, pripadne, ja na to kupoval kdysi
> knizku od Grady (od te doby dokonce vydali upgrade).
>
>
> 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). Segment - to je jen pointer do tabulky
> (procesor jich ma vic - globalni GDT a "per proces" LDT), ve ktere se v
> prislusnem radku najde, kde segment skutecne zacina, jak je velky, jsou
> tam ale take pristupova opravneni k teto pameti a dalsi udaje.
>
> Z "base" adresy prislusneho segmentu a dodaneho offsetu se vypocte
> "linearni adresa". Jelikoz ale, jak vyse receno, mame zapnute i
> strankovani, tak to jeste neni konec. Cela pamet je rozdelena na stranky
> velikosti 4kB (az se podivate na detailni popis zjistite, ze u novejsich
> procesoru muze byt velikost stranky take 64kB) a tak se linearni adresa
> rozdeli na poslednich 12 bitu (offset v ramci 4kB bloku) a zbytek. Ten
> "zbytek" je adresa stranky - a na to je v systemu jedna tabulka, kde se
> eviduji udaje o dane strance. Jsou tam znovu opravneni k pristupu a mj.
> take to, zda je dana stranka pritomna ve fyzicke pameti - a kde.
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)..
strankovani fbsd samozrejme ma..
More information about the Users-l
mailing list