ذاكرة غير قابلة للوصول

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث

في علوم الحاسب، الذاكرة الغير قابلة للوصول (Unreachable memory) هي ذاكرة موجودة دينماكيا في مكان لا يموكن للبرنامج الذي أوجدها الوصول إليها حيث لا يملك مؤشرات ترجع إليها. وبالمثل، الكائن الغير قابل للوصول هي الكائنات الا تملك مراجع للوصول إليها. والذاكرة الغير قابلة للوصول هي ذاكرة دينماكية التي لا يمكن للبرنامج الوصول إليها مباشرة، ولا عن طريق كائن يمكنة الوصول إليها مباشرة، ويتبعه سلسلة من المؤشرات المرجعية.

في تطبيقات تحديد موقع الذاكرة الدينماكية التي تستخدم في مجمع القمامة (garbage collector)، يتم إصلاح الكائنات بعد أن تكون غير قابلة للوصول. مجمع القمامة يستطيع أن يحدد إذا كان الكائن غير قابل للوصول، وكل كائن يتم تصنيفة على أنة غي قابل للوصول يتم حذف مكانة في الذاكرة. العديد من لغات البرمجة تستخدم تجميع القمامة تلقائياً مثل جافا، سي#، دي، دبلان.

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

بعض مجمعات القمامة توجد مراجع ضعيفة. إذا أمكن الوصول إلى كائن من خلال مرجع ضعيف أو سلسلة من المراجع تحتوي على مرجع ضعيف، يطلق على هذا الكائن ضعيف الوصول. يعالج جامع البيانات الغير هامة الرسم البياني لكائن ضعيف المرجع على أنة غير قابل للوصول ويحذف موقعة. (وبالعكس، المراجع التي تمنع الكائن من أن يجمع على أنة قمامة تسمى مراجع قوية، الكائن الغير قابل للوصول هو لا يمكن الوصول إليه من أي سلسلة والتي تحتوي فقط على مراجع قوية). بعض لغات البرمجة كائنية التوجه التي تستخدم تجميع البيانات الغير هامة مثل جافا وبايثون تتميز بالمراجع الضعيفة، حزمة الجافا java.lang.ref تدعم المراجع اللبينة (softly)، الضعيفة (weak)، والوهمية(phantom)، مما أدى إلى حالات وصول إضافيى للكائن وهي لين الوصول (softly reachable) ووهمي الوصول (phantom reachable).

أنظر أيضاً[عدل]

وصلات خارجية[عدل]

مناقشة مفيدة لإيثان موجودة على مدونة نيكولاس