Gestionarea memoriei în Windows

Previzualizare proiect:

Cuprins proiect:

1.Introducere in programarea in Windows (Pasoi Mihai 431A) 3
1.1.1 Programarea in Win32 3
1.1.2 Deosebiri intre programele DOS si Windows. 3
1.2 Componentele Windows 4
1.3 Identificatori Windows 4
1.4 Functii 5
1.5 Crearea, alterarea si eliminarea ferestrelor 6
2. Gestionarea memoriei in Windows (Jircu Andrei 431A) 7
2.1 Modelul de memorie Win32 7
2.2 Memoria globala si locala 7
2.3 Memoria virtuala 8
2.3.1 Eliberarea memoriei virtuale 9
2.3.2 Blocurile de memorie virtuala 10
2.4 Memoria heap 10
2.4.1 Alocarea unui bloc de memorie in memoria heap globala 11
2.4.2 Crearea unui heap intr-un proces 11
2.4.3 Testarea dimenisunii memoriei alocate din heap 11
2.5 Descarcarea unui bloc de memorie alocata 12
2.6 Testarea memoriei calculatorului 12
3.Procese si fire de executie (Aflorei Victor 431A) 13
3.1 Procesele 13
3.2 Crearea proceselor 14
3.3 Terminarea proceselor 15
3.4 Extinderea prin procese copil 16
3.5 Firele de executie 16
3.6. Determinarea identificatorului ID al unui fir sau proces 17
3.7. Nivelurile de prioritate 17
3.8. Obtinerea contextului unui fir 18
4.Concluzii .................................................................................................................................................................18
5.Bibliografie .............................................................................................................................................................19

Extras din proiect:

1.Introducere in programarea Windows (Pasoi Mihai 431A)

1.1.1 Programarea in Win32

Un sistem de operare este definit de propriul API (Application Programming Interface). Aceasta interfata contine toate functiile pe care programatorul le poate folosi pentru realizarea unor aplicatii caracteristice sistemului de operare utilizat. In cazul sistemelor Windows, API foloseste o arhitectura de program specifica.

Pe parcursul timpului, Windows API a suferit modificari, cea mai importanta fiind cea din timpul schimbarii de la arhitectura pe 16 biti la cea pe 32 de biti. API-ul pentru versiunile de Windows pe 16 biti (de la Windows 1.0 la Windows 3.1) este denumit Win16. Cel pentru versiunile Windows pe 32 de biti (Windows 95 / 98 / NT) este cunoscut ca Win32. Multe dintre apelarile de functii au ramas la fel in urma tranzitiei de la Win16 la Win32, dar unele au suferit modificari.

Toate versiunile de Windows pe 32 de biti suporta Win32 API pentru aplicatiile curente si sunt compatibile cu Win16 API pentru a asigura compatibilitatea cu aplicatii mai vechi. Se pot observa deosebiri intre modurile in care se realizeaza compatiblitatea intre sistemele Windows NT si Windows 95 / 98. La Windows NT, apelarile de functii Win16 sunt convertite in apelari Win32. pentru a fi procesate de sistemul de operare.

La Windows 95 /98, procesul este invers. Apelarile de functii Win32 sunt convertite in apelari Win16 pentru a fi procesate de sistemul de operare.

Windows NT si Windows 98 sunt amandoua sisteme de operare ce suporta Win32 API. Desi fiecare sistem prezinta anumite caracteristici individuale, asemanarile dintre cele doua este majora, astfel incat se pot scrie programe care sa functioneze sub amandoua sistemele. [1][2]

1.1.2 Deosebiri intre programele DOS si Windows.

Intre programele Windows si programele DOS sunt diferente semnificative. Prima deosebire vizibila ar fi modul in care se genereaza iesirea. Un program DOS va genera iesirea ,,Jamsa's C/C++ Programmer's Bible" in felul urmator:

Jamsa's C/C++ Programmer's Bible

C:>

Un program Windows ce creeaza o caseta de mesaj va genera o iesire precum cea din fig.1:

Figura 2

Alte deosebiri dintre programarea Windows si DOS includ faptul ca Windows este un sistem de operare multitasking, astfel incat programele vor partaja spatiul in memorie cu cel putin un alt program. De asemenea, Windows prelucreaza informatii bazate pe text in mod diferit fata de DOS.

Programele Windows nu sunt la fel de liniare ca programele DOS, programele Windows fiind construite in contextul raspunsului la actiunile utilizatorului si al mesajelor sistemului.[3]

1.2 Componentele Windows

Blocul de constructie Windows este constituit din una sau mai multe ferestre sau casete de dialog. Fiecare obiect dintr-o fereastra este la randul lui o fereastra de alt tip. In general, Windows isi construieste o fereastra standard din sapte componente de baza. Aceastea sunt:

