14
Sisteme de Operare Curs nr. 8 4.2. Scheme de alocare a memoriei Tehnicile de alocare a memoriei utilizate la diferite sisteme de operare se împart în: 1) alocare reală: - la sistemele monoutilizator; - la sistemele multiutilizator: - cu partiţii fixe (statică): - absolută; - relocabilă; - cu partiţii variabile (dinamică) 2) alocare virtuală: - paginată; - segmentată; - segmentată şi paginată, 4.2.1.1. Alocarea la sistemele monoutilizator: La sistemele monoutilizator este disponibil aproape întreg spaţiul de memorie. Gestiunea spaţiului cade în sarcina utilizatorului, existând tehnici de suprapunere (overlay) pentru a-şi putea rula programele mari: Această tehnică presupune păstrarea în memorie a instrucţiunilor şi datelor necesare la un moment dat. Când este nevoie de alte instrucţiuni acestea sunt încărcate în memorie în locul celor de care nu mai este nevoie: - zona dintre adresele 0 şi a-1 este rezervată nucleului sistemului de operare ce rămâne acolo de la încărcare şi până la oprirea sistemului. Între c şi m-1 este spaţiul nefolosit de către programul utilizator activ (dacă memoria are m locaţii). Adresa c variază de la un program utilizator la altul. Nefolosit Zona de suprapunere Parte rezidentă Nucleu SO 0 a b c m Init Prelucrări curente Terminare b b b Program utilizator Fig. 4.2.–1. Alocarea memoriei la un sistem monoutilizator folosind suprapunerea

SO-Curs8

Embed Size (px)

DESCRIPTION

sisteme operare

