Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Témata - sanjuro

Stran: [1]
1
Vývoj / Virtuálny adresný priestor vo Windows
« kdy: 25. 01. 2012, 16:56:02 »
Zdravim, momentalne sa snazim pochopit sprave pamati vo Windowsoch. System vytvori pre kazdy novovzniknuty proces virtualny adresny priestor. Ale co to vlastne je ten virtualny adresny priestor? Precital som si uz mnoho informacii o tom ale akosi som nepochopil ze ako si ho mam predstavit? Kde je resp kde ho system vytvori? Je to subor pole alebo co to vlastne je?

Odhliadnuc od toho kde je a co je, viem ze tento adresny priestor vyuziva proces pre svoje data premenne atd. Viem ze ked proces potrebuje dll to sa nacita do jeho adresneho priestoru. Ale je sucastou adresneho priestoru aj samotny kod procesu? Dajme tomu ze sa dll nacita na istu virtualnu adresu. Nacita sa na taku istu virtualnu adresu aj v inom procese ktory ho pouziva?

Ak sa nacitava aj v jednom aj v druhom procese, to znamena, ze je fyzicky v pamati DLL len raz a obidve virtualne adresy sa prelozia na tu istu fyzicku adresu? Dalej ma trapia otazky ohladom haldy(Heap). Viem ze alokovat pamat v adresnom priestore sa da pomocou VirtualAlloc. Preco sa ale alokuju 64KB bloky, ked pamat aj adresny priestor je rozdeleny na 4KB stranky (ako som sa docital)? Co to je vlastne halda, ktora umoznuje alokovat bloky pamati lubovolnej velkosti, ked VirtualAlloc to nedokaze? Momentalne ma ziadne dalsie otazky nenapadaju, takze vopred dakujem za odpovede.

Stran: [1]