تجزئة (حاسوب)

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

هناك 3 أنواع مختلفة من التجزئة إلا أنها مترابطة في آن معا وهي: التجزئة الخارجية والتجزئة الداخلية وتجزئة البيانات. تظهر مخططات تخصيص الذاكرة العديدة واحدة من هذه العيوب (أنواع التجزئة المختلفة) ولكن يمكن تقبل التجزئة في مقابل الحصول على زيادة في السرعة أو البساطة.

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

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

غالبا ما يقوم البرنامج الذي يحجز بايتا واحدا من البيانات بحجز بايتات عديدة إضافية من أجل البيانات الوصفية والرصف وتدعى هذه المساحة الإضافية بالتجزئة الداخلية.

مثال شائع آخر على التجزئة الداخلية: يخزّن النص الإنجليزي عادة في رمز واحد يحتل مساحة تساوي بايت مكونا من 8 بت على الرغم من أن البت الأكثر أهمية في ترميز الأسكي يساوي صفرا في كل بايت ولذا تعد البتات غير المستخدمة شكلا من أشكال التجزئة الداخلية في مثل هذه الحالة.

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

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

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

يمكن مثلا أن يتم طلب مجموعة من 1000 بايت في تخصيص الذاكرة الحيوية، ولكن أكبر مجموعة من المساحات الخالية المتجاورة ذات مساحة تساوي 300 بايت. حتى لو توافرت 10 مجموعات مكونة من 300 بايت من المساحة الخالية التي تفصلها مناطق مخصصة فلا يمكن مع ذلك تخصيص المجموعة ذات الحجم المطلوب (1000 بايت) ولذا يفشل طلب التخصيص.

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

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

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

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

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

مراجع

وصلات خارجية 
 Videos explaining the concept of slack space, Department of Computer Systems and Communications, UTM

انظر أيضا
إدارة الذاكرة

تقنية المعلومات