[so] [SO] Nelamurire swap

Lucian Cojocar cojocar at rosedu.org
Thu Apr 29 07:31:37 EEST 2010


On 04/29/2010 01:51 AM, Lucian Mogoşanu wrote:
> 2010/4/29 Mircea Urse <umirc3a at gmail.com <mailto:umirc3a at gmail.com>>
> 
>     Multumesc pentru raspunsul detaliat.
>     Mai am o singura nelamurire:
> 
>     2010/4/26 Razvan Deaconescu <razvan.deaconescu at cs.pub.ro
>     <mailto:razvan.deaconescu at cs.pub.ro>>:
> 
>     > Suplimentar, paginile dispun, in general, de un bit Modified. Daca o
>     > pagina s-a gasit pe swap si nu a fost modificata (bitul Modified
>     este 0)
>     > atunci nu se mai efectueaza evacuarea (swap-out), pentru ca pagina
>     este
>     > deja acolo, in aceeasi forma ca in RAM.
> 
>     Acest lucru se intampla daca paginile care sunt incarcate in RAM se
>     afla si in swap. Dar cum
>     se ajunge la situatia in care in swap nu se gasesc paginile din RAM
>     atunci? Sau sunt 2 moduri de
>     implementare diferite?
> 
>     Multumesc.
> 
> 
> Salut,
> 
> Am publicat și eu o întrebare pe un subiect tangențial în alt fir de
> discuție (my bad) și după un pic de documentare [1], am ajuns la
> următoarea concluzie (e *foarte* posibil să fie greșită, though):
> 
> Dimensiunea swap-ului se consideră a fi aceeași cu a spațiului virtual
> de adresă, astfel că la swap-in nu se face eliminarea paginii din swap
> (presupun că nu ar mai fi nevoie în cazul de față) 

Corect.

> și se menține undeva
> o informație în legătură cu adresa paginii virtuale pe disc. 
În temă, este o mpare unu la unu între spaţiu virtual şi swap; adică
pagina virtuală x va intra în swap, la deplasamentul x * PAGE_SIZE.

> În sensul
> ăsta, flag-ul Modified are rolul de a verifica consistența datelor din
> swap cu cele din RAM într-un moment ulterior, când se face din nou
> swap-out. Astfel, se va face swap-out doar dacă pagina a fost modificată
> în RAM după ultimul ei swap-in (în felul ăsta se salvează un overhead).
> 

Corect.

Lucian


More information about the so mailing list