Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

structure de la memoire allouer au applications

2 réponses
Avatar
heinquoi
bjr,
je cherche a me représenter la structure de la memoire lorsque j'ecris un
programme exe sous Windows 32 bits.
j'ai deja quelques info que je vous mets ici ( d'apres "la bible pc
programmation système 6eme edition" de M Tischer et B Jennrich )
lors du lancement d'un programme, windows ouvre un nouveau processus definie
comme cela :
0x0
| sert a os pour intercepter les poointeurs null : inutilisé
par le developpeur
0xFFF
| sert au application dos et win16:non utilisé par le
developpeur win32
0x3FFFFF = 4Mo
| sert a l'application 32 bit elle meme.
|
|
0x7FFFFFFF=2Go
| zone partagé par toute les applications : utilisé par dll,
application 16bits
0xBFFFFFFF=3Go
| zone système commune: dlls système, logiciels couvhe 0
0xFFFFFFFF=4Go

nous avons donc un total de 4Go par application.
cela dit je m'intéresse particulièrement a l'intervalle 4Mo-2Go, la ou se
trouve l'application.
j'aimerais savoir ou se trouve la memoire appelé tas et la memoire appelé
dynamique. et quels espaces leur est réservé.
qui gere le tas ?qui gère la memoire dynamique? l'os ou le programmeur. en
cas de débordement que ce passe-il ?(interruption ?)
est ce que la memoire dynamique ( alloué par new en c++) correspond elle
plus ou moins a la memoire paginée ?
si, oui, vu que la memoire paginé s'alloue par parquet de 4Ko, le
prograzmmeur doit il optimiser lui-meme ses appel a new ?
si non, quel difference en c++ entre les objets du tas et ceux de la memoire
dynamique ?

--
Cordialement,
Heinquoi

2 réponses

Avatar
Christian ASTOR
heinquoi a écrit:

je cherche a me représenter la structure de la memoire lorsque j'ecris un
programme exe sous Windows 32 bits.



Tu as lu les divers articles de MSDN ?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dngenlib/html/msdn_ntvmm.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dngenlib/html/msdn_virtmm.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dngenlib/html/msdn_heapmm.asp
etc...
http://www.win2000mag.com/Articles/Index.cfm?IssueIDV&ArticleID686
Avatar
heinquoi
"Christian ASTOR" a écrit dans le message de
news:40fd1e7e$0$317$
Tu as lu les divers articles de MSDN ?



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dngenlib/html/msdn_ntvmm.asp



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dngenlib/html/msdn_virtmm.asp



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dngenlib/html/msdn_heapmm.asp
etc...
http://www.win2000mag.com/Articles/Index.cfm?IssueIDV&ArticleID686



non j'avais pas vu...merci...interessant !

--
Cordialement,
Heinquoi