التجزئة (الحوسبة)
في مجال تخزين البيانات الحاسوبية ، يُعدّ التجزئة ظاهرةً في نظام الحاسوب تتمثل في توزيع البيانات إلى أجزاء أصغر، مما يؤدي إلى استخدام غير فعّال لمساحة التخزين، كذاكرة الحاسوب أو القرص الصلب ، وبالتالي انخفاض السعة أو الأداء، أو كليهما في كثير من الأحيان. وتعتمد النتائج الدقيقة للتجزئة على نظام تخصيص التخزين المستخدم ونوع التجزئة. في كثير من الحالات، تؤدي التجزئة إلى "هدر" مساحة التخزين، وتميل البرامج إلى العمل بكفاءة منخفضة نتيجةً لنقص الذاكرة.
المبدأ الأساسي
في تجزئة الذاكرة الرئيسية، عندما يطلب برنامج حاسوبي كتلًا من الذاكرة من النظام، تُخصص هذه الكتل على شكل أجزاء. وعندما ينتهي البرنامج من استخدام جزء ما، يُحرره ويُعيده إلى النظام، مما يجعله متاحًا للاستخدام لاحقًا من قِبل برنامج آخر أو حتى البرنامج نفسه. يختلف حجم الجزء ومدة احتفاظ البرنامج به. وخلال دورة حياته، يمكن للبرنامج طلب وتحرير العديد من أجزاء الذاكرة.
قد يحدث تجزئة الذاكرة عندما يطلب برنامجٌ ما كتلةً من الذاكرة ويُخصَّص له، لكن البرنامج لم يُحرِّرها (يُلغِ تخصيصها). [ 1 ] يؤدي هذا إلى وضع علامة "مُخصَّصة" على الذاكرة "المتاحة" نظريًا، غير المُستخدَمة، مما يُقلِّل من مقدار الذاكرة المتاحة عالميًا، ويُصعِّب على البرامج طلب الذاكرة والوصول إليها.
عند بدء تشغيل برنامج، تكون مساحات الذاكرة الحرة طويلة ومتصلة. ومع مرور الوقت والاستخدام، تتجزأ هذه المساحات المتصلة الطويلة إلى مساحات متصلة أصغر فأصغر. وفي النهاية، قد يصبح من المستحيل على البرنامج الحصول على مساحات كبيرة متصلة من الذاكرة.
الأنواع
يحدث التجزئة عندما تُقسّم قطعة من البيانات أو مساحة فارغة إلى عدة أجزاء. غالبًا ما يُقبل التجزئة مقابل تحسينات في السرعة أو البساطة. تحدث ظواهر مماثلة لموارد أخرى مثل المعالجات؛ انظر أدناه.
ذاكرة
يمكن أن يكون تجزئة الذاكرة داخليًا أو خارجيًا . يحدث التجزئة الداخلي عندما يوفر تخصيص الذاكرة مساحة أكبر من اللازم، مما يؤدي إلى هدر المساحة الحرة. أما التجزئة الخارجي فتحدث عندما تكون الذاكرة الحرة مجزأة، مما يمنع تخصيص كتل جديدة أكبر حجمًا.
في أنظمة التشغيل الحديثة، يتلقى البرنامج صفحات ذات حجم ثابت يقوم بتوزيعها على أجزاء مختلفة منه (غالبًا باستخدام مُخصِّص ذاكرة مثل malloc). ونتيجةً لذلك، توجد طبقتان من التخصيص ، قد تُؤدي كلٌّ منهما إلى تجزئة داخلية وخارجية: على مستوى مُخصِّص الذاكرة (مثل malloc ) وعلى مستوى الصفحات. (قد لا تستخدم أنظمة التشغيل القديمة الصفحات، لكن البرامج لا تزال تميل إلى استخدام نظام ثنائي المستويات لتجنب استدعاءات نظام التشغيل المُفرطة).
التجزئة الداخلية

