لماذا جميع برامج التشغيل في Windows بتاريخ 21 يونيو 2006


لماذا في كل إصدار جديد من Windows يتم تحديث كافة برامج التشغيل في نفس اليوم 06/21/2006؟ هل قامت شركة Microsoft في أي وقت مضى بتحديث برامج التشغيل ، أم أنها مجرد مجموعة من المتسكعون؟ أخيرًا ، تعلمنا الإجابة على هذا السؤال من منشور على مدونة Microsoft غير الرسمية The Old New Thing .

شرح أحد مطوري Microsoft ، تحت اللقب zac_l ، ما هو الأمر. يمتد التاريخ المقدس 06/21/2006 حتى ليشمل السائقين مثل مساحات التخزين والمعالجات الحديثة التي لم تكن موجودة على الإطلاق قبل عشر سنوات ، لذلك ليس هناك شك في كسول المطورين هنا. والسبب مختلف.

هناك سبب واحد مهم جدًا لتحديد التاريخ القديم ، والذي لا علاقة له بتاريخ الإصدار الفعلي للسائق.

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

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

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

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

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

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

وبالتالي ، يعمل نظام PnP بدون مشاكل ، على الرغم من أن الوضع يبدو سخيفًا بعض الشيء. حتى الآن ، يتم تثبيت جميع برامج التشغيل بتاريخ 06/21/2006 ، وبذلك ستستمر. قال المطور المذكور زاك من مايكروسوفت: "هذا مثال رائع على ما يبدو للوهلة الأولى سخيفة وغير مهم ، ولكن في الواقع له هدف عميق وصلب".

كما تقول الحكمة الشعبية: "إذا كان شيء ما غبيًا ، لكنه يعمل ، فهو ليس غبيًا" (أو لا يزال غبيًا ، لكننا كنا محظوظين).

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

من المؤسف أن آلية تشغيل PnP هذه ظلت واحدة من وظائف Windows غير الموثقة لسنوات عديدة ، وهذا أحد الأسباب الرئيسية لانتقاد نظام التشغيل ذي المصدر المفتوح لأنه يحتوي على العديد من الميزات غير الموثقة التي لا نعرف عنها.

قد تعمل هذه الآلية للتوفيق بين التواريخ بشكل جيد إذا كانت الإصدارات الجديدة من Windows ترى الضوء. من الضروري فقط التأكد من أن السائقين لا يشيرون عن طريق الخطأ إلى تاريخ أقدم من 06/21/2006 ، لأنه في هذه الحالة سيقوم Windows باستمرار بتشغيل برنامج التشغيل للأغراض العامة بدلاً من برنامج التشغيل ذي العلامة التجارية ، بغض النظر عن الإصدار. إذا كان هناك أي شيء ، فهناك فرصة في Windows 10 لتعطيل تحديثات برنامج التشغيل مؤقتًا لـ Windows Update.

Source: https://habr.com/ru/post/ar401445/


All Articles