رفع ابهام در مورد ساختار حافظه سگمنت های کد و دیتا - استک و هیپ

ساخت وبلاگ

سلام دوستان من یک هفته است در مورد ساختار حافظه مطالعه میکنم. همه جا فقط کلیاتش رو گفتن مثلا stack برای ذخیره متغییرهای اتوماتیکه و heap برای گرفتن حافظه دینامیک از سیستم توسط تابع malloc و اینکه تو code segment کدهای اجرایی قرار میگیره و توی data segment داده های استاتیک و گلوبال و غیره. اینا توضیحات اجمالیه که همه جا نوشتن. ولی هنوزم برام مبهمه و سوالات تو ذهنمه اینکه:

استک و هیپ چیه و دقیقا کجای حافظه ست؟ کد سگمنت و دیتا سگمنت و بقیه چطور ؟
توسط سی پی یو حافظه تخصیص پیدا میکنه یا سیستم عامل؟ اگه سیستم عاملی در کار نباشه و کد مستقیما روی سخت افزار باشه(مثلا یه سیستم عامل کوچیک) به چه شکلیه؟
stack و heap واسه همه برنامه ها مشترکه یا هر برنامه های موقع اجرا براش حافظه stack و heap اختصاصی رزور میشه؟ برای دیتا سگمنت و کد سگمنت چطور؟ مقدار حافظه مورد استفاده چطور محاسبه میشه؟
ثباتهایی که تو سی پی یو هستن برای stack pointer چیه ؟ و اینا چطوری می فهمن با stack مربوط به کدوم برنامه سر و کار دارن؟
نحوه بارگزاری کدها و اجراشون تو پشت زمینه و کلا اتفاقاتی که می افته به چه شکلیه.

دوستان ممنون میشم منو از ابهامات برهانید . با تشکر

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : محمد رضا جوادیان programers بازدید : 120 تاريخ : يکشنبه 10 مرداد 1395 ساعت: 13:24