linux a pamet

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Čtvrtek Říjen 12 11:07:04 CEST 2000


On Tue, 10 Oct 2000, Miroslav Petricek wrote:

> Logická (virtuální) adresa adresuje paměť ve tvaru:
>  selektor(16bit):offset(32bit)
> V selektoru jsou dva bity vyhrazeny pro přístupová práva. Proto
> 2^14 * 2^32 = 64 TB virtuálních adres

Je pravda, ze si muzete hrat na vypadky celych segmentu a tim padem obejit
omezeni, ze se vsechny segmenty (ktere jsou "present") musi vejit do
prostoru 4 GB. Ale chtel bych videt system, kde by to fungovalo tak, aby
to bylo pouzitelne.

Jinak Linux, podobne ostatni unixove systemy, ale treba i NT, si na
segmentaci moc nehraje a prezentuje procesum linearni adresovy prostor.
Klasicky pristup byl ten, ze proces ma k dispozici 0-3 GB a 3-4 GB je
k dispozici jadru, ktere tam ma mj. namapovanou fyzickou pamet 1:1. To
vedlo k omezeni fyzickeho adresoveho prostoru na 1 GB. Pozdeji se objevila
moznost tu hranici konfigurovat, tj. zmensit trochu zivotni prostor
procesum a o to same ho zvetsit jadru, coz umoznilo rozdelit adresovy
prostor pul na pul: tj. 2 GB na virtualni pamet procesu, 2 GB na pamet
jadra. Dal zmensovat prostor pro procesy by teoreticky slo, ale asi to
neni v praxi dobry napad, protoze od 1 GB (0x40000000) se delaji mmapy
(bez explicitne udane adresy), tj. mj. se tam mapuji sdilene knihovny.
Vsechna cisla jsou plus/minus delta. :) Jak SuSE dela ty 4 GB RAM,
to nevim, mozna se svymi znalostmi pochlubi nekdo informovanejsi.

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux