تسرب الذاكرة

في علوم الحاسب، يعد تسرب الذاكرة نوع من الاستهلاك غير المتعمد للذاكرة المؤقتة "ram" في الحاسوب، من خلال برنامج حاسوب، حيث يفشل البرنامج في إفراغ الذاكرة بعد الانتهاء من استعمالها، ويرى بالمصطلح نوع من الخطأ المرح في التسمية، لأن الذاكرة لا تفقد بطبيعة الحال من الحاسوب، ولكنها تصبح مشغولة ويتم تجاهلها بسبب خطأ تقني في عمليات البرنامج المنطقية. وكما يشار بالأسفل، يوجد لتسرب الذاكرة الكثير من الأعراض المتشابهة مع أعراض مشاكل أخرى، وعامة لا يمكن تحليل سبب تلك الاعراض إلا بواسطة مبرمج حاسوب لديه وسيلة لرؤية المصدر الكودي للبرنامج، ومع ذلك معظم الناس يسارعون إلى وصف أي زيادة غير مرغوبة في استعمال الذاكرة بتسرب للذاكرة، حتى ولو لم يكن ذلك دقيقا.

نتائج تسرب الذاكرة

حيث يمكن لتسرب الذاكرة التقليل من أداء الحاسوب، عن طريق تقليل كمية الذاكرة المتوفرة للحاسوب لكي يعمل بكفاءة. فتوزيع الذاكرة هو أساسا مهمة من مهام نظام التشغيل، لذلك ينتج عن تسرب الذاكرة ارتفاع ملحوظ في الذاكرة المستخدمة بنظام التشغيل ككل، وليس فقط من خلال البرنامج المخطئ، وأخيرا، في أسوأ الأحوال، يتم اشغال الكثير من الذاكرة المتوفره ويتوقف كل أو جزء من النظام أو الأجهزة عن العمل بشكل صحيح أو يسقط النظام ككل.قد لا يكون تسرب الذاكرة خطيرا أو ملحوظا بالوسائل الطبيعية في أغلب الأحيان. في نظم التشغيل الحديثة، الذاكرة المشغولة بواسطة برنامج يتم إفراغها عندما يغلق البرنامج، وذلك يعني أن تسرب الذاكرة بسبب برنامج يعمل لوقت قصير نادرا ما يكون خطيرا.

الحالات حين يكون التسرب أكثر خطوره قد تتضمن:

في حين يترك البرنامج المخطئ يعمل، ويستهلك ذاكرة أكثر فأكثر مع امضاء الوقت (مثل المهمات الخلفية، في خواديم الويب، ولكن أكثر في الأجهزة المضمنة والتي يمكن أن تترك تعمل لسنين عديدة "مثال: مسير")

في حين يكون البرنامج قادرا على طلب ذاكرة (مثال: ذاكرة مشتركة (shared memory) لم يتم إفراغها، حتى وإن أغلق البرنامج.

في حين يحصل التسرب بسبب نظام التشغيل.

في حين تكون الذاكرة قليلة جدا، مثال: داخل نظام مضمن (embedded system) أو جهاز محمول.


المراجع

areq.net

التصانيف

شذوذ البرمجيات  أخطاء البرمجة  برمجة  بنية الحاسوب   تكنولوجيا   العلوم الاجتماعية