Politica de curățare a paginii
Este mai bine să păstrați întotdeauna în rezervă blocuri libere, eliberându-le în avans decât cu o lipsă de memorie, să le căutați și să le eliberați.
Daemonul de pagină este un program care verifică periodic starea memoriei, dacă se utilizează mai multe blocuri, atunci aceasta efectuează descărcarea selectivă a paginilor.
Pe sistemele UNIX, secvența de pornire a procesului este următoarea:
procesul 0 este un swapper
procesul 1 este init
Procesul 2 este un demon de pagină
Daemonul de pagină se trezește la fiecare 250ms și verifică numărul blocurilor libere de pagini, dacă există mai puțin de 1/4 din memorie, atunci începe să descarce paginile pe disc. Utilizează un algoritm de ceas modificat și este global (adică nu diferențiază în ce proces aparține pagina).
La fiecare câteva secunde, măturătorul verifică dacă există procese gata pe disc pentru a fi încărcate în memorie pentru a fi executate. În acest caz, codul programului din fișierul swap nu este salvat, dar este pompat direct din fișierul programului.
În sistemul LUNIX nu există pre-încărcarea paginilor și conceptul de set de lucru.
Textele programului și fișierele afișate sunt descărcate direct din fișierele de pe disc.
Restul sunt încărcate în partiția swap sau în fișierele swap (acestea pot fi de la 0 la 8).
Algoritmul de descărcare a paginii se bazează pe pagina demon (kswapd), este activată o dată pe secundă și verifică dacă există suficiente pagini gratuite. Daemonul poate fi activat și forțat, dacă nu există suficientă memorie.
Demonul este format din trei proceduri:
· Primul utilizează un algoritm de ceas, căutări pentru paginile cache paginii rare utilizate și o memorie cache a sistemului de fișiere.
· A doua procedură caută pagini rare utilizate.
· Cea de-a treia căutări pentru paginile rare utilizate de utilizatori unici. În primul rând, paginile sunt scanate pentru procesul care are cel mai mult.
În LINUX există un alt demon - bdflush. El se trezește în mod regulat și verifică dacă o anumită valoare a depășit numărul paginilor modificate, dacă da, atunci le forțează să fie forțate pe disc.
7.4 Caracteristicile implementării în Windows
Paginile au o dimensiune fixă (pe procesoarele Pentium 4 K, pe Itanium 8 sau 16 Kbytes) și sunt încărcate la cerere.
Domeniile albe ale datelor de proces privat sunt evidențiate.
Zonele împărtășite de toate procesele sunt întunecate.
Datele sistemului conțin indicatori și cronometre care pot fi citite de alte procese.
Afișarea părții de sus a memoriei kernelului vă permite să schimbați cardul de memorie atunci când firul este schimbat în modul kernel.
Paginile au trei stări:
· Liber - nu este folosit
· Fixed - datele sunt afișate în pagină
· Rezervat - rezervat, dar nu ocupat de date (la crearea unui fir)
Schimbul de fișiere poate fi de până la 16, fără partiții swap. Numai paginile de swap sunt stocate în fișiere swap.
Apelarea avansată în Windows nu este utilizată.
În Windows, se utilizează conceptul de set de lucru.
Demo-ul de pagină din Windows constă în:
· Managerul setului de sold - verifică dacă există suficiente pagini gratuite.
· Set Manager de lucru - care examinează seturile de lucru și eliberează paginile.
De asemenea, în Windows există următorii demoni:
· Demonul înregistrării paginilor afișate - scrierea fișierelor afișate
· Recorder pentru pagini modificate