PDA

View Full Version : آیا RAM هم Defrag میشه؟



Moharram
یک شنبه 12 اسفند 1386, 19:20 عصر
سلام

من یه درایور و یه سخت افزار دارم که روش کارشون اینه که حجم زیادی از حافظه (بصورت پیوسته) رو میگیرن و شروع به کار میکنن،

پس از چندبار Run شدن برای گرفتن RAM خیلی زمان گرفته میشه و بعضی وقتها اصلا نمیتونه حافظه ای بگیره.

حالا میخواستم ببینم که آیا RAM بصورت اتوماتیک Defrag میشه یا اینکه ما باید خودمون اینکارو انجام بدیم...؟

با تشکر

najafzade
یک شنبه 12 اسفند 1386, 21:34 عصر
سلام

من یه درایور و یه سخت افزار دارم که روش کارشون اینه که حجم زیادی از حافظه (بصورت پیوسته) رو میگیرن و شروع به کار میکنن،

پس از چندبار Run شدن برای گرفتن RAM خیلی زمان گرفته میشه و بعضی وقتها اصلا نمیتونه حافظه ای بگیره.

حالا میخواستم ببینم که آیا RAM بصورت اتوماتیک Defrag میشه یا اینکه ما باید خودمون اینکارو انجام بدیم...؟

با تشکر

منظورتون از Defrag چیه؟:افسرده:

Moharram
دوشنبه 13 اسفند 1386, 14:40 عصر
مثل همون Defrag ای که توی هارد اعمال میشه، یعنی فضاهای پر و خالی بصورت یکپارچه پیش هم قرار میگیرند (یکپارچه سازی)

حالا در مورد RAM هم برنامه ها حافظه میگیرند و ممکنه این فضاها آنقدر گسسته بشه که یه درایوری (مثل درایور فوق) نتونه فضای مورد نیازشو بگیره...

Inprise
دوشنبه 13 اسفند 1386, 18:42 عصر
نه . در هر برنامه یا درایوری میتونه Memory Leak های مختلفی باشه که روند تخصیص و آزاد سازی حافظه رو مختل و بعد از مدتی متوقف کنه . طبیعتا وقتی برنامه رو ببندی و درایور رو unload کنی تمام حافظه کاملا ازاد میشه و در اختیار سیستم عامل قرار میگیره .

sh_roohani
سه شنبه 14 اسفند 1386, 02:20 صبح
سلام،

فکر می کنم Heap هم Fragmented می شه و Virtual Memory System تو کرنل مسئوله که page ها رو جابجا بکنه و اونا رو دوباره مپ کنه تو Address space یه پروسس تا پروسس مشکلی با اون نداشته باشه. اما راستش همین الان که اینارو نوشتم به شک افتادم که آیا اصلا چنین چیزی هست یا من توهم زدم! یادم نمیاد اینارو کجا خوندم.