امروز داشتم ویدیو جدید بچه های آفنسیو رو رکورد میکردم که در رابطه با مفاهیم و اینترنال Heap بود برای همین سئوالات رو مطرح کردم و البته نتیجه برام مشخص بود چون معمولا مفاهیم Virtual Memory - Heap و Stack تا حدودی نیاز به مطالعه بیشتری داره :
جواب سئوال اول : Heap
در Heap به سمت آدرس های بالا رشد میکنه و Stack به سمت آدرس های پایین.
جواب سئوال دوم : Heap
به این دلیل که شما وقتی با HeapAlloc درخواست فضا میکنید Heap Manager به دنبال فضای خالی بین Heap Block ها میگرده و ممکنه فضاهای درخواست شده پشت سر هم و دنباله دار نباشند بنابر این External Fragmentation به وجود میاد و اگر فضای خالی وجود نداشته باشه پای Page به وسط میاد.
جواب سئوال سوم : HeapAlloc
به این دلیل که HeapAlloc به صورت پیشفرض به دنبال Heap Block در Heap Segment میگرده تا فضا مورد نیاز رو در اختیار شما قرار بده یعنی 32 بایت درخواست میکنید نهایت 40 بایت به شما اختصاص میده ولی همینکار با VirtualAlloc تا زیر 4KB همون 4KB رو ایجاد میکنه ( به اندازه یک Page ) و سربار زیادی به وجود میاد.
_