I. Window Frame (cadru fereastra): este baza pe care se afla toate componentele dintr-o fereastra.

II. Title Bar (bara de titlu): ofera utilizatorului informatii despre program. Aceasta extinde dimensiunea ferestrei de-a lungul laturii de sus, identifica ce arata fereastra si permite utilizatorului sa execute numeroare operatii cu fereastra, fiind punctul de control pentru deplasarea ferestrei si este locul de plasare a meniului sistem .

III. Butoanele Minimize, Maximize, Restore si Close Window: sunt situate in bara de titlu. Ele permit modificarea dimensiunii ferestrei si inchiderea ei.

IV. Client Area (suprafata client): este sectiunea ferestrei unde se desfasoara majoritatea actiunilor.

V. Scroll Bar (bara de defilare): permite utilizatorului sa navigheze de la dreapta la stanga si de sus in jos in interiorul ferestrei.

VI. Menu Bar (bara de meniu): este o componenta a majoritatii ferestrelor principale. In general nu este existenta in ferestre copil (child windows). Majoritatea programelor Windows au in componenta barei de meniu optiunile File si Help. Programele mai complexe pot avea chiar si peste 10 optiuni, fiecare cu mai multe optiuni.

VII. Status Bar (bara de stare): ofera utilizatorului informatii caracteristice cu detalii despre pozitia curenta in program.[4]

Componentele sunt prezentare in cadrul unei ferestre in figura 2.

Figura 2

1.3 Identificatori Windows

In windows se folosesc identificatori pentru a mentine informatii despre fisiere. Un identificator folosit in mod curent este indentificatorul de fereastra. Acesta este folosit pentru a obtine sau mentine informatii despre ferestrele din program sau alte obiecte din sistem. Windows testeaza indentificatorul de fereastra din lista proprie de identificatori valizi de ferestre si apoi trimite un mesaj sau executa o actiune in fereastra corespunzatoare.

Impreuna cu identificatorul de fereastra, in total sunt 12 tipuri de identificatori. Spre exemplu, deoarece Windows este un sistem de operate multi-tasking, este posibil sa avem mai multe copii sau instante ale programului, care ruleaza in acelasi timp. Windows pastreaza, pentru fiecare instanta, un singur numar pe care il stocheaza intr-o tabela de identificatori de tip HINSTANCE. [2]

Bibliografie:

[1] Programming Windows - Charles Petzold

[2] Jamsa's C/C++ Programmer's Bible

[3] http://www.differencebetween.info/difference-between-dos-and-windows

[4] http://www.screenio.com/gui_screenio/gs_htmlhelp_subweb/windows-stuff/windows-elements.htm

[5] http://msdn.microsoft.com/en-us/library/vstudio/bb384843.aspx

[6] http://www.functionx.com/win32/Lesson01c.htm

[7] http://revistaie.ase.ro/content/17/pocatilu%2Bivan%2Bcazan.pdf

[8] http://winapi.freetechsecrets.com/win32/WIN32Global_and_Local_Functions.htm

[9] http://msdn.microsoft.com/en-us/library/ms810627.aspx

[10] http://www.maxi-pedia.com/what+is+heap+and+stack

[11] Windows 95 System programming SECRETS - Matt Pietrek

[12] http://msdn.microsoft.com/en-us/library/windows/desktop/ms681917(v=vs.85).aspx

[13] http://webhost.uoradea.ro/cpopescu/so/Cursul3.pdf

[14] http://msdn.microsoft.com/en-us/library/windows/desktop/ms686722(v=vs.85).aspx

[15] https://en.wikipedia.org/wiki/Thread_(computing)

[16] http://msdn.microsoft.com/en-us/library/windows/desktop/ms685100(v=vs.85).aspx

Descarcă proiect

Pentru a descărca acest document,
trebuie să te autentifici in contul tău.

Structură de fișiere:
  • Gestionarea memoriei in Windows.docx
Alte informații:
Tipuri fișiere:
docx
Diacritice:
Da
Nota:
5/10 (6 voturi)
Nr fișiere:
1 fisier
Pagini (total):
19 pagini
Imagini extrase:
19 imagini
Nr cuvinte:
5 093 cuvinte
Nr caractere:
29 119 caractere
Marime:
371.45KB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Facultate
Tip document:
Proiect
Domeniu:
Calculatoare
Tag-uri:
memorie, windows, sistem de operare
Predat:
Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei , Universitatea Politehnica Bucuresti din Bucuresti
Materie:
Calculatoare
Profesorului:
Conf. Dr. Ing. Ștefan Stăncescu
Sus!