Memoria Virtuala

Curs
7/10 (1 vot)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 8 în total
Cuvinte : 1603
Mărime: 24.52KB (arhivat)
Cost: Gratis
Profesor îndrumător / Prezentat Profesorului: Stefan Stanescu

Extras din document

Memoria virtuala este folosita datorita existentei unor programe mai mari decit memoria disponibila.Solutia uzuala era de a sparge programele in bucati numite overlay-uri.Overlay-urile aveau dinamica cu discul foarte simpla ;programatorul făcea impartirea si gestiunea overlay-urilor.Totusi aceasta munca era consumatoare de timp si plictisitoare.Noua metoda (Fotheringham 1961)s-a numit memorie virtuala.Ea prevedea prelungirea memoriei reale pe dimensiuni ireale,incluzind memoria externa,cu trecerea parţii active in memoria reala. Microprocesorul sesizează doar faptul ca accesul la date durează mai mult.Cu gestiunea memoriei virtuale se ocupa sistemul de operare care actualizează si intretine paginile memoriei virtuale.

Memoria virtuala poate lucra si in regim de multiprogramare ,pe care o realizează mai eficient si deasemenea este valabila doar in sistemele multitasking.

Paginarea:

Programul generează adrese virtuale in spaţiul adreselor virtuale. Adresele virtuale nu merg direct la memorie ci la MMU(memory management unit),care le decodifica si oferă adresele fizice.

Ex:Calculator cu 32k RAM si memorie virtuala 64k RAM.

Spaţiul virtual este impartit in pagini virtuale care se încarcă in pagini de memorie reala de aceeaşi dimensiune. Paginile virtuale si reale au aceeaşi dimensiune.

Page table este o tabela cu locurile paginilor virtuale intre paginile reale (locul in care este incarcata fiecare pagina virtuala in RAM ,care poate fi RAM fizic sau extins).

Atunci cind programul face apel la o pagina virtuala ce nu se afla in memoria fizica (toate poziţiile ocupate are loc "page fault trap")se decide ce pagina va fi trnsferata pe disc , se aduce pagina noua in memoria fizica, se reactualizează page table(2 operaţii) si se restarteaza instrucţiunea ce a fost întrerupta prin trap.

ALGORITM DE SCOATERE A PAGINII

Daca algoritmul de scoatere a pagini din memorie nu este bine ales exista posibilitatea sa scot o pagina pe care programul respectiv o foloseşte frecvent, deci pagina respectiva va trebui readusa curind in memorie si astfel se va pierde mult timp.

a) Algoritmul aleator

După cum spune si numele este vorba despre o soluţie aleatoare.Solutia nu este buna pentru ca sistemul de operare poate schimba o pagina des folosita.

b) Algoritmul optim

Trebuie subliniat faptul ca este vorba despre un algoritm teoretic, acesta nefiind practic.

Se da un program. Se cunoaşte activitatea pe acest program si se înregistrează necesarul de pagini iar in fiecare pagina se număra cite instrucţiuni se executa fara a se face saltul in alta pagina. In momentul in care apare un salt la alta pagina se calculează in fiecare pagina din memorie unde exista cele mai multe instrucţiuni fara salt .Aceste pagini ,care amina cel mai mult saltul in alte pagini, se vor păstra in memorie. Prin aceasta metoda se asigura situaţia ca “trap fault”-urile sa apară cit mai tirziu.

Aceasta metoda este de referinta.Celelalta metode se vor raporta la acest algoritm.

c)

Pentru a putea verifica lucrul cu pagina avem nevoie de circuite hard.Astfel au fost introduşi doi biţi

R - Reference bit: acest bit al pagini va fi setat la orice acces la pagina(scriere sau citire)

M - Modify bit : acest bit va fi setat doar daca se va efectua o scriere in pagina

Descrierea acestor biţi se face cu circuite hard.Astfel exista patru clase:

PAG-0:pagina este nereferita(R=0;M=0)

PAG-1:pagina cu scriere veche(R=0;M=1)

PAG-2:pagina scrisa de curind dar nemodificata(R=1;M=0)

PAG-3:pagina la care s-a făcut ultima scriere(R=1;M=1)

Gestiunea acestui set de biţi se face prin mecanisme hardware cu ajutorul unui ceas: daca după un anumit timp pagina nu a fost referita bitul “R” se şterge si astfel clasa trece in clasa 1 iar clasa 2 trece in clasa 0.

Preview document

Memoria Virtuala - Pagina 1
Memoria Virtuala - Pagina 2
Memoria Virtuala - Pagina 3
Memoria Virtuala - Pagina 4
Memoria Virtuala - Pagina 5
Memoria Virtuala - Pagina 6
Memoria Virtuala - Pagina 7
Memoria Virtuala - Pagina 8

Conținut arhivă zip

  • Memoria Virtuala.doc

Alții au mai descărcat și

Firewall

Firewall-uri de filtrare a pachetelor (Packet Filtering Firewalls) Firewall-urile de tip filtru de pachete sunt firewall-uri care pentru fiecare...

Procesorul

1.Introducere Procesorul este una dintre cele mai importante componente a unui calculator, fiind cel care stabileste cine, ce si când sa faca....

Macroprocesoare

Macroinstrucţiunea este o scriere comodă a unor grupuri de instrucţiuni folosite mai des. Într-un asamblor, care corespunde unui limbaj construit...

Placă de Rețea

Cum sa realizam - conexiune a mai multor calculatoare la un modem de cablu TV. Dupa realizarea acestei conexiuni se va verifica daca...

Curs IT

1. HARDWARE (HARD): Reprezinta totalitatea componentelor materiale ale unui sistem informatic. 2. SOFTWARE (SOFT): Reprezinta totalitatea...

Retele de Calculatoare

1. Calculatorul electronic De-a lungul istoriei,omenirea a folosit suporturi fizice pentru a-si exprima ideile,pentru a le vizualiza , a se putea...

Prezentarea Sistemului Fox Pro

Elementele de baza ale sistemului FoxPro Principalele elemente ale mediului FoxPro sunt: Bara de meniuri Fereastra de comanda Elementele de...

Ai nevoie de altceva?