بصمة الذاكرة
يشير مصطلح "بصمة الذاكرة" إلى مقدار الذاكرة الرئيسية التي يستخدمها البرنامج أو يشير إليها أثناء تشغيله. [ 1 ]
يشير مصطلح " بصمة الذاكرة" عمومًا إلى مدى الأبعاد الفيزيائية التي يشغلها كائن ما، مما يعطي فكرة عن حجمه. في مجال الحوسبة، تشير بصمة الذاكرة لتطبيق برمجي إلى متطلبات الذاكرة أثناء تشغيل البرنامج. ويشمل ذلك جميع أنواع مناطق الذاكرة النشطة، مثل مقطع التعليمات البرمجية الذي يحتوي (غالبًا) على تعليمات البرنامج (وأحيانًا الثوابت)، ومقطع البيانات (سواءً كان مهيأً أم لا)، [ 1 ] وذاكرة الكومة ، ومكدس الاستدعاءات ، بالإضافة إلى الذاكرة اللازمة لتخزين أي هياكل بيانات إضافية، مثل جداول الرموز ، وهياكل بيانات تصحيح الأخطاء ، والملفات المفتوحة، والمكتبات المشتركة المرتبطة بالعملية الحالية، وما إلى ذلك، والتي يحتاجها البرنامج أثناء التشغيل، والتي سيتم تحميلها مرة واحدة على الأقل خلال فترة التشغيل. [ 2 ]
تستهلك البرامج الأكبر حجمًا مساحة أكبر من الذاكرة. تتناسب مساحة الذاكرة التي يستهلكها التطبيق تقريبًا مع عدد وحجم المكتبات أو الفئات المشتركة التي يقوم بتحميلها، بينما تُساهم المكتبات الثابتة والبرامج التنفيذية ومساحات البيانات الثابتة في جزء ثابت من الذاكرة. غالبًا لا تُساهم البرامج نفسها بالجزء الأكبر من مساحة الذاكرة الخاصة بها؛ بل تستحوذ الهياكل التي يُنشئها بيئة التشغيل على معظم الذاكرة. على سبيل المثال، يُدرج مُصرّف لغة C++ جداول الدوال الافتراضية (vtables) وكائنات معلومات النوع والعديد من الكائنات المؤقتة والمجهولة التي تكون نشطة أثناء تنفيذ البرنامج. في برنامج Java، تتكون مساحة الذاكرة بشكل أساسي من بيئة التشغيل في صورة آلة Java الافتراضية (JVM) نفسها، والتي يتم تحميلها بشكل غير مباشر عند تشغيل تطبيق Java. بالإضافة إلى ذلك، في معظم أنظمة التشغيل، تُقرأ ملفات القرص التي يفتحها التطبيق أيضًا في مساحة عنوان التطبيق، مما يُساهم في مساحة الذاكرة الخاصة به.
اتجاه الاستخدام
خلال تسعينيات القرن الماضي، انخفضت تكلفة ذاكرة الحاسوب، وأصبحت البرامج ذات البصمة الذاكرية الكبيرة شائعة. ويعود هذا التوجه في معظمه إلى الاستخدام الواسع لبرامج الحاسوب، بدءًا من التطبيقات الضخمة على مستوى المؤسسات التي تستهلك كميات هائلة من الذاكرة (مثل قواعد البيانات )، وصولًا إلى برامج تأليف وتحرير الوسائط المتعددة التي تتطلب ذاكرة كبيرة. ولمواجهة الاحتياجات المتزايدة للذاكرة، طُرحت أنظمة الذاكرة الافتراضية التي تقسم الذاكرة المتاحة إلى أجزاء متساوية الحجم، وتُحمّلها من " صفحات " مخزنة على القرص الصلب عند الحاجة.
في الأنظمة المدمجة
تقليديًا، كانت البرامج ذات البصمة الذاكرة المنخفضة ذات أهمية بالغة لتشغيل التطبيقات على الأنظمة المدمجة ، حيث غالبًا ما تكون الذاكرة موردًا محدودًا [ 1 ] ، لدرجة أن المطورين كانوا يضحون عادةً بالكفاءة (سرعات المعالجة) لجعل حجم البرنامج صغيرًا بما يكفي ليناسب ذاكرة الوصول العشوائي (RAM) المتاحة. على سبيل المثال، أصدرت شركة صن مايكروسيستمز نسخة من آلة جافا الافتراضية (JVM) الخاصة بها لهذه الأجهزة ذات الموارد المحدودة، وتُعرف باسم KVM . تعمل KVM على منصات تُقاس فيها الذاكرة بالكيلوبايت، على عكس الميجابايت (أو حتى الجيجابايت ) المتوفرة في أجهزة الكمبيوتر المنزلية العادية أو الهواتف المحمولة والأجهزة اللوحية الحديثة.
انظر أيضاً
- بصمة التطبيق
- الذاكرة الافتراضية ، وهي تقنية لإدارة الذاكرة تقوم بمحاكاة أشكال مختلفة من تخزين بيانات الكمبيوتر (مثل ذاكرة الوصول العشوائي وتخزين القرص ).
مراجع
- 1 2 3 "تعريف: حجم الذاكرة" . مجلة PC . تم الاطلاع عليه في 1 أغسطس 2012 .
- ↑ "تقليل استهلاك الذاكرة في نظام لينكس" . IBM developerWorks . تم الاطلاع عليه في 1 أغسطس 2012 .
- تحسين البرمجيات
