مُستجلب

يُعدّ برنامج Prefetcher أحد مكونات نظام التشغيل مايكروسوفت ويندوز، وقد طُرح لأول مرة في ويندوز إكس بي . [ 1 ] وهو جزء من نظام إدارة الجلسات ، ويُمكنه تسريع عملية بدء تشغيل ويندوز وتقليل وقت تشغيل البرامج. ويتحقق ذلك من خلال تخزين الملفات التي يحتاجها التطبيق مؤقتًا في ذاكرة الوصول العشوائي (RAM) عند تشغيله، مما يُقلل من عمليات قراءة القرص والبحث فيه. وقد غطت براءة الاختراع الأمريكية رقم 6,633,968 هذه الميزة. [ 2 ] [ 3 ]

منذ نظام التشغيل ويندوز فيستا ، تم تطوير وظيفة Prefetcher من خلال SuperFetch و ReadyBoost . تسعى SuperFetch إلى تسريع أوقات تشغيل التطبيقات من خلال مراقبة أنماط استخدامها والتكيف معها على مدار فترات زمنية، وتخزين معظم الملفات والبيانات التي تحتاجها في الذاكرة مسبقًا، مما يتيح الوصول إليها بسرعة فائقة عند الحاجة. أما ReadyBoost (عند تفعيلها)، فتستخدم ذاكرة خارجية مثل ذاكرة فلاش USB لتوسيع ذاكرة التخزين المؤقت للنظام بما يتجاوز سعة ذاكرة الوصول العشوائي (RAM) المثبتة في الكمبيوتر. كما تحتوي SuperFetch على مكون يُسمى ReadyBoot يحل محل Prefetcher في عملية بدء التشغيل إذا كان النظام يحتوي على 700  ميجابايت أو أكثر من ذاكرة الوصول العشوائي (RAM). [ 4 ]

ملخص

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

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

يعمل جلب التطبيقات المسبق بطريقة مشابهة، ولكنه يقتصر على بدء تشغيل تطبيق واحد فقط. تتم مراقبة أول 10 ثوانٍ من النشاط فقط. [ 1 ] : 458

يخزن برنامج الجلب المسبق ملفات التتبع الخاصة به في مجلد "Prefetch" داخل مجلد Windows (عادةً ما يكون C:\Windows\Prefetch). اسم ملف تتبع بدء التشغيل هو دائمًا NTOSBOOT-B00DFAAD.PF، أما ملفات تتبع التطبيقات فهي عبارة عن سلسلة من اسم التطبيق القابل للتنفيذ، وواصلة، وتمثيل سداسي عشري لتجزئة مسار الملف، وامتداد ".pf". تحتوي التطبيقات التي تستضيف مكونات أخرى (مثل Microsoft Management Console أو Dllhost) على اسم المكون المُحمّل مُضمنًا في التجزئة المحسوبة أيضًا؛ مما ينتج عنه إنشاء ملفات تتبع مختلفة لكل مكون.

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

لتحسين أوقات الوصول، يقوم مُجدول المهام باستدعاء أداة إلغاء تجزئة القرص في نظام ويندوز كل ثلاثة أيام. عندما يكون الجهاز في وضع الخمول، تتم معالجة قوائم الملفات والمجلدات التي تمت الإشارة إليها أثناء عملية بدء التشغيل وبدء تشغيل التطبيقات. [ 1 ] : 461-462. تُخزَّن نتيجة المعالجة Layout.iniفي مجلد Prefetch، ثم تُمرَّر إلى أداة إلغاء تجزئة القرص، لتوجيهها لإعادة ترتيب تلك الملفات في مواقع متسلسلة على القرص الصلب الفعلي.

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

من الممكن تشغيل عملية إعادة الترتيب هذه (عن طريق تشغيل "Defrag.exe %systemdrive% -b" من سطر الأوامر) دون تشغيل عملية إلغاء تجزئة كاملة.

إذا تم تثبيت النظام على محرك أقراص الحالة الصلبة ، فسيتم تعطيل ReadyBoost.

إعدادات

يتم تخزين إعدادات برنامج الجلب المسبق في سجل نظام التشغيل ويندوز في المسار التالي : [ ] HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters. يمكن ضبط قيمة EnablePrefetcher لتكون إحدى القيم التالية: [ 5 ]

  • 0 = معطل
  • 1 = تم تمكين جلب التطبيقات مسبقًا
  • 2 = تم تمكين جلب البيانات المسبق عند بدء التشغيل (افتراضيًا في نظام التشغيل Windows Server 2003 فقط). [ 6 ]
  • 3 = تم تمكين جلب التطبيقات والتمهيد المسبق (افتراضي في إصدارات سطح المكتب من ويندوز). [ 5 ]

القيمة الموصى بها هي 3. [ 5 ] القيم الأعلى من 3 لا تُحسّن الأداء، وتغيير القيمة إلى 2 لن يُسرّع عملية بدء تشغيل نظام ويندوز. [ 5 ]

