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

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

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

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

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

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

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

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

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