Mmap اور malloc کے درمیان فرق

Anonim

mmap vs malloc

سی معیاری لائبریری میں موجود کام کے سیٹ کے ذریعہ سی پروگرامنگ زبان میں میموری کی تخصیص کے لئے سی اور اس پوائنٹس میں متحرک میموری موجود ہے. ان میں سے ایک ملالہ ہے، جو میموری مختص سے مراد ہے. UNIX نظام میں mmap ہے، جس میں ایک میموری نقدی نظام ہے جو اس کے اپنے منفرد I / O کے ساتھ آتا ہے سے مراد ہے. یہ دو (mmap اور malloc) چہرے کی قیمت پر ایک ہی تقریب انجام دے گا لیکن مزید کی جانچ پڑتال کچھ اختلافات سے پتہ چلتا ہے. یہ اختلافات، جو فعالیت سے پیدا ہوتے ہیں، ذیل میں بیان کی گئی ہیں.

اختلافات

سب سے پہلے، یہ ضروری ہے کہ اس بات کا تعین کرنا ضروری ہے کہ آیا کوئی شناخت موجود نہیں ہے کہ اس کی یادداشت کی اہم تعداد میں دستیاب ہے. یہ میموری انتظام کے خلاف پروگرام کی کارکردگی کی پیمائش کے ذریعے کیا جاتا ہے.

اہم میموری اختیاری انٹرفیس مللایک ہے. سی سی لائبریری میں یہ سب سے بڑا ہے. اس میں موجود مینجمنٹ کوڈ کا حصہ mmap ہے. جب مولول چل رہا ہے، تو یہ تمام دستیاب نظام کی سہولیات کو جمع کرتی ہے. اضافی نظام کی سہولیات کو دانی کے ذریعہ متحرک کیا جاسکتا ہے، جو میموری مینجمنٹ کی حکمت عملی میں سے ایک ہے جو نظام اس بات کا یقین کرنے کے لئے کہ اطمینان بخش میموری مختص ہے. یہ عمل آسان نہیں ہے، اگرچہ، سادہ پروگراموں سے پیدا ہونے والے لوگوں کو روکنے کی روک تھام کے واحد سبب کے لۓ پیچیدہ ہوسکتا ہے، جس میں میموری مختص کو غیر منظم بنایا جا سکتا ہے اور اس وجہ سے خراب کارکردگی کا مظاہرہ کر سکتا ہے.

'mmap' ایک ایسا نظام کال ہے جو چارجز لیتا ہے اور ایک غیر استعمال شدہ اور متضاد خطے کو ایک درخواست کے ایڈریس میں تلاش کرنے کا مطالبہ کرتا ہے جو بہت سے صفحات کے نقشے کی اجازت دیتا ہے. یاد رکھیں مجازی میموری مینجمنٹ ڈھانچے کی تخلیق بھی ہے جس میں اثر انداز نہیں ہوسکتا ہے.

کثیر میموری مینجمنٹ کے عمل میں مالکو عام کام کرتا ہے. ایونٹ میں اضافی میموری کی ضرورت ہوتی ہے، یہ او ایس سے قرض لیا جاتا ہے. دوسری طرف Mmap ایک سیاق و سباق سوئچ کا استعمال کرتا ہے جو کنی لینڈ میں بدلتا ہے.

میلپ کے استعمال کے مخالف کے طور پر نظام پر چل رہا ہے کسی بھی درخواست میں میموری کو مختص کرنے کے لئے مالکو بہترین ہے. یہ وہی ہے جو ڈیفالٹ کی طرف سے ہونے کی ضرورت ہے، خاص طور پر اس کے علاوہ جب اس کی اجازت ہو سکتی ہے.

درخواستوں کی طرف سے دی گئی جواب کو تیز کرنے کے لئے ایم ایم پی کا استعمال کیا جا سکتا ہے. تاہم یہ مشورہ نہیں دیا جاسکتا ہے کہ یہ کچھ بائٹس صفحات پر قربانی کردیۓ تاکہ یہ درخواست آسانی سے چل سکے. اگرچہ شروع میں اعداد و شمار کا مواد چھوٹے لگ سکتا ہے، تو اس کو ختم کرنا جب کثیر ایپلی کیشنز چلانا چاہتی ہے تو نظام کو سست رفتار سے بھی اثر انداز ہوسکتا ہے.

وسائل کی کارکردگی اور استعمال کی پیمائش کے بعد، نظام پر چلنے والے تمام ایپلی کیشنز کی طرف سے ڈیٹا کے استعمال کا مکمل اندازہ ہونا چاہئے.اگر ایپلی کیشنز کی زندگیوں کو دکھایا جاسکتا ہے تو یہ بہتر بن سکتا ہے.

مختص میموری کے لئے ملی میٹر کا استعمال اس نقصان کے ساتھ آتا ہے کہ گن میں اعداد و شمار کے تخصیص اور ڈیبلکشن مہنگا ہے. یہ ہے کیونکہ اعداد و شمار متعدد علاقوں میں تقسیم ہوتی ہے، اور نظام کی کال کرنے سے بھی ملی میٹر کو مسترد کرتا ہے.

Mmap ملالیک سے زیادہ فائدہ مند ہے کیونکہ میمیکس کے ذریعہ استعمال ہونے والے میموری کو فوری طور پر OS پر واپس آ گیا ہے. جب تک کوئی ڈیٹا سیکشن وقفے نہیں ہے، تو اس وقت تک ملازمت کی طرف سے استعمال کردہ میموری کبھی نہیں واپس آتی ہے. یہ میموری خاص طور پر دوبارہ استعمال کرنے کے لئے رکھا جاتا ہے.

خلاصہ

'میلکو' اہم میموری اختصاص نقطۂٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔٔ 9 ایک ملیمپپ سیسٹ کا مطالبہ کرتا ہے اور درخواست کے پتوں میں غیر استعمال شدہ علاقوں کو تلاش کرنے کے لئے ایک دانا کا مطالبہ کرتا ہے جو کئی میموری صفحات کے نقشہ جات کو ڈھونڈ سکتا ہے

Mmap کی سفارش نہیں کی جاتی ہے میموری کو مختص کرنے کے طور پر یہ دستیاب میموری تقسیم کرتا ہے اور سسٹم کالز نہیں بنا سکتی

ملالکو سے زیادہ ملی میٹر کا فائدہ میموری کی دستیابی ہے، جیسا کہ ملالسک میموری کے خلاف ہے، جو دوبارہ استعمال ہوتا ہے.