تعديل غير صحيح لوظيفة جلب البيانات المسبق

يُعدّ خيار "/prefetch:1" من التعديلات الشائعة على الإنترنت [ 7 ] ، [ 8 ] وهو خيار صحيح ولكنه غير مفهوم بشكل صحيح. يُستخدم هذا الخيار للتمييز بين أوضاع التشغيل المختلفة للملف التنفيذي في حال وجود اختلافات كبيرة في مسارات جلب البيانات المسبق بين هذه الأوضاع. [ 9 ]

ثمة خرافة أخرى مفادها أن حذف محتويات مجلد "الجلب المسبق" يُسرّع أداء الحاسوب. في هذه الحالة، سيضطر نظام ويندوز إلى إعادة إنشاء جميع ملفات الجلب المسبق، مما يُبطئ النظام أثناء بدء التشغيل وبدء البرامج حتى يتم إنشاء هذه الملفات، إلا إذا تم تعطيل خاصية الجلب المسبق. [ 10 ] [ 11 ] [ 12 ] يحتفظ ويندوز بملفات الجلب المسبق في مجلد "الجلب المسبق" لما يصل إلى 128 برنامجًا من آخر البرامج التي تم تشغيلها. [ 13 ]

انظر أيضاً

مراجع

  1. 1 2 3 روسينوفيتش، مارك ؛ ديفيد سولومون (2005). "إدارة الذاكرة". أساسيات نظام التشغيل مايكروسوفت ويندوز (  الطبعة الرابعة). مطبعة مايكروسوفت. الصفحات 458-462 . ISBN  0-7356-1917-4.
  2. "الجلب المسبق للصفحات قبل حدوث تسلسل أخطاء الصفحة الصعبة" ، براءة اختراع أمريكية رقم 6,633,968 ، تم الاطلاع عليها بتاريخ 16 نوفمبر 2023
  3. "الصفحة الرئيسية لمجلة MSDN" . مؤرشفة من الأصل بتاريخ 16-05-2008 . تم الاطلاع عليها بتاريخ 23-02-2008 .
  4. "داخل نواة نظام التشغيل ويندوز فيستا" . مايكروسوفت .
  5. 1 2 3 4 "خرافات الخبرة" . مؤرشف من الأصل بتاريخ 8 أبريل 2009. تم الاطلاع عليه بتاريخ 17 مارس 2009 .
  6. "مركز تطوير أجهزة ويندوز" . مايكروسوفت .
  7. "المعلومات المضللة وعلامة التحميل المسبق" . مايكروسوفت . 25 مايو 2005. تم الاطلاع عليه بتاريخ 9 ديسمبر 2008 .
  8. "المعلومات المضللة وعلامة التحميل المسبق" . من المضحك أنها نجحت في المرة السابقة . مدونات MSDN. 25 مايو 2005. تم الاطلاع عليه في 9 ديسمبر 2008. ثانيًا ، يمكن تحديد علامة /prefetch:#flag عند تشغيل تطبيق. [...] خمنت بعض المواقع أن هذا الخيار يُفعّل التحميل المسبق، وتقترح إضافته إلى كل ملف تنفيذي يهمك [...]
  9. "معلومات مضللة وعلامة الجلب المسبق" . مضحك، لقد نجحت في المرة السابقة . مدونات MSDN. 25 مايو 2005. تم الاسترجاع في 9 ديسمبر 2008. كلا التخمينين خاطئان . ينظر نظام التشغيل إلى علامة /prefetch:# عند إنشاء العملية، ولكن لها غرض واحد (وواحد فقط). نضيف الرقم المُمرر إلى التجزئة. لماذا؟ [~مقتطف~]
  10. غرالا، بريستون (2007). كتاب شامل لاختراقات ويندوز . دار نشر أورايلي ميديا. رقم ISBN 978-0-596-52835-5.
  11. "احذر من نصائح الخبرة الزائفة" . مؤرشف من الأصل بتاريخ 24-02-2008 . تم الاطلاع عليه بتاريخ 23-02-2008 .
  12. "ويندوز إكس بي: تحسينات النواة تُنشئ نظام تشغيل أكثر قوةً ومتانةً وقابليةً للتوسع" . مؤرشف من الأصل بتاريخ 16 مايو 2008. تم الاطلاع عليه بتاريخ 23 فبراير 2008 .
  13. "المعلومات المضللة وعلامة الجلب المسبق" . من المضحك أنها نجحت في المرة السابقة . مدونات MSDN. 25 مايو 2005. تم الاطلاع عليه في 9 ديسمبر 2008. أولاً، سيعيد نظام XP إنشاء تلك البيانات على أي حال؛ ثانياً، يقوم النظام بتقليص حجم الملفات تلقائيًا إذا تجاوز عددها 128 ملفًا، وذلك لتجنب استهلاك مساحة تخزين غير ضرورية .