 بسم اللہ الرحمن الرحيم آج ہم موڈیول 156 دسکس کریں گے موڈیول 156 ہے about memory management performance جسا ہم نے کنکرنسی میں دیکھا ہے کہ کئی نمبر of threads وہ کنکرنلی ران ہو رہی ہوتی ہیں اور جب کنکرنلی ران ہو رہی ہوتی ہیں جو سب سے بڑی problem میں فیلس کرنی پڑتی ہے وہ یہی ہے کہ وہ رسورس کے لی آپس میں کمپیٹ کر رہی ہے جب رسورس میں کمپیٹ کر رہی ہیں تو ان میں سے ایک رسورس of course memory بھی ہے memory کے لیے بھی کسی نہ کسی طرح سے کمپیٹشن پیدا ہوتا ہے اور پھر جب memory allocation کی بات آتی ہے تو وہاں پہ بھی ہمیں کچھ کمپیٹشن کا سامنا ہوتا ہے تو ہم اس کمپیٹشن کو کیسے کام کر سکتے ہیں یا اپٹمائز کر سکتے ہیں ساکہ ہماری جو پرفومنٹس ہے وہ بہتر ہو سکے program کی overall عام طور پہ جب بھی dynamic allocation ہوتی ہے تو وہ heap میں سے ہوتی ہے جو آپ کے پاس library functions available ہیں جس طرح سے malloc اور free کے function ہیں malloc اور free کی مدل سے malloc سے آپ memory allocate کرتے ہیں free سے آپ memory deallocate کرتے ہیں تو ان function کی مدل سے آپ memory allocation اور deallocation کریں اور کہاں سے کہا رہے ہیں ہیب سے کہا رہے ہیں تو ہیب ایک memory area کئی اگر threads at a time ران ہو رہی ہیں اور ساروں کو dynamic memory allocation کی ضرورت ہے تو ساری at a time ہیب میں سے memory allocate کری ہوگی تو اس کی وجہ سے contention آئی اور پھر اس contention کو آپ کو result بھی کرنا پڑے گا ایک طریقہ تو یہ ہے کہ آپ اس contention کو کسی طریقے سے reduce کریں ہیب کو کسی طریقے سے manage کریں جو بھی mutual exclusion کا سامنہ ہے ہیب کو access کرنے میں اس mutual exclusion کو آپ control کریں اس کا ایک طریقہ تو یہ ہے کہ ہر جو بھی آپ کے thread ہو وہ thread ایک اپنی heap use کر لیں اس کے پاس اپنا ایک handle ہو اور وہ ہیب کے جو function ہیں جسے کہ ہیب create کا function ہے ہیب alloc کا function ہے ہیب free کا function ہے ہیب create کی مذہ سے وہ اپنی heap create کرے اور heap look اور heap free کی مذہ سے وہ memory allocate کرے اور de allocate کرے اس طرح سے ہیب کو access کرنے میں different threads کے بیج میں جو contention ہے وہ all together ختم ہو جاتی ہے اور ایک اور اس کا سلوشن درہ a different قسم کا وہ یہ ہو سکتا ہے کہ ہیب کو manage کرنے کے لیے اور کئی third party libraries ملتی ہیں آپ کوئی اچھی سی library جس کے اندر بڑے سان طریقے سے آپ ہیب کو manage کر سکتے ہیں اس library کا استعمال بھی کر سکتے ہیں