لماذا يتم التعرّف على العتاد اوتوماتيكيا في لينكس بينما ويندوز يتطلب اضافة التعاريف ؟
التعرّف على العتاد اوتوماتيكيا في لينكس / ويندوز
دعني أولا أصف الحقائق وذلك بتغير السؤال إلى كيف يعمل لينكس على التعرف على العتاد؟ وكيف يعمل ويندوز على تعريف العتاد؟
في لينكس انظر هذا الفيديو القصير
- هناك عدد كبير من الشركات (انظر قائمة الأعضاء
تمول مؤسسة لينكس (منها إنتل و HP و IBM وسامسونغ وفوجتسو و AMD و nvidia )
- هناك عدد من الشركات تساهم بكتابة لينكس بما فيها التعريفات يزيد عددها عن 800 شركة في 2010 وأهم المساهمين هم ريدهات ونوفل وإنتل (المصدر
جزء كبير من الكود يأتي من متطوعين (غير مرتبطين بجداول التسويق الزمنية الخاصة بشركة الفلانية والعلانية)
لا يدخل أي كود إلى النواة الرسمية إلا بعد مراجعات مطولة (العملية صعبة جدا)
إضافة تعريف لأي عتاد جديد سهل جدا (في الغالب يكون هناك نظام مجرد abstract كامل كل ما عليك هو تخصيص الأجزاء المختلفة المحددة حتى أعقد التعريفات مثل تعريف الرسوميات ثلاثية الأبعاد انظر
)
- بمجرد تشغيل النظام يتم النظر في أرقام معرفات بطاقات PCI (انظر
و
- كل وحدات التعريف الخارجية تخبر النواة المعرفات التي تدعهما اكتب modinfo radeon وستجد قائمة طويلة بالمعرفات (تحتوي *) هكذا
يتم تحديد الوحدات المطلوب تحميلها بسرعة فائقة من جدول نظر lookup table
يتم تحميل الوحدة وكل الوحدات التي تعتمد عليها (أغلب الوحدات صغيرة جدا مثلا حجم ملف الذي هو جزء من تعريف بطاقة Radeon HD هو 2 ميغا)
النظام المقسم modular يعني أن الوحدات تهتم فقط بعملها وقد تعتمد على وحدات أخرى (في مثالنا تعريف راديون يعتمد على drm و drm_kms_helper و ttm و i2c-core و i2c-algo-bit)
وللحديث بقية
أولا يتم التعرف على العتاد اوتوماتيكيا فى ويندوز طالما كان الجهاز المراد تعريفه تم صنعه قبل تاريخ نسخة الويندوز التى لديك.
فى الويندوز تكتب البرامج القيادية فى الشركات المصنعة للعتاد ثم يتم ارسالها الى مايكروسوفت لاعتمادها, و تخضعها مايكروسوفت لاختبارات قاسية بواسطة برنامج خاص لاكتشاف الاخطاء. ما كان له أثره فى اختفاء (الشاشة الزرقاء) بشكل شبه كامل فى ويندوز اكس بى و ما بعده (و هى كانت مشكلة فى البرامج القيادية).
فى لينكس الامر مختلف, معظم البرامج القيادية لا تستفيد بشكل مثالى من قدرات العتاد, و تكتب البرامج القيادية اما بواسطة مبرمجو اللينكس, أو تكتب على عجل من قبل مصنعى العتاد و يتم دمجها فى الكيرنل, و لكنها على الارجح لا تستفيد بكل مميزات العتاد,
فمثلا لا تستخدم البرامج القيادية الخاصة بلينكس قدرات الMotherboard الخاصة بمعظم الحواسيب المحمولة لتوفير البطارية.
طبعا هناك مشاكل كثيرة حدثت بين اللينكس و الشركات المصنعة بسبب فتح المصدر, حيث ترفض الشركات المصنعة فتح مصدر الاكواد الخاصة بالبرامج القيادية, ما تسبب فى مشكلة مزمنة للينكس فى البرامج القيادية.
بعض توزيعات اللينكس بها برامج قيادية مغلقة المصدر و تسمى binary blobs
أى ان الامر فى النهاية :
ويندوز يستخدم برامج قيادية متوافقة تماما مع العتاد و تستغل جميع قدراته بشكل أمثل و تثبت بشكل خارجى لكنها تعمل داخل الكرنل (عبر مكتبات تشبه مكتبات الربط الديناميكى DLL). تركيبها اسهل و ازالتها اسهل بدون مشاكل.
لينكس فى معظم الاحيان يكتفى بتثبيت برامج قيادية أولية فقط لتشغيل العتاد بمهامها الاساسية من خلال البرامج القيادية الموجودة بداخل الكرنل, و البرامج القيادية موجودة داخل الكرنل نفسه.(Object files يتم ترجمتها مع الكرنل). تركيبها اصعب و ازالتها او تركيبها قد يتسبب بعطب دائم فى النظام.
كان كلام كان صحيح وهناك كلام لا يستحق الرد.
ربما قبل 10 سنوات كان هناك مشكلة مع العتاد وكان بعضها لا يمكن تشغيله بالمطلق وربما لاحقا أصبح أغلب العتاد يعمل بمعنى الحد الأدنى الذي يمكن أن يقال عنه يعمل. لكن الآن لم أعد أسمع عن مشاكل العتاد. أنا أستعمل لابتوب من Dell به بطاقة Radeon HD 5000M Series من AMD دون أي تدخل مني (أي أني أستعمل التعريف مفتوح المصدر) مع أني أعلم أن هناك تعريف مغلق المصدر يعمل بكامل طاقة الجهاز إلا أني لم أكلف نفسي عناء النظر إليه لأن التعريف مفتوح المصدر يفي بالغرض (يشغل التسريع ثلاثي الأبعاد بحد مرضي لاحتياجاتي)
فمثلا لا تستخدم البرامج القيادية الخاصة بلينكس قدرات الMotherboard الخاصة بمعظم الحواسيب المحمولة لتوفير البطارية.
إدارة الطاقة لها معايرها القياسية انظر ACPI ولا تشكل أي مشكلة في لينكس
طبعا هناك مشاكل كثيرة حدثت بين اللينكس و الشركات المصنعة بسبب فتح المصدر, حيث ترفض الشركات المصنعة فتح مصدر الاكواد الخاصة بالبرامج القيادية, ما تسبب فى مشكلة مزمنة للينكس فى البرامج القيادية.
حقا!
بعض توزيعات اللينكس بها برامج قيادية مغلقة المصدر و تسمى binary blobs
ملفات binary blobs ليست برامج بل هي محتوى يتم نقله للجهاز على الأقل هذه وجهة نظر فيدورا.
من يريد المزيد من التفاصيل فليفتح سؤال ويراسلني.
لينكس فى معظم الاحيان يكتفى بتثبيت برامج قيادية أولية فقط لتشغيل العتاد بمهامها الاساسية من خلال البرامج القيادية الموجودة بداخل الكرنل, و البرامج القيادية موجودة داخل الكرنل نفسه.(Object files يتم ترجمتها مع الكرنل). تركيبها اصعب و ازالتها او تركيبها قد يتسبب بعطب دائم فى النظام.
تثبيت أغلب التعريفات مغلقة المصدر بالنسبة للمستخدم يكون عبر إضافة حزمة rpm (من مستودع rpmfusion) وإزالتها بإزالتها. ويمكن القيام بذلك بطريقة آلية ورسومية لكن التوزيعات الحرة لا تروج للبرمجيات مغلقة المصدر.
مشكلة العتاد ما تزال موجودة و مازالت تتفاقم,
المضحك انه حتى الحواسيب التى تباع بنظام اوبونتو (من ديل) يفشل اللينكس فى تعريفها بشكل صحيح. ديل تعرف جيدا ان المستخدمين يقومون بتنزيل نسخة غير شرعية لويندوز, و وضع لينكس على الحاسوب ليس اكثر من توفير ثمن ترخيص الويندوز.
هذه شكوى عامة, و بحث صغير على جوجل سوف يعرفك بحجم المشكلة, التى واجهتها أنا بنفسى مع صديق لى (حلها بشكل جزئى و نصحته بالانتقال الى ويندوز).
هذه المشكلة لا تحدث مع ويندوز, لا يوجد جهاز على وجه الارض لا يستطيع الويندوز التعرف عليه و تشغيله!
أشهر مشكلة حدثت مع شركة nvidia, مؤكد انك قرأت عنها بما أنك مهتم بشئون لينكس.
السبب ان المصنعين لا يريدون كشف التكنولوجيا الخاصة بهم أمام الاخرين, بينما يصر توريفالدى و مؤسسته الخيرية على ان تكون البرامج القيادية مفتوحة المصدر.
لا تنكر ان هذه المشكلة هى السبب فى تأخر اللينكس على الحواسيب المكتبية.
السبب ان المصنعين لا يريدون كشف التكنولوجيا الخاصة بهم أمام الاخرين, بينما يصر توريفالدى و مؤسسته الخيرية على ان تكون البرامج القيادية مفتوحة المصدر.
nvidia و AMD (أو ATI) توفران تعريفات مملوكة (مغلقة المصدر) ولا أحد يمنعهما من ذلك.
شركة AMD قدمت وثائق المحددات الكاملة للعتاد الخاص
شركة إنتل تقدم تعريفات مفتوحة المصدر لبطاقاتها بشكل دوري
متطوعون مستقلون ومن بعض الشركات مثل ريدهات علموا على عمل تعريف مفتوح المصدر لبطاقات نفيديا و AMD وهي تعمل بشكل جيد (في المنزل لدي نفيديا وحاسبي المحمول في العمل لديه AMD وكلاهما على التعريف مفتوح المصدر دون تدخل مني مع أني أستعمل توزيعة قديمة فيدورا 18 وأعجوبة 15 أو 16 لا أذكر)
والأداء قريب جدا من أداء التعريفات المغلقة انظر
لا تنكر ان هذه المشكلة هى السبب فى تأخر اللينكس على الحواسيب المكتبية.
السبب هو أن سوق الأجهزة المكتبية مشبع ومغلق لهذا نجح لينكس في أسواق أخرى مع أن لها متطلبات أصعب (كما في أندرويد و steam)
لا تنس أن شركات لينكس الكبرى تستثمر في سوق الخوادم
أخي الكريم تروفالديز و مؤسسته الغير الربحية التي اسميتها أنت الخيرية تهدف إلى تحرير المجال المعلومات و جعل البرامج و التعريفات مفتوحة المصدر هذا لأجلنا جميعا و هذا ليكون العالم حر في استعمال المعلوميات, لا أعرف لما تنحاز لمياكروسوفت و كأنها تدفع لك مقابل الترويج لها أنا أن دافعت على غنو/لينكس لأنه نظامي و نظام كل من يؤمنون به و بفكرته أما وينداوز فسيبقا ملكا للشركة مايكروسوف حتى و إن دافعت عنه هذا هو الفرق.
أما في الشق التقني فالتعريفات تأتي مدمجة في النواة عكس الوينداوز الذي لا يتعرف على العتاد الذي يأتي بعد نسخة النظام و قد لا يتعرف حتى على العتاد الأقدم منها رغم أن نسخة الوينداوز ثمنها أكثر من 100 دولار و حجم ملف الإيزو أكبر من قرص غنو/لينكس و تأتي من شركة رأس مالها الملايير و لا توفر لزبنائها الحد الأدنى من شروط سلامة أعمالهم و ملفاتهم و التي تفوًق عليها غنو/لينكس بمراحل.
التعليقات