Acasă Hardware Ce este alocarea contigua a memoriei? - definiție din techopedia

Ce este alocarea contigua a memoriei? - definiție din techopedia

Cuprins:

Anonim

Definiție - Ce înseamnă alocarea contiguă a memoriei?

Alocarea de memorie contiguă este un model clasic de alocare a memoriei care atribuie unui proces blocuri de memorie consecutive (adică blocuri de memorie având adrese consecutive).

Alocarea contigua a memoriei este una dintre cele mai vechi scheme de alocare a memoriei. Când un proces trebuie executat, memoria este solicitată de proces. Mărimea procesului este comparată cu cantitatea de memorie principală contiguă disponibilă pentru a executa procesul. Dacă se găsește suficientă memorie contiguă, procesul este alocat memorie pentru a începe execuția sa. În caz contrar, acesta este adăugat la o coadă de procese de așteptare până când este disponibilă o memorie contigua liberă.

Techopedia explică alocarea contiguă a memoriei

Schema de alocare de memorie contiguă poate fi implementată în sisteme de operare cu ajutorul a două registre, cunoscute sub numele de registre de bază și limită. Când un proces se execută în memoria principală, registrul său de bază conține adresa de pornire a locației de memorie în care se execută procesul, în timp ce cantitatea de octeți consumată de proces este stocată în registrul limită. Un proces nu se referă direct la adresa reală pentru o locație de memorie corespunzătoare. În schimb, folosește o adresă relativă în raport cu registrul de bază. Toate adresele menționate de un program sunt considerate adrese virtuale. CPU creează adresa logică sau virtuală, care este transformată într-o adresă reală cu ajutorul unității de gestionare a memoriei (MMU). Registrul de adrese de bază este utilizat pentru traducerea adreselor de către MMU. Astfel, o adresă fizică este calculată după cum urmează:

    Adresa fizică = Adresa de registru de bază + Adresă logică / Adresă virtuală

Adresa oricărei locații de memorie la care face referire un proces este verificată pentru a vă asigura că nu se referă la o adresă a unui proces vecin. Această securitate de procesare este gestionată de sistemul de operare de bază.

Un dezavantaj al alocării memoriei contigue este că gradul de multiprogramare este redus din cauza proceselor care așteaptă memoria liberă.

Ce este alocarea contigua a memoriei? - definiție din techopedia