لمسألة لينكس (L)

ننطلق من حقيقة أنك تحصل على نظام تشغيل كامل ، يدفع بالكامل على الفور لكل شيء. (بيل جيتس ردا على سؤال حول المنافسة مع L.)


كلما تعلمت أكثر عن لينكس ، كلما كرهت BG.


حسنًا ، في الواقع ، لم أشعر أبدًا بمثل هذه المشاعر القوية بالنسبة له ، لقد بدأت للتو في فهم أفضل لماذا تحصل الشركة التي تنتج Windows على أموال. ويصبح من الواضح أكثر لماذا يفضل المستهلكون دفع الفاتورة (هناك بالطبع خيارات هنا ، كما تفهمون) ، بدلاً من استخدام البديل المجاني ("هذا مجاني"). ولكن دعونا نبدأ بالترتيب ، ونأخذ في الاعتبار حلقتين من التفاعل مع L.

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

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

أنا شخصياً أرى 3 استراتيجيات ممكنة:

  1. تجاهل الخطأ واعمل مع الجهاز بشكل أكبر ، خاصة أنه لا توجد عقبات لهذا - هذا ما يفعله Windows ، على الأقل بدءًا من 7 ، وهذا حل رائع ؛
  2. يعتبر وضع علامة على الجهاز على أنه خلل ، وإصدار رسالة النظام المناسبة ثم تجاهل هذا الجهاز رد فعل طبيعي وهادف تمامًا ؛
  3. لتكرار طلب واصف السلسلة ، وحتى يتم تلقيه ، فإن عدم البدء في العمل مع هذا الجهاز نفسه يعد أيضًا حلًا مقبولًا ، على الرغم من أنه أسوأ إلى حد ما من الأجهزة السابقة ، نظرًا لأنه يشغل جزءًا معينًا من المعالج وموارد ناقل USB (وهي ليست غير محدودة على الإطلاق).

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

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

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

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

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

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

والحقيقة هي أنه على الجهاز المصمم كان هناك جهازي تحكم قام كل منهما بتنفيذ وظائف عصا التحكم ولوحة المفاتيح ، بينما قام أحدهما بمعالجة الجانب الأيسر من لوحة المفاتيح ، والثاني عالج اليمين. لكن زرًا واحدًا في اللوحة الأمامية تم توصيله بكلتا جهازي التحكم ، نظرًا لأنه يحتوي على علامة "FIRE" عليه وستكون نتائج فشل وحدة تحكم واحدة مزعجة للغاية. عند النقر فوق هذا الزر ، أنتجت كلتا وحدات التحكم رمز "مسافة" وكان كل شيء على ما يرام حتى لاحظنا أنه في بعض الأحيان (~ 10٪ من الحالات) بعد تحرير الزر A ، يستمر اعتباره مضغوطًا ويذهب التطبيق إلى وضع إطلاق النار المستمر. في الوقت نفسه ، يؤدي الضغط على الزر وخفضه مرة أخرى إلى إعادة النظام إلى الوضع العادي.

وقد اقترح أنه قد يتم تخطي الأحداث المتقاربة (في الوقت المناسب) من لوحة المفاتيح ، في هذه الحالة رسالة حول تحرير زر.

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

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

يجب أن أعترف بأن سلوك A ، على الأقل في الحالات الموصوفة ، هو أفضل تعريف بعبارة "يعمل" ، والتي لا يمكن اعتبارها مقبولة لنظام تشغيل يدعي أنه موثوق به وواسع الانتشار ، وهذا هو السبب في أن موقفي تجاه B.G. نتيجة لهذه الحلقة ، تحسنت ، لأنه بالتأكيد لا يلوم على ما يحدث (على الرغم من أنه قد تكون هناك آراء مختلفة).

All Articles