Memory footprint
میموری فوٹ پرنٹ سے مراد مرکزی میموری کی مقدار ہے جو ایک پروگرام چلاتے وقت استعمال کرتا ہے یا حوالہ دیتا ہے۔ لفظ فٹ پرنٹ عام طور پر اس جسمانی طول و عرض کی حد سے مراد ہے جس پر کوئی چیز قبضہ کرتی ہے، جس سے اس کے سائز کا احساس ہوتا ہے۔ کمپیوٹنگ میں، سافٹ ویئر ایپلی کیشن کا میموری فوٹ پرنٹ اس کی رن ٹائم میموری کی ضروریات کی نشاندہی کرتا ہے، جب کہ پروگرام پر عمل درآمد ہوتا ہے۔ اس میں تمام قسم کے فعال میموری ریجنز شامل ہیں جیسے کوڈ سیگمنٹ جس میں (زیادہ تر) پروگرام کی ہدایات (اور کبھی کبھار مستقل)، ڈیٹا سیگمنٹ (ابتدائی اور غیر ابتدائی دونوں)، ہیپ میموری، کال اسٹیک، نیز کسی بھی اضافی ڈیٹا ڈھانچے کو رکھنے کے لیے درکار میموری، جیسے کہ علامتی میزیں، ڈیٹا ڈھانچے کو ڈیبگ کرنا، فائلیں کھولنا، موجودہ عمل میں نقشہ بند مشترکہ لائبریریاں وغیرہ، جن کی پروگرام کو انجام دیتے وقت ضرورت ہوتی ہے اور پورے رن کے دوران کم از کم ایک بار لوڈ کیا جائے گا۔ بڑے پروگراموں میں میموری کے بڑے نشانات ہوتے ہیں۔ کسی ایپلی کیشن کا میموری فوٹ پرنٹ تقریبا مشترکہ لائبریریوں یا کلاسوں کی تعداد اور سائز کے متناسب ہوتا ہے جو اس میں لوڈ ہوتا ہے، جبکہ جامد لائبریریاں، قابل عمل پروگرام اور جامد ڈیٹا ایریا ایک مقررہ (مستقل) حصے میں حصہ ڈالتے ہیں۔ پروگرام خود اکثر اپنے میموری فوٹ پرنٹس میں سب سے بڑے حصے کا حصہ نہیں ڈالتے ہیں۔ بلکہ، رن ٹائم ماحول کے ذریعہ متعارف کردہ ڈھانچے زیادہ تر میموری پر قبضہ کرتے ہیں۔ مثال کے طور پر، ایک C + + مرتب vtables، ٹائپ انفارمیشن آبجیکٹ اور بہت سے عارضی اور گمنام آبجیکٹ داخل کرتا ہے جو کسی پروگرام کے نفاذ کے دوران فعال ہوتے ہیں۔ جاوا پروگرام میں، میموری فوٹ پرنٹ بنیادی طور پر جاوا ورچوئل مشین (جے وی ایم) کی شکل میں رن ٹائم ماحول سے بنا ہوتا ہے جو جاوا ایپلی کیشن لانچ ہونے پر بالواسطہ طور پر لوڈ ہوتا ہے۔ اس کے علاوہ، زیادہ تر آپریٹنگ سسٹمز پر، کسی ایپلیکیشن کے ذریعے کھولی گئی ڈسک فائلوں کو بھی ایپلیکیشن کے ایڈریس اسپیس میں پڑھا جاتا ہے، جس سے اس کے نقش قدم میں اضافہ ہوتا ہے۔ استعمال کا رجحان 1990 کی دہائی کے دوران کمپیوٹر میموری سستی ہو گئی اور بڑے میموری فوٹ پرنٹس والے پروگرام عام ہو گئے۔ یہ رجحان زیادہ تر کمپیوٹر سافٹ ویئر کے وسیع پیمانے پر استعمال کی وجہ سے رہا ہے، بڑے انٹرپرائز وسیع ایپلی کیشنز سے جو بڑی مقدار میں میموری استعمال کرتی ہیں (جیسے ڈیٹا بیس)، میموری سے بھرپور ملٹی میڈیا تصنیف اور ترمیم سافٹ ویئر تک۔ میموری کی بڑھتی ہوئی ضروریات سے نمٹنے کے لیے، ورچوئل میموری سسٹم متعارف کرائے گئے جو دستیاب میموری کو مساوی سائز کے حصوں میں تقسیم کرتے ہیں اور انہیں ہارڈ ڈسک پر ذخیرہ کردہ "پیجز" سے ضرورت کے مطابق لوڈ کرتے ہیں۔ بہت زیادہ میموری والے فوٹ پرنٹس والے پروگراموں کی حمایت کرنے کا یہ طریقہ کافی کامیاب رہا ہے۔ مائیکروسافٹ ونڈوز، ایپل کے میک او ایس، اور لینکس اور یونکس کے تمام ورژن سمیت زیادہ تر جدید آپریٹنگ سسٹم ورچوئل میموری سسٹم فراہم کرتے ہیں۔ سرایت شدہ نظاموں میں روایتی طور پر، سرایت شدہ پلیٹ فارمز پر ایپلی کیشنز کو چلانے کے لیے کم میموری والے فوٹ پرنٹ پروگرام اہمیت کے حامل تھے جہاں میموری اکثر ایک محدود وسیلہ ہوتی تھی-اتنا کہ ڈویلپرز عام طور پر کارکردگی (پروسیسنگ کی رفتار) کو صرف پروگرام کے فوٹ پرنٹس کو اتنا چھوٹا بنانے کے لیے قربان کر دیتے تھے کہ وہ دستیاب رام میں فٹ ہو جائیں۔ مثال کے طور پر، سن مائیکرو سسٹمز نے اس طرح کے محدود آلات کے لیے اپنی جاوا ورچوئل مشین (جے وی ایم) کا ایک ورژن پیش کیا ؛ یہ کے وی ایم کے نام سے جانا جاتا ہے۔ کے وی ایم ان پلیٹ فارمز پر کام کرتا ہے جہاں میموری کلو بائٹس میں ہوتی ہے اس کے برعکس کہ عام گھریلو پی سی یا زیادہ جدید سمارٹ آلات پر دستیاب میگا بائٹس (یا یہاں تک کہ گیگا بائٹس) میموری ہوتی ہے۔ ایپلیکیشن فٹ پرنٹ ورچوئل میموری بھی دیکھیں، ایک میموری مینجمنٹ تکنیک جو کمپیوٹر ڈیٹا اسٹوریج کی مختلف شکلوں کو ورچوئلائز کرتی ہے (جیسے بے ترتیب رسائی میموری اور ڈسک اسٹوریج)۔ حوالہ جات سافٹ ویئر کی اصلاح