Citation preview

  • Sisteme de Operare

    Curs nr. 8

    4.2. Scheme de alocare a memoriei

    Tehnicile de alocare a memoriei utilizate la diferite sisteme de operare se mpartn:

    1) alocare real: - la sistemele monoutilizator;- la sistemele multiutilizator:

    - cu partiii fixe (static):- absolut;- relocabil;

    - cu partiii variabile (dinamic)2) alocare virtual:

    - paginat;- segmentat;- segmentat i paginat,

    4.2.1.1. Alocarea la sistemele monoutilizator:La sistemele monoutilizator este disponibil aproape ntreg spaiul de memorie.

    Gestiunea spaiului cade n sarcina utilizatorului, existnd tehnici de suprapunere(overlay) pentru a-i putea rula programele mari:

    Aceast tehnic presupune pstrarea n memorie a instruciunilor i datelornecesare la un moment dat. Cnd este nevoie de alte instruciuni acestea sunt ncrcaten memorie n locul celor de care nu mai este nevoie:

    - zona dintre adresele 0 i a-1 este rezervat nucleului sistemului de operare cermne acolo de la ncrcare i pn la oprirea sistemului. ntre c i m-1 este spaiulnefolosit de ctre programul utilizator activ (dac memoria are m locaii). Adresa cvariaz de la un program utilizator la altul.

    Nefolosit

    Zona desuprapunere

    Parterezident

    Nucleu SO

    0

    a

    b

    c

    m

    Init Prelucrricurente

    Terminare

    b bb

    Program utilizator

    Fig. 4.2.1. Alocarea memoriei la un sistem monoutilizator folosind suprapunerea

  • Sisteme de Operare

    4.2.1.2. Alocarea cu partiii fixe:Aceast alocare se mai numete i alocare static sau alocare MFT Memory Fix

    Task. Acest lucru presupune decuparea memoriei n zone de lungime fix numitepartiii. O partiie este alocat unui proces pe toat durata execuiei lui, indiferentdac o ocup complet sau nu ca n figura de mai jos:

    Alocarea absolut: se face pentru programe pregtite de editorul de legturipentru a fi rulate ntr-o zon de memorie i numai acolo.

    Alocarea relocabil este mult mai folosit: adresarea n partiie se face cubaz i deplasament: la ncrcarea n memorie a programului, n registrul lui de bazse pune adresa de nceput a partiiei.

    La sistemele multiprogramate dac un proces este plasat pentru execuie ntr-opartiie insuficient, el este eliminat din sistem fr a fi executat.

    De obicei, partiiile au lungimi diferite. Una dintre problemele cele maidificile este fixarea acestor dimensiuni, deoarece nu se pot prevedea cantitile dememorie pe care le vor solicita procesele ncrcate n aceste partiii. Alegerea unorpartiii de dimensiuni mari scade probabilitatea ca unele procese s nu poat fiexecutate, dar i numrul de procese active din sistem.

    La fiecare partiie exist un ir de procese care ateapt s fie executate, iarmodul n care este organizat sistemul de ateptare poate influena performanele deansamblu ale sistemului de calcul i poate atenua efectul unei dimensionridefectuoase a partiiilor.

    Legarea proceselor de partiii se face n dou moduri:- fiecare partiie are o coad proprie: este o metod mai simpl din punctul

    de vedere al sistemului de operare (se ntlnete la primele sistememonoutilizator IBM OS/MFT).

    - o singur coad pentru toate partiiile: se poate alege partiia cea maipotrivit pentru plasarea unui proces.

    Program1

    Program2

    Program3

    Nucelul SO

    Partiia 1

    Partiia 2

    Partiia 3

    0

    40

    86130

    168

    190

    250

    255

    Fig. 4.2.2. Alocarea memoriei cu partiii fixe

    CPU < + memorie

    limit baz

    DA

    NU

    Eroare de adresare

    Fig. 4.2.3. Adresarea cu registru baz

  • Sisteme de Operare

    4.2.1.3. Alocarea cu partiii variabileAceast alocare se mai numete i alocare dinamic sau alocare MVT

    Memory Variable Task (era folosit la PDP11). Este o extensie a alocrii cu partiiifixe i permite o exploatare mai eficient a memoriei sistemului de calcul: n funciede solicitri i de capacitatea memoriei rmas disponibil la un moment dat,numrul i dimensiunea partiiilor se modific automat.

    La intrarea n sistem, procesele sunt plasate n memorie ntr-un spaiu n carencape cea mai lung ramur a sa. Spaiul liber n care a intrat procesul se mparte ndou partiii: una n care este procesul i una liber. Dac sistemul funcioneaz untimp ndelungat se ajunge la situaia n care numrul spaiilor libere va crete, iar

    Fig. 4.2.4. Legarea proceselor la partiii: a) o coad pentru fiecare partiie; b) o coad pentru toate partiiile

    a) b)

    Fig. 4.2.5. Alocarea memoriei cu partiii variabile

    Program1

    SO0

    40

    100

    180

    200

    230

    255

    Program2

    Program3

    Program1

    SO0

    40

    100

    200

    230

    255

    Program4

    Program3

    Program1

    SO0

    40

    100

    200

    230

    255

    Program3

    Program5

    180

    Program4

    SO0

    40

    100

    200

    230

    255

    Program3

    180

    Program4

    SO0

    40

    100

    200

    230

    255

    Program3

    Program2FINISH

    Program4READY

    Program1FINISH

    Program5READY

  • Sisteme de Operare

    dimensiunea lor va scdea. Acest fenomen se mai numete i fragmentarea intern amemoriei.

    Dac un proces nu are spaiu s se ncarce n memorie, sistemul de operarepoate lua urmtoarele decizii:

    - procesul ateapt pn se elibereaz o cantitate suficient de memorie;- sistemul de operare ncearc alipirea unor spaii de memorie libere vecine,pentru a obine un spaiu de memorie liber suficient de mare pentru ncrcareaprogramului;- sistemul de operare decide efectuarea unei operaii de compactare a

    memoriei (relocare) deplasarea partiiilor active ctre partiia monitor (unde se aflpartea rezident a SO) pentru a se absorbi toate fragmentele de memorie neutilizate.

    Compactarea memoriei este, de regul, o operaie costisitoare i n practic sealeg soluii de compromis:

    - se lanseaz periodic compactarea, indiferent de starea sistemului. Procesele carenu au loc n memorie ateapt compactarea sau terminarea altui proces;- se realizeaz o compactare parial pentru a asigura loc numai procesului careateapt;- se ncearc numai mutarea unora dintre procese i se colecioneaz spaiile liberermase.

    4.2.1.4. Alocarea paginat a memorieiPaginarea este o metod care rezolv problema fragmentrii: memoria alocat

    unui program nu este contigu, adic programul poate fi ncrcat n memorie acolounde exist memorie disponibil.

    Aceast alocare presupune:- instruciunile i datele fiecrui program sunt mprite n zone de lungime

    fix, numite pagini virtuale. Fiecare adres relocabil (AR) aparine unei paginivirtuale. Paginile virtuale se pstreaz n memoria secundar.

    - memoria operativ este mprit n zone de lungime fix, numite paginifizice sau cadre. Lungimea unei pagini fizice este fixat prin hard. Paginilevirtuale i cele reale au aceeai lungime (o putere a lui 2) i reprezint o constanta sistemului (de exemplu: 1Ko, 2Ko etc).

    Program13ko

    2ko

    Program22ko

    4ko

    5ko

    Program35ko

    6ko

    Program13ko

    Program22ko

    Program35ko

    17ko

    Program13ko

    Program22ko

    11ko

    Program35ko

    6ko

    Program22ko

    Program13ko

    11ko

    Program35ko

    6ko

    Fig. 4.2.6. Posibiliti de compactare a memoriei

  • Sisteme de Operare

    - fiecare AR este o pereche de forma (p, d) unde p este numrul paginii i deste adresa n cadrul paginii (deplasarea n pagin).

    - fiecare AF (adres fizic) este o pereche de forma (f, d) unde f este numrulpaginii fizice i d este adresa n cadrul paginii.

    - calculul funciei de translare se face prin hardware.

    Exemplu:

    Pentru adresa logic 2 (pagina 0 deplasarea 2) avem adresa fizic 10 (=2x4+2)adic: adresa fizic = cadrul x dimensiunea paginii + deplasament.

    Pentru adresa logic 6 nseamn pagina 1, deplasare 2. Pagina 1 este memoratn cadrul 0, deci adresa logic 6 corespunde adresei fizice 2 (=0x4+2).

    Fiecare proces are propria lui tabel de pagini, n care este trecut adresa fizica paginii virtuale, dac ea este prezent n memoria operativ. La ncrcarea unei noi

    adresavirtual

    adresafizic

    Memorie fizicTabel de pagini

    CPU p d

    f

    p

    f d f

    d

    Fig. 4.2.7. Translatarea unei pagini virtuale ntr-o pagin fizic

    pagina 0pagina 1

    20

    01

    pagina 1

    pagina 0

    012

    Tabel de pagini Memorie fizicMemorie logic

    20

    01

    Tabel de pagini

    ABCD

    Pag.0

    Memorie logic

    EFGH

    01234567

    Pag.1

    Memorie fizic

    EFGH

    cadrul 0

    01234567

    cadrul 1

    ABCD

    cadrul 2

    89

    101112131415

    cadrul 3

  • Sisteme de Operare

    pagini virtuale, aceasta se depune ntr-o pagin fizic liber i n acest fel are loc oproiectare a spaiului virtual peste cel real ca n figura de mai jos:

    Astfel, se folosete mai eficient memoria operativ. Un alt avantaj este acela alfolosirii n comun a instruciunilor unor proceduri de ctre mai multe programe. Oprocedur care permite acest mod de lucru se numete procedur reentrant.

    Presupunem c avem un editor de texte al crui cod reentrant (instruciuni purefr date) ocup dou pagini. Dac am avea trei utilizatori, fiecare consumnd cte opagin pentru datele proprii, am avea n total nou pagini din memoria operativ.

    Fig. 4.2.8. Dou programe ntr-o alocare pe pagini

    Pag 0Pag 1 -Pag 2 -Pag 3

    Program 1

    Pag 2 -Pag 3 -Pag 4

    Pag 1Pag 0

    Program 2

    PR2 pag 0

    PR1 pag 3PR2 pag 4

    PR2 pag 1

    PR1 pag 0

    Fig. 4.2.9. Procedur reentrant alocat cu pagininare

    Cod 1Cod 2Date 1

    Program 1

    Cod 1Cod 2Date 2

    Program 2

    Cod 1Cod 2Date 3

    Program 3

    Paginivirtuale

    Tabele de pagini

    23

    5

    24

    5

    27

    5

    Cod 2Date 1Date 2Cod 1

    Date 3

    012345678

  • Sisteme de Operare

    Implementarea tabelei de paginDac dimensiunea tabelei de pagin este redus se poate utiliza un set de registre

    specializate, foarte rapide, care s asigure o eficien ridicat a translrii adreselor.Instruciunile destinate ncrcrii sau modificrii acestor registre trebuie accesatenumai de ctre sistemul de operare.

    Dac dimensiunea tabelei este mare, este preferabil ca ea s fie pstrat nmemoria principal, ntr-o zon indicat de valoarea unui registru specializat numitregistrul de baz al tabelei de pagin (RBTP). Dac trebuie s se lucreze cu o alttabel de pagin dect cea curent trebuie rencrcat registrul cu o alt valoarescznd astfel timpul de schimbare al contextului. O particularitate a acestei soluiieste faptul c pentru a accesa o zon de memorie utilizator sunt necesare dou operaiide acces la memorie una pentru tabela de pagin i alta pentru cuvntul propriu-zis.Folosind valoarea din RBTP deplasat cu numrul de pagin - p (aflat n adresalogic), se determin mai nti numrul de cadru c asociat paginii, care mpreun cudeplasamentul n pagin d d adresa real.

    O alt soluie ar fi folosirea unei memorii hardware speciale (un set de registreasociative sau translation look-aside buffer), de mic dimensiune, cu urmtoarelecaracteristici: fiecare registru are dou pri, cheie (conine numrul paginii) ivaloare (numrul cadrului).

    Cnd este generat o adres logic , dac numrul de pagin coincide cu una dinchei (din TLB), numrul de cadru este disponibil imediat i este folosit pentruaccesarea memoriei. Dac numrul paginii nu coincide cu nici una dintre chei, trebuieefectuat un acces la tabela de partiii aflat n memoria intern. Informaia va fifolosit att pentru accesarea datelor din memorie, ct i pentru adugarea ei n TLBpentru a putea fi folosit ulterior.

    adresavirtual

    adresafizic

    CPU p d

    Tabel de pagini

    f

    p

    f d

    Memorie fizic

    Fig. 4.2.10. Translarea paginii folosind TLB

    TLB hit

    numrulpaginii

    numrulcadrului

    TLB (translation look-asidebuffer)

    TLB miss

  • Sisteme de Operare

    Paginarea multinivel:Sistemele de calcul suport un spaiu logic de adresare foarte mare (232 sau

    264) i din acest motiv tabela de pagini trebuie s fie foarte mare. Pentru un sistem cuspaiul logic de adresare pe 32 de bii , dac avem mrimea paginii de 4K bytes (212),atunci numrul de intrri n tabela de pagini ar trebui s fie de peste 1 milion (232 / 212= 220=1048576). Deoarece fiecare intrare const n 4 bytes, fiecare proces poate aveanevoie de 4 Mbytes de spaiu de adresare pentru tabela de pagini. Este aproapeimposibil s alocm tabela de pagini ntr-o zon contigu de memorie.

    Soluia pentru rezolvarea acestei probleme este paginarea multinivel: adresalogic o putem mpri n numrul de pagin de 20 bii i deplasamentul n pagin de12 bii. Deoarece vrem s paginm tabela de pagini, putem mpri numrul paginii ndou pri: ca n figura de mai jos:

    unde p1 este index n tabela de paginiextern, p2 este deplasamentul n aceast tabel i deste deplasamentul n pagina de memorie.

    p1 p2 d

    10 10 12

    Numrul paginii deplasament

    tabela extern

    1

    500

    100

    700

    920

    900

    tabela de pagini

    pagina 0pagina 1

    pagina 100

    pagina 500

    pagina 700

    pagina 900

    pagina 920

    memorie

    Tabela extern

    adresa logicp1 p2 d

    p1

    p2

    Memorie fizic

    d

    tabela de pagini

    Fig. 4.2.11. Translarea adresei n cazul paginrii cu 2 nivele

  • Sisteme de Operare

    4.2.1.5. Alocarea segmentat a memoriei

    Mecanismul de alocare segmentat introduce faptul c textul unui program poatefi plasat n zone de memorie distincte, fiecare zon coninnd o bucat de programnumit segment.

    Fiecare segment este caracterizat prinnume i lungime.

    O adres virtual este o pereche (s, d),unde s este numrul segmentului i d estedeplasamentul n cadrul segmentului.Acestei perechi i corespunde o adresfizic, iar corespondena este realizat printabela de segment ce conine un numr deintrri egal cu numrul de segmente dinprogram.

    Avantajele fa de alocarea pe partiii: - se pot crea segmente reentrante ce pot fi folosite de mai multe procese.- se poate realiza protecia memoriei prin adugarea unor drepturi de acces.

    Implementarea tabelei de segmentSoluiile de implementare sunt asemntoare cu cele de la tabela de pagini. O

    soluie ar fi utilizarea de registre rapide care s asigure o vitez de acces foarte marei efectuarea simultan a operaiilor de comparare a deplasrii cu dimensiuneasegmentului i nsumarea cu adresa de baz a segmentului. Dac programul esteformat dintr-un numr mare de segmente este indicat ca aceast tabel s fie pstratn memorie. Pentru a putea fi accesat se folosete un registru de baz al tabelei desegment (RBTS) i, deoarece programele nu au acelai numr de segmente sefolosete, n plus, un registru lungime al tabelei de segment (RLTS). Pentru fiecareadres logic (s,d), se verific corectitudinea numrului de segment (0

  • Sisteme de Operare

    apoi se nsumeaz numrul segmentului cu RBTS ( coninutul registrului) i se obineadresa din memorie a tabelei de segment ce va fi citit. Se compar apoi deplasarea cudimensiunea segmentului i se calculeaz adresa fizic a cuvntului dorit ca sumadeplasrii i a adresei de baz a segmentului.

    O alt soluie ar fi folosirea de registre asociative care s pstreze cele maiutilizate intrri ale tabelei de segment.

    4.2.1.6. Alocarea segmentat i paginat a memorieiAtt la alocarea paginat, ct i la alocarea segmentat poate apare fenomenul de

    fragmentare i, uneori, este preferabil combinarea lor. Astfel, alocarea spaiuluipentru fiecare segment se face paginat.

    Fiecare proces are propria lui tabel de segmente. Fiecare segment are proprialui tabel de pagini. Fiecare intrare n tabela de segmente are un cmp rezervat adreseide nceput a tabelei de pagini proprii segmentului.

    Adresa virtual este de forma (s, p , d), unde s este numrul segmentului, peste numrul paginii virtuale n cadrul segmentului, iar d este deplasamentul n cadrulpaginii.

    Adresa fizic este de forma (f, d), unde f este numrul paginii fizice, iar d estedeplasamentul n cadrul paginii.

    Tabela de procese

    Tabela de segmente(una la proces)

    Tabela de pagini(una la segment)

    Memoria real

  • Sisteme de Operare

    Intrarea tabelei de segment nu conine adresa de baz a segmentului, ci adresade baz a unei tabele de pagin asociat acestui segment (p). Segmentul este formatdintr-un numr de pagini cu aceeai dimensiune. Deplasarea n cadrul segmentului seface cu numrul de pagin i deplasare n cadrul paginii. Deoarece ultima pagin afiecrui segment nu este ntotdeauna ocupat complet, poate apare o fragmentareintern , dar totui mai redus fa de celelalte dou metode (paginare i segmentare).

    4.3. Memoria virtual

    Memoria virtual este o tehnic ce permite execuia proceselor, chiar dac acesteanu se afl integral n memorie. Un avantaj direct este acela al rulrii unor programe cudimensiuni mai mari dect cele ale memoriei fizice.

    p d

    s p

    lungimeatabelei de

    pagin

    bazatabelei de

    pagin

    tabela de segment

    +

    NU

    DA

    eroare

    + f df memorieRBTS

    poriune atabelei de

    pagin

    adresfizic

    Adres logic

    Fig. 4.2.13. Paginarea segmentelor

    Pagina 0Pagina 1Pagina 2

    Pagina nmemoria virtual

    hart de memorie

    memoria fizic

    swap

    Fig. 4.3.1. Memoria virtual

  • Sisteme de Operare

    Folosirea memoriei virtuale este justificat de cerinele reale ale programrii i desituaiile ntlnite n practic. De exemplu, pentru seciunile de cod care trateaz unelecondiii de eroare, care se pot ntlni foarte rar n timpul rulrii sau chiar de loc,existena lor n memorie este rareori necesar.

    Memoria virtual este implementat n sistemele cu paginare prin metoda numitpaginare la cerere, metod ce poate fi folosit i la sistemele cu segmentare sau cupaginarea segmentelor. O alt metod este segmentarea la cerere, mult mai rarfolosit, datorit faptului c algoritmii sunt mai complicai (din cauza mrimiivariabile a segmentelor).

    Paginarea la cerere

    Metoda este asemntoare cu paginarea cu interschimbare (fig. 4.3.2), undeprogramele sunt pstrate n memoria auxiliar i sunt ncrcate n memoria principaldoar atunci cnd se dorete lansarea lor n execuie. Deosebirea const n faptul c nuse introduce n memorie ntregul program, ci numai cteva pagini, atunci cnd suntnecesare. Tabela de pagin corespunztoare unui proces va conine acelai tip deinformaii ca i n cazul paginrii obinuite, avnd n plus un bit care va avea rolul dea semnala prezena sau absena din memorie a paginii la care se refer.

    Fig. 4.3.2. Interschimbarea n cazul memoriei cu paginare

    memoria fizic

    swap

    ProgramA

    ProgramB

    Swap out

    Swap in

    evacuare

    introducere

  • Sisteme de Operare

    Ct timp se folosesc paginile aflate n memorie, execuia se desfoar normal.Dac se ncearc folosirea unei pagini, care nu este nc n memorie, se va genera oeroare de tip pagin lips. Dac se ncearc o folosire nepermis a unei adrese dememorie (ex: indice incorect de vector) se genereaz o eroare ce duce la ncheiereaforat a programului. n cazul nostru, situaia se rezolv astfel:

    - se verific o tabel intern a procesului (pstrat n blocul de control)pentru a stabili dac ncercarea de accesare este permis sau nu (aparinespaiului de adrese logice asociate procesului); dac este nepermisprogramul se termin.

    - dac adresa este corect i pagina respectiv nu a fost adus n memorie,trebuie ncrcat din memoria auxiliar;

    - se caut un cadru liber n memoria fizic- se planific discul pentru citirea paginii dorite n cadrul astfel alocat;- odat cu ncheierea operaiei de citire se actualizeaz att tabela intern

    asociat procesului, ct i tabela de pagin, astfel nct s semnalezeapariia n memorie a noii pagini.

    - se reia execuia instruciunii ntrerupte de apariia erorii de adresare.

    Fig. 4.3.3. Tabela de pagin n cazul n care anumite pagini nu se afl n memoria principal

    tabela de pagin

    4

    6

    9

    viviivii

    01234567

    ABCD

    F

    Hmemoria logic

    E

    G

    01234567

    A B

    C D E

    F

    swapmemoria fizic

    A

    C

    F

    0123456789

    1011121314

    cadru Bitvalid/invalid

    SO

    icadru liber

    ncarcM

    1

    2

    4

    3

    5

    6

    referin

    tabela de pagin

    reseteaz tabelade pagin

    memoria fizic

    aducerea paginiicare lipsete

    eroare

    pagina se afl n memoria auxiliar

    instruciunede repornire

    Fig. 4.3.4. Etapele de rezolvare ale unei greeli de pagin

  • Sisteme de Operare

    Hardware-ul folosit la implementarea paginrii la cerere este identic cu celnecesar la paginarea cu interschimbare: o tabel de pagin care s poat marca ointrare nepermis cu ajutorul unui bit valid/invalid (sau bii de protecie) i o memorieauxiliar n care s poat fi pstrate paginile care nu se afl n memoria principal.

    Pe lng hardware, pentru gestionarea memoriei este nevoie i de o serie dealgoritmi precum i de respectarea unor restricii legate de arhitectur.

    Paginarea la cerere influeneaz foarte mult performanele sistemului decalcul. Tratarea paginii lips presupune urmtorii pai:

    - generarea erorii ctre sistemul de operare;- se salveaz regitrii utilizator i starea programului;- se verific dac ntreruperea este de tip pagin lips;- se verific dac este corect referirea paginii i se determin poziia ei pe

    disc;- se iniiaz citirea de pe disc ntr-un cadru disponibil al memoriei interne;- se ateapt n coada asociat discului pn n momentul n care este

    satisfcut cererea de citire;- se ateapt datorit timpului de cutare i/sau laten a discului;- se ncepe transferul paginii n cadrul disponibil;- n timpul ateptrii, UC poate fi alocat unui alt utilizator (planificarea

    UC);- se salveaz registrele i starea programului celuilalt utilizator;- se verific dac ntreruperea a fost generat de ctre disc;- se actualizeaz tabela de pagin i celelalte tabele astfel nct s reflecte

    existena n memorie a noii pagini;- se ateapt ca UC s fie alocat din nou procesului;- se reface coninutul registrelor utilizator, starea programului i noua tabel

    de pagin, dup care se reia execuia instruciunii ntrerupte.

    Nu toi paii anteriori sunt necesari, dar, n general, exist trei mai etape ntratarea paginii lips:

    - deservirea ntreruperii generate de lipsa paginii;- introducerea paginii n memoria intern;- reluarea execuiei procesului.Timpul de acces efectiv (timpul de acces la memorie) este direct proporional

    cu rata de apariie a paginii lips i, din acest motiv, trebuie meninut o rat deapariie ct mai sczut.