بسبب قواعد تخصيص الذاكرة ، قد يتم تخصيص ذاكرة حاسوبية أكبر من اللازم أحيانًا. وعندها، تُهدر الذاكرة الزائدة. في هذه الحالة، تُخزَّن الذاكرة غير القابلة للاستخدام، والمعروفة باسم المساحة الراكدة ، ضمن منطقة مُخصصة. يُعاني هذا الترتيب، المسمى بالأقسام الثابتة، من استخدام غير فعال للذاكرة، حيث تشغل أي عملية، مهما كان حجمها، قسمًا كاملًا. يُطلق على هذا الهدر اسم التجزئة الداخلية .
- يؤدي تقسيم الذاكرة إلى تجزئات داخلية لأن إطار الصفحة بالكامل (عادةً من 4 إلى 64 كيلوبايت) سيتم تخصيصه سواء كانت هناك حاجة إلى هذا القدر من التخزين أم لا. [ 2 ]
- تُوفّر دوال تخصيص الذاكرة مثل malloc درجةً من المحاذاة ، بحيث لا يُمكن توفير الذاكرة للبرامج إلا على شكل أجزاء (عادةً ما تكون من مضاعفات 4 بايت). ونتيجةً لذلك، إذا طلب برنامجٌ ما 29 بايتًا، فسيحصل فعليًا على جزءٍ من 32 بايتًا. [ 3 ] [ 4 ]
يُعدّ استعادة التجزئة الداخلية على مستوى مُخصِّص الذاكرة أمرًا بالغ الصعوبة بعد حدوثها؛ وعادةً ما تكون أفضل طريقة لإزالتها هي تغيير التصميم. على سبيل المثال، في تخصيص الذاكرة الديناميكي ، تُقلِّل مجموعات الذاكرة التجزئة الداخلية بشكلٍ كبير عن طريق توزيع المساحة الإضافية على عددٍ أكبر من الكائنات.
يمكن استعادة التجزئة الداخلية على مستوى الصفحة (وهي تجزئة خارجية على مستوى المُخصِّص) عن طريق نقل الكتل المُخصَّصة. يتطلب هذا تعديل المؤشرات لتعكس نقل الكتل المُخصَّصة، وهو أمر صعب في اللغات التي لا تعتمد على جمع البيانات المهملة. تقوم مُجمِّعات البيانات المهملة المضغوطة بإصلاح المؤشرات أثناء ضغط مساحة العناوين الافتراضية. [ 5 ]
التجزئة الخارجية
يحدث التجزئة الخارجية عندما تُقسّم الذاكرة الحرة إلى كتل صغيرة وتتخللها ذاكرة مُخصصة. يُعدّ هذا عيبًا في بعض خوارزميات تخصيص الذاكرة، حيث تفشل في ترتيب الذاكرة المستخدمة من قِبل البرامج بكفاءة. والنتيجة هي أنه على الرغم من توفر مساحة تخزين حرة، إلا أنها غير قابلة للاستخدام فعليًا لأنها مُقسّمة إلى أجزاء صغيرة جدًا لا تُلبي احتياجات التطبيق. يُشير مصطلح "خارجي" إلى أن مساحة التخزين غير القابلة للاستخدام تقع خارج المناطق المُخصصة.
على سبيل المثال، لنفترض أن برنامجًا ما يُخصّص ثلاث كتل متجاورة من الذاكرة، ثم يُحرّر الكتلة الوسطى. يمكن لمُخصِّص الذاكرة استخدام هذه الكتلة المُحرَّرة في عمليات تخصيص لاحقة. مع ذلك، لا يمكنه استخدامها إذا كانت الذاكرة المُراد تخصيصها أكبر حجمًا من حجم هذه الكتلة المُحرَّرة.
| وقت | 0x0000 | 0x1000 | 0x2000 | 0x3000 | 0x4000 | 0x5000 | تعليقات |
|---|---|---|---|---|---|---|---|
| 0 | ابدأ باستخدام جميع الذاكرة المتاحة للتخزين. | ||||||
| 1 | أ | ب | ج | تم تخصيص ثلاث كتل A و B و C، بحجم 0x1000 . | |||
| 2 | أ | ج | تم تحرير الكتلة B. لاحظ أن الذاكرة التي استخدمتها B لا يمكن تضمينها لكتلة أكبر من حجم B. | ||||
| 3 | أ | ج | تم نقل الكتلة C إلى الفتحة الفارغة للكتلة B، مما يسمح باستخدام المساحة المتبقية لكتلة أكبر بحجم 0x4000 . |
يمكن استعادة التجزئة الخارجية على مستوى الصفحة بواسطة مُخصِّص الذاكرة الخاص بالتطبيق أو جامع البيانات المهملة حيث يقوم بتحرير الصفحات وإعادتها (إلغاء الالتزام) إلى نظام التشغيل.
يمكن لنظام التشغيل استعادة التجزئة الخارجية على مستوى الصفحة عن طريق نقل الصفحات في مساحة العناوين الفيزيائية وتعديل جدول الصفحات ليطابقها. يُسمى هذا ترحيل الصفحات . ولا يلاحظ التطبيق هذه العملية لأن عناوين الذاكرة الافتراضية تبقى دون تغيير. [ 6 ]
أنظمة الملفات
يحدث تجزئة البيانات عندما تُقسّم مجموعة من البيانات في الذاكرة إلى أجزاء عديدة غير متقاربة. تتفاعل أنظمة الملفات معأجهزة التخزين الكتليةمثل محركات الأقراص. تُدير هذه الأجهزة البيانات في وحدات صغيرة ثابتة الحجم تُسمىالكتلأو القطاعات، والتي تُجرّدها أنظمة الملفات إلى وحدات خاصة بها تُسمىالكتلأوالمجموعات.
عند إنشاء نظام ملفات، تتوفر مساحة حرة لتخزين كتل الملفات بشكل متجاور . وهذا يسمح بقراءة وكتابة الملفات بسرعة وبشكل متسلسل. مع ذلك، ومع إضافة الملفات وحذفها وتغيير حجمها، تتجزأ المساحة الحرة خارجيًا، تاركةً فراغات صغيرة فقط لوضع بيانات جديدة. هذا ما يُسمى بالتجزئة الخارجية . تختلف أنظمة الملفات عن الذاكرة في أنها مصممة مع مراعاة التجزئة: فعند كتابة ملف جديد، أو عند توسيع ملف موجود، يضع نظام التشغيل البيانات الجديدة في مجموعات جديدة غير متجاورة من العناقيد ( الامتدادات ) لتناسب الفراغات المتاحة. وتكون كتل البيانات الجديدة متناثرة بالضرورة، مما يُبطئ الوصول إليها بسبب وقت البحث وزمن استجابة رأس القراءة/الكتابة، ويُضيف عبئًا إضافيًا لإدارة المواقع الإضافية. يُسمى هذا تجزئة نظام الملفات . ويزداد الأمر سوءًا عند حذف ملف مُقسّم إلى أجزاء صغيرة، لأن ذلك يُخلّف مناطق صغيرة مماثلة من المساحة الحرة.
عند كتابة ملف جديد بحجم معروف، إذا وُجدت أي مساحات فارغة أكبر من حجم الملف، يمكن لنظام التشغيل تجنب تجزئة البيانات بوضع الملف في أيٍّ من هذه المساحات. توجد خوارزميات متنوعة لاختيار المساحة المناسبة لوضع الملف؛ كلٌّ منها حلٌّ تقريبيٌّ لمسألة تعبئة الحاويات . تختار خوارزمية "أفضل ملاءمة" أصغر مساحة كافية. وتختار خوارزمية "أسوأ ملاءمة" أكبر مساحة. وتختار خوارزمية "أول ملاءمة" أول مساحة كافية. أما خوارزمية "الملاءمة التالية " فتتتبع مكان كتابة كل ملف. وتُعدّ خوارزمية "الملاءمة التالية" أسرع من خوارزمية "أول ملاءمة"، التي بدورها أسرع من خوارزمية "أفضل ملاءمة"، التي تُساوي خوارزمية "أسوأ ملاءمة" في السرعة. [ 7 ]
كما يُمكن لضغط البيانات التخلص من التجزئة الخارجية، يُمكن التخلص من تجزئة البيانات (الخارجية) عن طريق إعادة ترتيب تخزين البيانات بحيث تكون الأجزاء ذات الصلة متقاربة. على سبيل المثال، تتمثل المهمة الأساسية لأداة إلغاء التجزئة في إعادة ترتيب الكتل على القرص بحيث تكون كتل كل ملف متجاورة. كما تحاول معظم أدوات إلغاء التجزئة تقليل أو إزالة تجزئة المساحة الحرة. بعض أدوات جمع البيانات المهملة المتحركة ، وهي أدوات تُجري إدارة تلقائية للذاكرة، تقوم أيضًا بنقل الكائنات ذات الصلة إلى أماكن قريبة (وهذا ما يُسمى بالضغط ) لتحسين أداء ذاكرة التخزين المؤقت.
أربعة أنواع من الأنظمة لا تعاني مطلقًا من تجزئة البيانات (الخارجية)، إذ تخزن جميع الملفات بشكل متجاور. وتعاني هذه الأنواع الأربعة من عيوب كبيرة مقارنةً بالأنظمة التي تسمح بتجزئة مؤقتة للبيانات على الأقل.
- ببساطة، اكتب كل ملف بشكل متجاور . إذا لم تكن هناك مساحة حرة متجاورة كافية لتخزين الملف، فسيفشل النظام فورًا في تخزين الملف - حتى عندما تكون هناك مساحات حرة صغيرة من الملفات المحذوفة والتي تتراكم لتصبح أكثر من كافية لتخزين الملف.
- إذا لم تكن هناك مساحة تخزين متصلة كافية لحفظ الملف، فاستخدم أداة تجميع النسخ لتحويل أجزاء صغيرة من المساحة الحرة إلى منطقة واحدة متصلة كبيرة بما يكفي لحفظ الملف. يستغرق هذا وقتًا أطول بكثير من تقسيم الملف إلى أجزاء ووضع تلك الأجزاء في المساحة الحرة المتاحة.
- اكتب الملف في أي كتلة فارغة، باستخدام تخزين الكتل ذات الحجم الثابت . إذا اختار المبرمج حجم كتلة ثابتًا صغيرًا جدًا، فسيفشل النظام فورًا في تخزين بعض الملفات - الملفات الأكبر من حجم الكتلة - حتى عندما يكون مجموع الكتل الفارغة كافيًا لتخزين الملف. أما إذا اختار المبرمج حجم كتلة كبيرًا جدًا، فسيتم إهدار مساحة كبيرة بسبب التجزئة الداخلية.
- تتجنب بعض الأنظمة التخصيص الديناميكي تمامًا، حيث تقوم بتخزين مساحة (متجاورة) مسبقًا لجميع الملفات المحتملة التي ستحتاجها - على سبيل المثال، يقوم MultiFinder بتخصيص جزء من ذاكرة الوصول العشوائي لكل تطبيق عند بدء تشغيله وفقًا لمقدار ذاكرة الوصول العشوائي التي ادعى مبرمج هذا التطبيق أنه سيحتاجها.
نادرًا ما يُشكل التجزئة الداخلية مصدر قلق في أنظمة الملفات، لأنها لا تؤثر سلبًا على تخصيص الملفات في النظام ككل. مع ذلك، فهي تُسبب زيادة في مساحة التخزين وتُبطئ الوصول إلى مجموعات كبيرة من الملفات الصغيرة المتأثرة (يمكن اعتبار المجموعة ككل "مجزأة"). ولمعالجة هذه المشكلة، توفر أنظمة ملفات مثل ext4 وbtrfs ميزة البيانات المضمنة أو الملفات المضمنة ، ما يُغني عن تخصيص مجموعة لهذه الملفات، ويُتيح تخزينها مباشرةً في عقدة الملف (inode). [ 8 ]
مقارنة
بالمقارنة مع التجزئة الخارجية، فإنّ التجزئة الداخلية والتجزئة الزائدة لا تُسبّبان سوى خسارة طفيفة من حيث هدر الذاكرة وانخفاض الأداء. ويُعرَّف ذلك على النحو التالي:
- تجزئة الذاكرة الخارجية = 1 - أكبر كتلة من الذاكرة الحرة / إجمالي الذاكرة الحرة
نسبة التجزئة 0% تعني أن كل الذاكرة الحرة موجودة في كتلة كبيرة واحدة؛ نسبة التجزئة 90% (على سبيل المثال) عندما تكون هناك 100 ميجابايت من الذاكرة الحرة ولكن أكبر كتلة ذاكرة حرة للتخزين هي 10 ميجابايت فقط.
يُعدّ التجزئة الخارجية أقل إشكالية في أنظمة الملفات مقارنةً بأنظمة تخزين الذاكرة الرئيسية (RAM)، لأن البرامج عادةً ما تتطلب تلبية طلبات تخزينها في ذاكرة الوصول العشوائي (RAM) بكتل متجاورة، بينما تُصمّم أنظمة الملفات عادةً لاستخدام أي مجموعة من الكتل المتاحة (الأجزاء) لتجميع ملف يبدو منطقيًا متجاورًا. لذلك، إذا حُذف ملف شديد التجزئة أو عدة ملفات صغيرة من وحدة تخزين ممتلئة، ثم أُنشئ ملف جديد بحجم يُساوي المساحة المُحرّرة حديثًا، فسيعيد الملف الجديد استخدام الأجزاء نفسها التي أُحرّرت بالحذف. إذا كان الملف المحذوف ملفًا واحدًا، فسيكون الملف الجديد مُجزّأً تمامًا مثل الملف القديم، ولكن في كلتا الحالتين، لن يكون هناك ما يمنع استخدام كل المساحة الحرة (شديدة التجزئة) لإنشاء الملف الجديد. من ناحية أخرى، في ذاكرة الوصول العشوائي (RAM)، غالبًا ما لا تستطيع أنظمة التخزين المستخدمة تجميع كتلة كبيرة لتلبية طلب من كتل صغيرة غير متجاورة، وبالتالي لا يمكن تلبية الطلب ولا يمكن للبرنامج المضي قدمًا للقيام بما يحتاج إليه من تلك الذاكرة (إلا إذا كان بإمكانه إعادة إصدار الطلب كعدد من الطلبات المنفصلة الأصغر).
مشاكل
فشل التخزين
تتمثل أخطر مشكلة ناتجة عن التجزئة في تعطل عملية أو نظام بسبب استنفاد الموارد قبل الأوان: فإذا كان من الضروري تخزين كتلة متجاورة ولم يكن ذلك ممكنًا، يحدث العطل. وتحدث هذه المشكلة حتى لو كانت كمية الموارد كافية، ولكن ليس بشكل متصل . على سبيل المثال، إذا كان لدى جهاز كمبيوتر 4 جيجابايت من الذاكرة، و2 جيجابايت منها متاحة، ولكن الذاكرة مجزأة بتسلسل متناوب من 1 ميجابايت مستخدمة و1 ميجابايت متاحة، فلن يُلبى طلب 1 جيجابايت متصلة من الذاكرة، حتى لو كانت المساحة المتاحة 2 جيجابايت.
لتجنب ذلك، قد يقوم مُخصِّص الذاكرة، بدلاً من الفشل، بتشغيل عملية إلغاء تجزئة (أو دورة ضغط الذاكرة) أو استعادة موارد أخرى، مثل دورة جمع البيانات المهملة الرئيسية، على أمل أن يتمكن حينها من تلبية الطلب. يسمح هذا للعملية بالاستمرار، ولكنه قد يؤثر سلبًا على الأداء.
تدهور الأداء
يُسبب التجزئة تدهورًا في الأداء لعدة أسباب. أهمها، أن التجزئة تزيد من الجهد المطلوب لتخصيص الموارد والوصول إليها. على سبيل المثال، في محركات الأقراص الصلبة أو محركات الأشرطة، تكون قراءة البيانات المتسلسلة سريعة جدًا، لكن البحث عن عنوان مختلف يكون بطيئًا، لذا تتطلب قراءة أو كتابة ملف مُجزأ عمليات بحث متعددة، مما يُبطئ العملية بشكل كبير، بالإضافة إلى زيادة استهلاك الجهاز. علاوة على ذلك، إذا لم يكن المورد مُجزأً، يُمكن تلبية طلبات التخصيص ببساطة عن طريق إرجاع كتلة واحدة من بداية المنطقة الحرة. أما إذا كان مُجزأً، فيتطلب الطلب إما البحث عن كتلة حرة كبيرة بما يكفي، وهو ما قد يستغرق وقتًا طويلاً، أو تلبية الطلب من خلال عدة كتل أصغر (إن أمكن)، مما يؤدي إلى تجزئة هذا التخصيص، ويتطلب جهدًا إضافيًا لإدارة الأجزاء المتعددة.
تكمن إحدى المشكلات الأكثر دقة في أن التجزئة قد تُستنفد ذاكرة التخزين المؤقت قبل الأوان، مما يُسبب تذبذبًا كبيرًا في البيانات، نظرًا لأن ذاكرة التخزين المؤقت تحتفظ بالكتل وليس بالبيانات الفردية. على سبيل المثال، لنفترض أن برنامجًا ما لديه مجموعة عمل بحجم 256 كيلوبايت، ويعمل على جهاز كمبيوتر مزود بذاكرة تخزين مؤقت بحجم 256 كيلوبايت (لنقل ذاكرة تخزين مؤقت من المستوى الثاني للتعليمات والبيانات)، وبالتالي فإن مجموعة العمل بأكملها تتسع في ذاكرة التخزين المؤقت، مما يُسرّع عملية التنفيذ، على الأقل من حيث عدد مرات الوصول إلى ذاكرة التخزين المؤقت. لنفترض أيضًا أن البرنامج يحتوي على 64 مدخلًا في مخزن البحث عن الترجمة (TLB)، كل منها لصفحة بحجم 4 كيلوبايت : يتطلب كل وصول إلى الذاكرة ترجمة من الذاكرة الافتراضية إلى الذاكرة الفعلية، وهي عملية سريعة إذا كانت الصفحة موجودة في ذاكرة التخزين المؤقت (هنا مخزن البحث عن الترجمة). إذا كانت مجموعة العمل غير مجزأة، فستتسع في 64 صفحة بالضبط ( ستكون مجموعة عمل الصفحة 64 صفحة)، ويمكن تلبية جميع عمليات البحث في الذاكرة من ذاكرة التخزين المؤقت. مع ذلك، إذا كانت مجموعة البيانات العاملة مجزأة، فلن تتسع في 64 صفحة، وسيتباطأ التنفيذ بسبب التبديل المتكرر: حيث ستُضاف الصفحات وتُزال من ذاكرة الترجمة السريعة (TLB) بشكل متكرر أثناء التشغيل. لذا، يجب أن يتضمن تحديد حجم ذاكرة التخزين المؤقت في تصميم النظام هامشًا لمراعاة التجزئة.
يُعدّ تجزئة الذاكرة من أخطر المشاكل التي تواجه مديري الأنظمة ، إذ يؤدي بمرور الوقت إلى تدهور أداء النظام. وفي نهاية المطاف، قد يؤدي تجزئة الذاكرة إلى فقدان كامل للذاكرة الحرة (القابلة للاستخدام من قِبل التطبيقات).
يُعدّ تجزئة الذاكرة مشكلةً على مستوى برمجة النواة . أثناء الحوسبة الآنية للتطبيقات، قد تصل مستويات التجزئة إلى 99%، مما قد يؤدي إلى تعطل النظام أو عدم استقراره. يصعب تجنّب هذا النوع من الأعطال، إذ يستحيل التنبؤ بالارتفاع الحرج في مستويات تجزئة الذاكرة. مع ذلك، ورغم استحالة استمرار تشغيل جميع البرامج في حالة التجزئة المفرطة، ينبغي أن يكون النظام المصمم جيدًا قادرًا على التعافي من حالة التجزئة الحرجة عن طريق نقل بعض كتل الذاكرة المستخدمة فيه لدمج الذاكرة الحرة في كتل أقل حجمًا، أو في أسوأ الأحوال، عن طريق إنهاء بعض البرامج لتحرير ذاكرتها ثم إلغاء تجزئة الذاكرة الحرة المتبقية. هذا على الأقل سيجنّب النظام تعطلًا حقيقيًا، ويسمح له بمواصلة تشغيل بعض البرامج وحفظ بياناتها، وما إلى ذلك.
التجزئة هي ظاهرة في تصميم برامج النظام؛ ستكون البرامج المختلفة عرضة للتجزئة بدرجات متفاوتة، ومن الممكن تصميم نظام لن يُجبر أبدًا على إيقاف أو إنهاء العمليات نتيجة لتجزئة الذاكرة.
ظواهر مماثلة
على الرغم من أن التجزئة تُعرف بشكل أساسي كمشكلة في تخصيص الذاكرة، إلا أن ظواهر مماثلة تحدث لموارد أخرى ، لا سيما المعالجات. [ 9 ] على سبيل المثال، في نظام يستخدم تقنية المشاركة الزمنية للتنفيذ المتعدد الاستباقي ، ولكنه لا يتحقق مما إذا كانت العملية متوقفة، فإن العملية التي تُنفذ لجزء من شريحتها الزمنية ثم تتوقف ولا تستطيع المتابعة لبقية شريحتها الزمنية تُهدر الوقت بسبب التجزئة الداخلية الناتجة للشريحات الزمنية. والأهم من ذلك، أن تقنية المشاركة الزمنية نفسها تُسبب تجزئة خارجية للعمليات نتيجة تشغيلها في شرائح زمنية مجزأة، بدلاً من تشغيلها في دورة واحدة متصلة. ويمكن أن تؤدي التكلفة الناتجة عن تبديل العمليات وزيادة ضغط ذاكرة التخزين المؤقت من عمليات متعددة تستخدم نفس ذاكرة التخزين المؤقت إلى تدهور الأداء.
في الأنظمة المتزامنة ، وخاصة الأنظمة الموزعة ، عندما يتعين على مجموعة من العمليات التفاعل لإتمام عملها، إذا تم جدولة هذه العمليات في أوقات منفصلة أو على أجهزة منفصلة (مجزأة عبر الزمن أو الأجهزة)، فإن الوقت الذي تقضيه في انتظار بعضها البعض أو في التواصل فيما بينها قد يؤدي إلى تدهور كبير في الأداء. ولذلك، تتطلب الأنظمة عالية الأداء جدولة مشتركة للمجموعة. [ 9 ]
تحتوي بعض أنظمة ملفات الفلاش على عدة أنواع مختلفة من التجزئة الداخلية التي تشمل "المساحة الميتة" و"المساحة المظلمة". [ 10 ]
انظر أيضاً
مراجع
- ↑ "ملاحظات محاضرة CS360 - التجزئة" . web.eecs.utk.edu . تم الاطلاع عليه بتاريخ 29-09-2024 .
- ↑ نول، ليندا؛ لوبور، جوليا (2006). أساسيات تنظيم وهندسة الحاسوب . جونز وبارتليت للنشر. ص 315. ISBN 9780763737696تم الاطلاع عليه بتاريخ 15 يوليو 2021 .
- ↑ "تقسيم القرص، أحجام الأقسام، وتسمية محركات الأقراص" . دليل الكمبيوتر الشخصي. 17 أبريل 2001. تم الاطلاع عليه بتاريخ 20 يناير 2012 .
- ↑ "المحولات: نسخ القطاعات" . سيمانتك. 14-01-2001 . تم الاسترجاع في 20-01-2012 .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ "أساسيات جمع البيانات المهملة - .NET" . learn.microsoft.com .
- ↑ كوربيت، جوناثان (16 نوفمبر 2005). "متابعة VM: ترحيل الصفحات وتجنب التجزئة" . LWN.net .
- ↑ د. سامانتا. "هياكل البيانات الكلاسيكية" 2004. ص 76
- ↑ "2.7. البيانات المضمنة — وثائق نواة لينكس" . docs.kernel.org .
- 1 2 أوسترهوت، جون ك. (1982). "تقنيات الجدولة للأنظمة المتزامنة" (ملف PDF) . وقائع المؤتمر الدولي الثالث حول أنظمة الحوسبة الموزعة . الصفحات 22-30 .
- ↑ هنتر، أدريان (2008). "مقدمة موجزة لتصميم أنظمة الملفات المبنية على البنية التحتية ...
مصادر
- http://www.edn.com/design/systems-design/4333346/Handling-memory-fragmentation
- http://www.sqlservercentral.com/articles/performance+tuning/performancemonitoringbyinternalfragmentationmeasur/2014/
- تحسين أداء وبصمة لغة C++، بقلم ر. ألكسندر وج. بنسلي، دار نشر سامز، الطبعة الأولى، رقم الصفحة: 128، رقم ISBN: 9780672319044
- المرجع نفسه، الصفحة رقم: 129
- إدارة نظام الملفات
- إدارة الذاكرة
