UTILIZAREA EFICIENTA A MEMORIEI EXTINSE

Incarcat la data: 21 August 2006

Autor: Admin

Pret: Gratuit

Numar pagini: 2

Tip fisier: zip

Marime fisier: 5 kb

Pentru amanunte privind configura-rea sistemului de operare revedeti arti-colul "Cum stati cu memoria?" semnat de Mircea Cioata n PC Report din august 1994. UMBFILES -ncarcarea tabelei SFT n memoria extinsa Cele doua programe prezentate n continuare ilustreaza doua moduri posibile de utilizare a memoriei extinse, elibernd astfel o parte din memoria con-ventionala. Binenteles, cele doua programe vor da rezultatele aSteptate numai daca aveti un procesor 386 sau 486 (sau, de ce nu, chiar un Pentium), Si daca sistemul de operare DOS (cel putin versiunea 5.0) este configurat pentru a putea utiliza Si memoria extinsa.- Chiar Si n ultimele versiuni de DOS, SFT (System File Table) se ncarca n memoria conventionala, ocupnd un spatiu de cel putin nf * 59 octeti, unde nf este argumentul comenzii FILES din CONFIG.SYS . Progra-mul UMBFILES va ajuta sa treceti peste acest mic neajuns, ncarcnd n blocurile de memorie superioara cea mai mare parte a tabelei SFT. Organizarea tabelei SFT SFT este organizata sub forma unei liste nlantuite, a carei structura este descrisa n cadrul articolului "Configurarea dinamica a sistemului DOS" semnat de Jozsef Szabo. Sa spunem n plus ca DOS aloca din oficiu n memoria conventionala doua blocuri SFT, primul avnd 5 intrari, al doilea cel putin 3 intrari. Deci, pentru a utiliza eficient memoria conventionala, vom folosi urmatoarele comenzi: - n CONFIG.SYS : FILES = 8 - n AUTOEXEC.BAT : UMBFILES =nn n acest fel, tabela SFT va avea n total nn+8 intrari, dintre care 8 n memoria conventionala, Si restul de nn n memoria superioara. Pe parcurs, daca este nevoie, tabela SFT poate fi extinsa cu o noua comanda UMBFILES. Cum lucreaza UMBFILES? Sa explicam mai nti cele 4 functii API (ale ntreruperii 21h) folosite de program pentru lucrul cu memoria extinsa: a) AX = 5800h: obtine n registrul AL o valoare care indica strategia de alocare a memoriei; aceasta se interpreteaza astfel: - bitii 7-6 val 00: strategia Low-First (mai nti se ncearca alocare n memoria con-ventionala); - bitii 7-6 val 01: strategia High-Only (se aloca numai n memoria superioara); -bitii 7-6 val 10: strategia High-First (mai nti se ncearca o alocare n memoria superioara); - bitii 1-0 val 00: strategia First-Fit (se aloca primul bloc de memorie a carui marime este cel putin egala cu marimea ce-ruta); - bitii 1-0 val 01: strategia Best-Fit (se exploreaza toate blocurile de memorie Si se aloca cel care are valoarea cea mai apro-piata - Si cel putin egala - cu marimea ceruta); - bitii 1-0 val 10: strategia Last-Fit (se ex-ploreaza toate blocurile de memorie Si se aloca ultimul a carui marime este cel putin egala cu marimea ceruta); b) AX = 5801h, BX = strategie: seteaza strategia de alocare; c) AX = 5802h: obtine n registrul AL starea blocurilor UMB: - AL = 0 - memoria superioara este de-conectata, orice cerere de alocare se re-zolva numai n memoria conventionala; - AL = 1 - memoria superioara este tratata ca o extensie logica a memoriei con-ventionale; d) AX = 5803h, BX = stare UMB: seteaza starea blocurilor UMB. UMBFILES foloseSte strategia de alocare High-Only / Best-Fit. Dupa ce se converteSte valoarea argumentului (numarul de intrari cu care se extinde SFT) n numar de paragrafe, se aloca n memoria superioara un bloc de marimea ceruta. Se actualizeaza lantul SFT Si se initializeaza blocul SFT alocat. S-ar putea crede ca misiunea programului se ncheie aici. Ramne totuSi o problema nerezolvata. Cnd un proces se termina, DOS elibereaza automat toata memoria care i-a fost alocata, inclusiv UMB-urile proprii (nu este cazul proceselor rezidente). Pentru ca DOS sa nu elibereze blocul SFT creat, UMBFILES utilizeaza un subterfugiu pentru a pacali sistemul: modifica valoarea din cmpul proprietar al MCB, punnd aici tocmai valoarea returnata n urma cererii de alocare. Astfel relatia acestui UMB cu programul nu mai este reperata. MEMORY - cum putem obtine un Heap mai mare? Strategia acestui program (care Stie n ce zona de memorie a fost ncarcat) este prezentata n continuare. Indiferent n ce zona de memorie (conventionala sau superioara) este ncarcat, memoria Heap este localizata n aceeaSi zona cu programul. Din aceasta cauza, atunci cnd programul este ncarcat n memoria superioara, n cea conventionala ramne un bloc destul de mare nefolosit. Ideea este deci de a ncarca programul n memoria superioara (cu ajutorul comenzii LOADHIGH), Si de a aloca pentru sine maximum posibil din memoria conventionala. Se modifica apoi valorile variabilelor care pastreaza configuratia memoriei Heap, astfel nct ele sa indice spre zona de memorie alocata; n plus functiile MemAvail Si MaxAvail trebuie sa reflecte marimea acestei zone de memorie. Ne putem da seama de diferenta dintre cele doua situatii posibile lansnd o data programul cu comanda MEMORY (deci ncarcare n memoria conventionala), Si apoi cu comanda LH MEMORY (deci ncarcare n memoria superioara). Aceasta idee poate fi folosita n situatia n care avem un program nu foarte mare (!) -el trebuie sa ncapa ntr-un UMB -, dar care are nevoie de o zona de manevra n memorie destul de mare. Desigur, un program mai complex ar putea utiliza Si alte facilitati oferite de un driver EMM (Extended Memory Manager) - cum ar fi de exemplu tehnici de gestionare a memoriei expandate (oferite de majoritatea acestor driver-e). Ion Cozac

Textul de mai sus reprezinta un extras din "UTILIZAREA EFICIENTA A MEMORIEI EXTINSE". Pentru versiunea completa a documentului apasa butonul Download si descarca fisierul pe calculatorul tau. Prin descarcarea prezentei lucrari stiintifice, orice utilizator al site-ului www.studentie.ro declara si garanteaza ca este de acord cu utilizarile permise ale acesteia, in conformitate cu prevederile legale ablicabile in domeniul proprietatii intelectuale si in domeniul educatiei din legislatia in vigoare.

In cazul in care intampini probleme la descarcarea fisierului sau documentul nu este nici pe departe ceea ce se doreste a fi te rugam sa ne anunti. Raporteaza o eroare

Important!

Referatele si lucrarile oferite de Studentie.ro au scop educativ si orientativ pentru cercetare academica.

Iti recomandam ca referatele pe care le downloadezi de pe site sa le utilizezi doar ca sursa de inspiratie sau ca resurse educationale pentru conceperea unui referat nou, propriu si original.

Alti utilizatori au mai cautat: UTILIZAREAEFICIENTAMEMORIEIEXTINSE
 
 
Inchide
Am uitat parola Cont nou
Conecteaza-te prin Facebook

Acum te poti conecta si prin contul tau de Facebook! Da click pe butonul de mai jos si introdu datele tale:

Login with Facebook