ماهو مفهوم الـ "Cache" و أنواعه و هل يجب حذفه أم لا؟



تابع قناة عالم الكمبيوتر علي التيليجرام


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

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



ماهو الكاش ؟




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

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

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

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

أنواع الكاش


ما سبق كان توضيح لمفهوم الكاش بشكل عام، لكن عند الحديث بشكل أكثر تفصيلاً ستجد أن الكاش يستخدم بكل عملية من عمليات نظام التشغيل وبكل برنامج علي حدي ويكون الإختلاف في نوعية البيانات التي يتم حفظها لكن الغرض واحد في كل حالة وهو الوصول بشكل أسرع للبيانات عند الحاجة إليها مجدداً، و تعد أبرز انواع الكاش والتي نستخدمها جميعاً بشكل يومي كالتالي:

الكاش الخاص بالبرامج والتطبيقات


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

الكاش الخاص بمتصفحات الإنترنت




رغم أن المتصفحات تندرج تحت تصنيف البرامج والتطبيقات إلا أن الكاش الخاص بها مختلف نوعاً ما، فعند زيارة موقع ما علي الإنترنت من خلال المتصفح يقوم المتصفح بتحميل جميع بيانات الموقع مثل الصور و أكواد "HTML" وأكواد التنسيق الخاصة بالموقع "CSS" بالإضافة للأكواد البرمجية بلغة Java Script الخاصة بالموقع علي القرص الصلب الخاص بك ثم يتم إظهار الموقع بعد تحميل كل تلك العناصر وترجمتها داخل المتصفح لإظهار الصفحة بتصميمها الطبيعي.

لكن المتصفح وبعكس الحالات الأخرى يقوم بتخزين كل ملفات الكاش الخاصة بالتصفح علي القرص الصلب بشكل دائم وليس مؤقت حتى تتمكن من تصفح الموقع مجدداً بشكل أسرع عند زيارته  في المستقبل، ليس ذلك فقط بل ولأن تصميمات مواقع الإنترنت تتشابه أحياناً فعند زيارة موقع يستخدم نفس أكواد التنسيق او أكواد Java Script التي تم تخزينها ضمن ملفات الكاش بالمتصفح من موقع آخر تم زيارته سابقاً بالتالي لن يتم تحميلها مجدداً وسيتم تحميل الموقع بشكل أسرع ودون تحميل كافة البيانات الخاصة به وبالتالي توفير إستهلاك الإنترنت.

الكاش الخاص بالمعالج


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

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

الكاش الخاص بالقرص الصلب


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

هل يجب مسح الكاش ؟




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



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

تعليقات