Hacking and more...
HaCkinG CulT
Lista Forumurilor Pe Tematici
Hacking and more... | Reguli | Inregistrare | Login

POZE HACKING AND MORE...

Nu sunteti logat.
Nou pe simpatie:
deea_mha
Femeie
25 ani
Dolj
cauta Barbat
18 - 80 ani
Hacking and more... / n00bs / Memoria virtuala Moderat de Shocker
Autor
Mesaj Pagini: 1
epic
User

Inregistrat: acum 17 ani
Postari: 1896
Memoria virtuală : Reprezintă separarea conceptuală a memoriei logice disponibile pentru aplicaţii faţă de memoria fizică. ÃŽn acest mod putem avea o memorie virtuală de dimensiuni mari chiar cu o memorie fizică de dimensiuni reduse.


•    Datorită dimensiunii reduse ale memoriei principale, nu toate obiectele (date sau instrucţiuni) pot fi la un moment dat în memoria principală. Dacă dispunem însă de memorie virtuală, atunci unele dintre obiecte se pot afla pe disc. Spaţiul de adresare este de regulă împărţit în blocuri de lungime fixă – pagini.
•    La un moment dat, paginile se află fie în memoria principală, fie pe disc.
•    Atunci când se cere un obiect care nu este în cache sau în memoria principală, apare un “page-fault” – moment în care întreaga pagină este mutată de pe disc în memoria principală. Aceste “page-fault” durează mai mult şi atunci sunt controlate de software iar UCP nu face pauză.
•    De regulă, UCP comută către alt task atunci când apare un acces la disc. Memoria cache şi memoria principală au aceeaşi relaţie ca şi cea existentă între memoria principală şi disc.
•    ÃŽn orice moment, un calculator rulează mai multe procese, fiecare având propriul spaţiu de adrese de memorie. Ar fi foarte costisitor să se dedice un întreg spaţiu de adresare pentru fiecare proces, având în vedere că multe dintre procese folosesc doar o mică parte a spaţiului propriu de adrese. A apărut astfel necesitatea partajării unei părţi a memoriei între mai multe procese.
•    Acest procedeu poartă numele de “memorie virtuală” – memoria fizică se divide în blocuri care sunt alocate diferitelor procese.
•    Inerentă unei astfel de abordări este o schemă de protecţie ce restricţionează accesul proceselor la blocuri ce aparţin altor procese. Majoritatea formelor de memorie virtuală reduc, de asemenea, timpul de pornire a unui program, deoarece nu tot codul sau datele trebuie să fie deja în memoria fizică înainte ca programul să înceapă.
•    Nu însă partajarea între procese a memoriei este adevăratul motiv pentru care s-a inventat memoria virtuală. Dacă un program devine prea mare pentru memoria fizică, este sarcina programatorului să îl facă să încapă în ea. Aşa au apărut aşa-numitele suprapuneri (overlay).
•    Blocurile de memorie în cazul memoriei virtuale se numesc pagini sau segmente. UCP foloseşte adrese virtuale ce sunt translatate (hardware cât şi software) în adrese fizice ce accesează memoria principală. Acest procedeu se numeşte procedeul de mapare a memoriei sau de translatare a adreselor.
•     Astăzi memoria virtuală intervine la nivel de memorie principală şi disc magnetic.



Memoria virtuală – înlocuirea paginilor

ÃŽn cazul supra-alocării memoriei trebuie să renunţăm la ceva deja existent în memorie.
Supra-alocarea apare atunci când programele au nevoie de mai multe pagini de memorie decât cele existente fizic.
Modalitate de abordare: Dacă nici o pagină fizică nu este liberă, se caută una care nu este utilizată la momentul respectiv şi se eliberează, urmărind următorii paşi:
1. Se caută pagina pe disc.
2. Se caută un cadru liber.
      a. Dacă există, se foloseşte
      b. Altfel, se selectează o pagină “victimă”
      c. Se scrie pagina “victimă” pe disc.
3. Se citeşte noua pagină în cadrul eliberat. Se modifică tabela de pagini.
4. Se reporneşte procesul iniţial.





Algoritmi de înlocuire a paginilor

ÃŽn momentul supra-alocării putem fie interschimba pagini de pe disc, fie supra-scrie anumite pagini. Ce pagini vor fi înlocuite?- pentru a minimiza numărul de page faults.

Exemplul unui şir de referinţă pentru pagini de memorie ce vor fi executate:
Şir de referinţă: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5

FIFO
 
Uşor de implementat dpdv conceptual.
Se poate folosi fie un “time-stamp” pentru pagini, fie o organizare într-o coadă  (Coada reprezintă implementarea cea mai uşoară)

ÃŽnlocuirea optimă
 
Reprezintă o politică de înlocuire a paginilor care au cea mai mică rată “page fault”.
Algoritmul: se înlocuieşte pagina care nu va fi utilizată pentru cea mai lungă perioadă de timp.
Practic imposibil de implementat.   


Metoda LEAST RECENTLY USED ( LRU ) – “Cea mai puţin recent folosită pagină”


Se înlocuieşte pagina care nu a fost utilizată pentru cea mai mare perioadă de timp.
Rezultatele sunt bune; dificultatea apare la implementare.
Variante de implementare:
 ”Time stamp” pentru pagini  - înregistrarea ultimei utilizări.
Stivă de pagini – se scot paginile utilizate şi se introduc în vârful stivei.
Ambele variante necesită facilităţi hardware (trebuie făcută reactualizare după fiecare instrucţiune), de aceea nu sunt foarte des utilizate în practică.



Tutorial made by epic


_______________________________________
:< 4 8 15 16 23 42 *execute*
TOATA LUMEA ESTE INVITATA PE NOUL FORUM!

pus acum 17 ani
   
jamez
Junior

Inregistrat: acum 16 ani
Postari: 20
Nu pricep nimik   

_______________________________________
Siteu meu
daca intratzi si lasatzi comment plzzz lasatzi la final k avetzi siteu de pe forum!! plz

pus acum 16 ani
   
Pagini: 1  

Mergi la