توافق أجهزة Linux: كيف يدعم Linux الأجهزة؟ توافق مجموعات Linux office مع Microsoft Office تنفيذ برامج من إصدارات مختلفة من Unix.

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

يتحدث هذا المنشور عن تثبيت أجهزة Linux و Linux. يعد تثبيت الأجهزة على Linux أمرًا سهلاً ، وفيما يلي بعض الموارد لمساعدتك في ذلك.

أين يمكنني العثور على معلومات حول جهاز Linux والتوافق المحيطي؟
http://linux-wless.passys.nl/ - قاعدة بيانات موسعة لبطاقات WiFi لنظام التشغيل Linux ، وهي المورد الأكثر اكتمالاً لدعم الشبكات اللاسلكية بطاقات الشبكةفي Linux ، يمكنك إلقاء نظرة على الشركات المصنعة - وإذا كان مدعومًا ، فسيتم تقديم اسم برنامج التشغيل على الفور.

http://www.sane-project.org/sane-mfgs.html - قائمة بأجهزة مسح Linux التي يدعمها نظام SANE الفرعي. قائمة بنماذج الماسح الضوئي التي تعمل في Linux ، حسب الشركة المصنعة. تدرجات التوافق: دعم كامل ، جزئي ، أساسي ، لا يوجد دعم. يشير أيضًا إلى الخلفية المطلوبة حتى يعمل الجهاز.

http://openprinting.org/printer_list.cgi - قاعدة بيانات لتشغيل طابعات Linux مدعومة من قبل نظام الطباعة CUPS الفرعي ، والذي يوفر برامج تشغيل طابعة Linux لتوزيعات Linux. بحث سهل حسب طراز الطابعة والشركة المصنعة. تدرجات التوافق: يعمل ، يعمل تقريبًا ، يعمل بشكل محدود ، ثقل.

قواعد البيانات حسب فئة الجهاز
http://www.linuxcomp Compatible.org/compatibility.html - قاعدة بيانات لجميع الأجهزة المتوافقة مع Linux من بطاقات الصوتوتنتهي بالطابعات والماسحات الضوئية. هناك تدرجات من التوافق: إنه يعمل بشكل مثالي ، ويعمل في أغلب الأحيان ، وبعض الوظائف يعمل ، والصابورة. القاعدة واسعة جدًا ، من وقت لآخر يتم تحديثها من قبل صانعي الموقع. مورد ممتاز ، على أي حال.

http://kmuto.jp/debian/hcl/ - قاعدة الأجهزة التي تدعمها النواة 2.6.15 وما فوق. ما عليك سوى نسخ إخراج lspci -n من وحدة التحكم والحصول على معلومات حول دعم الأجهزة الموجودة على اللوحة الأم.

http://www.linux-l laptop.net/ - المصدر الأكثر اكتمالاً لنظام Linux على أجهزة الكمبيوتر المحمولة. تحتوي الصفحة على تصنيف حسب الشركة المصنعة ، بالإضافة إلى روابط حسب الطراز لصفحات معينة من المستخدمين ، تخبرهم ماذا وكيف فعلوا للحصول على وظائف أجهزة الكمبيوتر المحمولة الخاصة بهم. معظم المعلومات باللغة الإنجليزية ، ولكن توجد لغات أخرى أيضًا.

http://start.at/modem - مورد رائع لدعم الأجهزة المعيبة مثل winmodem. اتضح أنه يمكنك أيضًا استخراج شيء من هذا الصابورة: يتم تقديم قائمة رائعة من الأجهزة المدعومة.

http://www.phoronix.com/lch/ - قاعدة بيانات مخصصة للأجهزة المدعومة. يبدأ بالملء ، يمكنك المشاركة فيه أيضًا. توجد موجزات RSS لنوع معين من قطعة الحديد ، وللجميع دفعة واحدة.

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

http://cdb.suse.de/؟LANG=en_UK - قائمة بالأجهزة المتوافقة مع SuSE Linux. قاعدة بيانات محدثة للأجهزة المتوافقة مع SuSe Linux. كقاعدة عامة ، تعمل هذه الأجهزة في توزيعات أخرى أيضًا.

http://www.linuxtested.com/ - التوافق وتشغيل الأجهزة عن طريق التوزيع. يحتوي الموقع على معلومات حول أجهزة الاختبار على التوزيعات التالية: SuSE و Redhat / Fedora و TurboLinux و Debian و Mandrake.

http://www.linux.org/hardware/ - الأجهزة التي تعمل على Linux. القائمة غير كاملة ، لكنها قد تكون مفيدة - هناك معلومات حول الأجهزة الغريبة التي يدعمها Linux.

http://www.linux-drivers.org/ - روابط للعديد من موارد توافق Linux. عدد كبير منروابط للموارد ودعم الأجهزة في Linux.

http://hardware4linux.info/ - دليل متوافق مع نظام التشغيل Linux المعدات، التقسيم إلى فئات: "يعمل مباشرة خارج الصندوق" ، "يعمل مع تعديل" ، "غير معروف" ، "يعمل جزئيًا" و "لا يعمل". قاعدة بيانات كبيرة إلى حد ما ومحدثة باستمرار للأجهزة.

http://www.linmodems.org/ - قاعدة بيانات لدعم الأجهزة الضارة مثل أجهزة مودم النبيذ. في نفوسهم ، يتم تحويل كل النشاط الرئيسي إلى برنامج تشغيل مكتوب لك-تعرف-أي نظام. نتيجة لذلك ، لا توجد "أدمغة" تقريبًا على الجهاز ، تمامًا كما لا يمتلكها مصنعو هذه الأجهزة. من خلال جهود المبرمجين المجانيين ، يمكن جعل العديد من هذه الأجهزة تعمل على Linux.

26.02.2007 أليكسي جرينيفيتش ، دينيس ماركوفتسيف ، فلاديمير روبانوف

إذا عدت إلى أواخر التسعينيات وانغمس في العالم أنظمة التشغيلفي ذلك الوقت ، لا يكاد أي شخص يشك في العهد الكامل للأنظمة المتوافقة مع يونكس. كل شيء موجود في جانب يونكس - تتم دراسة عائلة أنظمة التشغيل هذه في الجامعات ، وتم إنشاء مئات الآلاف من التطبيقات لها ، ويتم استخدامها بنجاح في مختلف قطاعات الاقتصاد ، وقد تم استخدام بحر من الكتب والتوثيق كتب عنها. صحيح ، لا يمكنك شراء Unix ، ولكن يمكنك شراء IBM AIX و BSD و HP-UX و Sun Solaris وما إلى ذلك. يتطلب هذا جهدًا إضافيًا للحصول على برنامج مكتوب لـ AIX ، على سبيل المثال ، للعمل على Solaris. أثبتت نسخ يونكس المختلفة أنها غير متوافقة بشكل جيد. توجد مشاكل مماثلة لنظام التشغيل Linux اليوم.

لحل مشكلة البنية التحتية المتمثلة في ضعف التوافق بين الإصدارات المختلفة من Unix في عام 1985 ، بدأ IEEE العمل على معيار يوفر إمكانية النقل البرمجيات... في عام 1990 ، تم إصدار معيار IEEE 1003 ، المعروف أيضًا باسم POSIX ، والذي نظم واجهات البرمجة (API) وقائمة أوامر استنساخ Unix. ومع ذلك ، بالنسبة للاعبين في سوق Unix ، تسبب التوحيد في مشاكل سياسية معقدة: أي قرار ، وأي اختيار بين البدائل للتوصل إلى اتفاق يؤدي إلى حقيقة أن قرار أحد المصنّعين معترف به على أنه "معيار أكثر" من قرار آخر. نتيجة لذلك ، فإن المعيار مليء بعبارات غامضة مثل "in في هذه الحالةواحد من اثنين من السلوكيات البديلة أمر ممكن "ومع وجود بقع بيضاء مثل" المعيار لا ينظم سلوك الوظيفة في هذه الحالة ". بالنهايه، تجزئةأصبح أحد الأسباب الرئيسية لهزيمة عالم Unix. لم يتنافس اللاعبون في هذا السوق مع الأنواع الأخرى من أنظمة التشغيل فحسب ، بل تنافسوا أيضًا مع بعضهم البعض ، حيث قدموا امتدادات خاصة وواجهات مغلقة ، مما حد من نطاق التطبيقات الممكنة لأي نسخة واحدة.

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

للوهلة الأولى ، يبدو خطر التجزئة خادعًا إلى حد ما - في الواقع ، هناك رمز مشترك ، تعمل معظم التوزيعات على أساس نفس النواة ، نفس المكتبات ، التي تحدد التوافق إلى حد كبير. يبدو أن التطبيقات يجب أن تظل وظيفية ومتوافقة بين إصدارات Linux المختلفة. لكن هذا لم يتم تأكيده في الممارسة. إلى جانب تجزئة سوق توزيع Linux من حيث الأساليب والوظائف الإضافية ، هناك اختلالات كبيرة في الدعم من خلال النسخ المختلفة حتى على نطاق واسع و التطبيقات القياسية- استخدام توزيعات مختلفة إصدارات مختلفةمكتبات النظام والنواة (بشكل أساسي glibc). هذا يؤدي إلى حقيقة أن التكوين والسلوك واجهات النظامالتي يوفرها النظام لتطبيقات تختلف من توزيع إلى توزيع. من أجل عدم تكرار التجربة المحزنة لاستنساخ Unix ، في عام 1998 ، في إطار منظمة Free Standards Group (المعروفة الآن باسم Linux Foundation) ، بدأ العمل على معيار LSB (Linux Standard Base). بفضل الجهود المبذولة من منظمات X / Open و IEEE و ISO ، التي فتحت معيار POSIX وبعض اختبارات الوصول المجاني ، تم وضع الأساس لأعمال توحيد Linux.

ولكن ما الذي يجب عليك تحديده بالضبط ولماذا؟ هل هو حقا واحد المصدر المفتوحليس في حد ذاته زي موحد ومعيار مفتوح؟

مشاكل توافق التطبيقات

كيف تظهر الفروق بين توزيعات لينكس عمليا ، وما مدى خطورة المشكلة؟ دعنا نعطي مثالا. الاساسيات عروض تجاريةلدى IBM خمسة خطوط إنتاج: DB2 و Websphere و Rational و Tivoli و Lotus. تُظهر الممارسة أن دعم جميع الأسطر الخمسة لتوزيع Linux واحد يكلف ملايين الدولارات سنويًا ، والتي تذهب إلى المطورين والمختبرين المسؤولين عن دعم التطبيقات لتوزيع Linux معين. لذلك ، يتم دعم تلك التوزيعات التي يتجاوز ربحها من بيع المنتجات هذه الملايين ؛ في الواقع هذه ليست سوى توزيعات SuSE و قبعة حمراء... هذا يخلق حالة من عدم الاتساق - ما يصلح في بعض التوزيعات لا يعمل على البعض الآخر.

الوضع مختلف تمامًا بالنسبة لـ Sun Solaris. بادئ ذي بدء ، تضمن Sun Microsystems تشغيل برنامج تم تجميعه لـ Solaris 2.6 بدون إعادة تجميع وتحت الإصدار 10. ويبذل مطورو Sun جهودًا كبيرة للقيام بذلك ؛ مع كل تغيير رمز ، يتم تشغيل مجموعة من أكثر من 2400 تطبيق لأغراض وتكوين مختلف. علاوة على ذلك ، إذا اكتشف شخص ما أن أحد التطبيقات قد توقف عن العمل بسبب عدم التوافق بين إصدارات Solaris ، فإن Sun تتحمل المسؤولية والنفقات لتصحيح هذا التناقض. في حالة Linux OS هذا العمللم يتم الاحتفاظ بها لفترة طويلة ، فقد عاشت التطبيقات والتوزيعات حياتها المنفصلة. أتعس شيء هو عدم وجود طريقة عالمية لكتابة برنامج بطريقة تضمن إمكانية النقل. تهدف جهود اتحاد Linux Foundation ، الذي يمثل مصالح اللاعبين الرئيسيين في سوق Linux ، إلى حل هذه المشكلة.

هيكل لينكس

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

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

يتم تقديم نموذج "معمم" لنظام قائم على Linux في

أرز. 1. نظام يعتمد على نظام لينوكس

يتم إنشاء كل نظام Linux محدد لتشغيل تطبيق واحد أو عدة تطبيقات ، ولكن رمز التطبيق نفسه لا يكفي لاستخراج الخدمة التي يحتاجها المستخدمون من الأجهزة - تستخدم معظم التطبيقات استدعاءات لوظائف المكتبة في عملها. يحدد معيار LSB Core 3.1 مكتبات النظام التالية: libc و libcrypt و libdl و libm و libpthread و librt و libutil و libpam و libz و libncurses. في أنظمة Linux الحديثة ، يتم تنفيذ واجهات مكتبات النظام هذه بواسطة مكتبات glibc و Linux-PAM و zlib و ncurses ، والتي تنفذ بالفعل واجهات أكثر مما يحدده LSB Core.

حسب درجة التفاعل مع Linux kernel ، يمكن تصنيف وظائف مكتبات النظام على النحو التالي:

  • يتم تضمين تنفيذ الوظيفة بالكامل في المكتبة ، ولا يتم استخدام النواة (على سبيل المثال ، strcpy ، tsearch) ؛
  • تنفذ المكتبة غلافًا بسيطًا لاستدعاء واجهة kernel المناسبة (مثل القراءة والكتابة) ؛
  • يحتوي تنفيذ الوظيفة على استدعاءات لواجهات نظام النواة (وربما عدة واجهات مختلفة) ، وجزء من الكود في المكتبة نفسها (على سبيل المثال ، pthread_create ، pthread_cancel).

تحتوي نواة Linux نفسها على العديد من نقاط الدخول المصدرة ، لكن الغالبية العظمى منها عبارة عن واجهات داخلية للاستخدام بواسطة الوحدات والأنظمة الفرعية للنواة نفسها. تحتوي الواجهة الخارجية على حوالي 250 وظيفة (الإصدار 2.6). من بين هؤلاء ، على سبيل المثال ، تستخدم مكتبة glibc 2.3.5 137 في تنفيذها.

التكوينات

تحت ترتيبيُفهم جزء النظام من التوزيع على أنه مزيج من إصدار kernel (بما في ذلك التصحيحات الفردية) ، وإصدارات مكتبات النظام ، ومعلمات بنائها ، والهندسة المعمارية التي تعمل عليها جميعها. على ال هو مثال على تكوين بناء لتوزيعين افتراضيين ، وهما مزيج من إصدارات المكونة والتصحيح. تمت إضافة وظائف جديدة بين إصدارات المكونات ، وتتم إزالة الواجهات والوظائف القديمة. لذلك ، في هذا الرسم البياني ، من السهل رؤية ذلك نظرًا لاستخدام التوزيعين 1 و 2 إصدارات مختلفةدول مجلس التعاون الخليجي ، توافق المصدر بينهما مفقود نوعًا ما - لا يمكن إنشاء كل شيء تم إنشاؤه باستخدام الإصدار 3.4 من مجلس التعاون الخليجي باستخدام الإصدار 4.0 من مجلس التعاون الخليجي دون تعديل.

أرز. 2. مثال على تكوين البناء للتوزيعات

التوزيعات

بالعنوان lwn.net/Distributions/يمكنك العثور على قائمة بتوزيعات Linux المعروفة (في وقت كتابة هذا التقرير كانت 542 منها) مفتوحة لعامة الناس. لا يشمل الإصدارات المعدة للاستخدام الداخلي من قبل المتحمسين الأفراد ، وكذلك من قبل مختلف الشركات والإدارات ، وما إلى ذلك. بموجب ترخيص GNU ، يمكنك إجراء توزيع عشوائي وتعديله (على الأقل المكونات التي يغطيها GNU) وإعادة توزيعها بشكل أكبر.

يمكن تصنيف التوزيعات وفقًا لعدد من الخصائص.

  • من قبل الشركات المصنعة الأساسية.على سبيل المثال ، تعد Red Hat و Slackware و SuSE و Debian و Asianux و Mandriva و Gentoo الفروع الرئيسية لصناعة Linux. هذه التوزيعات ليست من نسل الآخرين (على الرغم من وجود بعض التبعيات التاريخية بينهم). يمكن اعتبارها اتجاهات استراتيجية للتطوير في Linux بشكل عام. من الواضح أن معظم التوزيعات المتبقية تنتمي إلى أحد الفروع المذكورة أعلاه - موروثة بشكل أساسي من التعليمات البرمجية المصدر والتطبيقات وإضافة وظائف محددة.
  • عن طريق الترجمة.في العديد من البلدان ، توجد شركة تصنيع Linux محلية (على سبيل المثال ، في روسيا ، يعرف الجميع توزيعات ASP Linux و ALT Linux).
  • عن طريق التطبيق.التوزيعات للاستخدام المضمن في أجهزة محمولة؛ التوزيعات التي تعمل بدون دعم نظام الملفات ؛ إصدارات خفيفة الوزن للاستخدام في المساعد الشخصي الرقمي ؛ إصدارات محمولة للتشغيل من وسائط محدودة (Linux على قرص مرن ، Linux على قرص مضغوط ، إلخ).
  • حسب التخصص.توزيعات لدعم بنية أجهزة معينة (AlphaLinux مع دعم بنية معالج Alpha ، ARM Linux مع دعم ARM ، إلخ).

إجراء بناء Linux

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

يمكن لمجموعة متنوعة من المكونات المختلفة التي تأتي مع Linux والعديد من التبعيات بينها توضيح كيفية بناء النواة. يحتوي مشروع Linux From Scratch على تسلسل الخطوات المطلوبة لإنشاء توزيعة Linux من البداية. يبدو تسلسل البناء المبسط لتوزيع LFS Linux 6.0 كما يلي:

1. Binutils-2.15.94.0.2.2 - تمرير 1
2. GCC-3.4.3 - تمرير 1
3. Linux-Libc-Headers-2.6.11.2
4. Glibc-2.3.4

87. util-linux-2.12q
88. تكوين التمهيد
89. Linux-2.6.11.12 - Kernel

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

يحتوي المرن على العديد من الأخطاء المعروفة. يمكن إصلاحها باستخدام التصحيح التالي:
patch -Np1 -i ../flex-2.5.31-debian_fixes-3.patch

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

استولت عليها الإدمان

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

تسمى فئة المشكلات المرتبطة بعدم توافق إصدارات المكتبة باسم جحيم التبعية ("جحيم التبعية" ، en.wikipedia.org/wiki/Dependency_hell). ما هي المشاكل التي يمكن أن يواجهها المستخدم عند قيامه بتثبيت مكتبة جديدة على إصدار Linux OS الخاص به؟ في هذه الحالة ، قد لا تعمل التطبيقات التي عملت مع الإصدار السابق بشكل صحيح لأن هذه التطبيقات قد تعتمد ، بشكل صريح أو ضمني ، على بعض الأخطاء والآثار الجانبية التي كانت موجودة في الإصدار القديم. الوضع المعاكس هو أيضا حقيقي تماما ، متى نسخة جديدةيحتوي فقط على خطأ جديد. لكن المشكلة الحقيقية تنشأ عندما يجب تشغيل عدة تطبيقات مختلفة على نظام يعتمد بشكل كبير على إصدارات مختلفة من نفس المكتبة ؛ قد يتضح أن التشغيل المشترك لهذه التطبيقات ببساطة غير ممكن. في بعض الأحيان من الممكن أن يكون لديك إصدارات متعددة من نفس المكتبة على النظام ، وسيكون ذلك جيدًا. حل آمنلكن لا ينصح بهذا على الإطلاق في حالة مكتبة glibc.

المسار التطوري الرئيسي لتحقيق التوافق عبر توزيعات Linux هو التوحيد... سيؤدي المعيار الناضج والمدعوم جيدًا إلى تقليل تكلفة توفير إمكانية النقل لحلول Linux ، مما سيساعد في زيادة عدد التطبيقات لهذه المنصة ، وبالتالي شعبية Linux بشكل عام. اليوم ، تعمل Linux Standard Base كمعيار "حفظ".

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

يتمثل الاختلاف الرئيسي مع LSB في أنه يمكن لمطوري التطبيقات استهداف نظام أساسي واحد ، على سبيل المثال LSB 3.1 ، وهذا يكفي للعمل على جميع التوزيعات المتوافقة مع LSB 3.1. الأمر نفسه ينطبق على بائعي التوزيع: بمجرد تحقيق الامتثال لـ LSB 3.1 ، يدعم التوزيع تلقائيًا جميع التطبيقات المتوافقة معه. على سبيل المثال ، تقدم شركة IBM ، كجزء من مبادرة Chiphopper ، حلول أجهزة تعمل فقط بالتوزيعات المتوافقة مع LSB. إلى حد كبير بسبب نشاط اللاعبين الكبار ، اجتاز بائعو التوزيع الرئيسيون بالفعل شهادة LSB أو أعلنوا عن نواياهم للحصول على الاعتماد ( www.linux-foundation.org/en/LSB_Distribution_Status).

في الوقت الحالي ، يتمثل الضعف الرئيسي في معيار LSB في عدم وجود الاختبارات. هناك حالات عندما تعمل الواجهة الموصوفة في المعيار بشكل مختلف ، ومع ذلك يجتاز النظام الشهادة بنجاح. هذا لأن الاختبار ل هذه الواجهةببساطة لا ، أو أنه أضعف من إجراء اختبار كامل لوظائف الواجهة. من المناسب جدًا الاقتباس من Ian Murdoch ، مبتكر Debian والآن كبير مسؤولي التكنولوجيا في Linux Foundation: "من المعروف أن معيار الواجهة جيد مثل تغطية الاختبار التي تتحقق من الامتثال لهذا المعيار."

فتحت Open Group بعض اختباراتها لمعيار POSIX لتضمينها في مجموعة اختبار شهادة LSB. تتضمن مجموعة LSB اختبارات مجانية لمجموعة اختبار مكتبة وقت التشغيل GNU C ++ ، وتم تكييف اختبارات libgtk و libxml. تفكر مؤسسة Linux Foundation في الاستحواذ لفتح مجموعة متنوعة من مجموعات الاختبار المدفوعة وإدراجها في LSB.

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

استنتاج

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

اليوم ، المبادرة الرئيسية لضمان قابلية النقل هي LSB القياسي المفتوح ، الذي اعتمدته الشركات المصنعة الرائدة للتوزيعات (Red Hat ، SuSe ، Mandriva) والتطبيقات (MySQL ، RealPlayer ، SAP MaxDB). هذا المعيار مدعوم من قبل اتحاد Linux Foundation القوي وأعضائه النشطين مثل IBM و Intel و HP و Oracle ، مما يسمح لنا بالأمل في تطويره بنجاح وتطبيقه على نطاق واسع في الحياه الحقيقيه... وبالتالي ، يوفر معيار LSB أساسًا متينًا لمنصة Linux موحدة وغير مجزأة توفر إمكانية نقل التطبيقات بناءً على كود المصدر وفي شكل ثنائي.

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

  • الكشف عن عدم الدقة والأخطاء في نص معيار LSB والمعايير ذات الصلة وإبلاغها للمطورين الأصليين للتغييرات في الإصدارات المستقبلية ؛
  • تطوير المواصفات الرسمية في لغة SeC (تمديد مواصفات لغة C) ، والتي ستعكس متطلبات معيار LSB Core 3.1 لوظائف واجهة Linux 1530 ؛
  • تطوير مجموعات اختبار مفتوحة للاختبار الوظيفي لأنظمة Linux المختلفة للامتثال لمعيار LSB Core 3.1 (يتم فحص سلوك واجهات برمجة تطبيقات نظام Linux).
  • تعتمد مجموعة الاختبارات على التوليد التلقائي للاختبارات من المواصفات الرسمية للمتطلبات وسيناريوهات الاختبار المقابلة باستخدام تقنية UniTESK.

    وبحلول نهاية عام 2006 ، تم الانتهاء من المرحلة الرئيسية للمشروع ؛ يتم نشر جميع نتائج المشروع على الموقع الإلكتروني للمركز. الآن المشروع في مرحلة دعم وتوسيع نطاق المنصات المستهدفة (مجموعات من هندسة الأجهزة مع توزيع محدد).

    * يحتوي Flex على العديد من الأخطاء المعروفة. يمكن إصلاحها بالرقعة التالية ... - م.


    مشاكل توافق Linux


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

    يتحدث هذا المنشور عن تثبيت أجهزة Linux و Linux. يعد تثبيت الأجهزة على Linux أمرًا سهلاً ، وفيما يلي بعض الموارد لمساعدتك في ذلك.


    أين يمكنني العثور على معلومات حول جهاز Linux والتوافق المحيطي؟
    http://linux-wless.passys.nl/ - قاعدة ممتدة من بطاقات WiFi لنظام التشغيل Linux.هذا هو المورد الأكثر اكتمالاً لدعم بطاقات الشبكة اللاسلكية في Linux ، يمكنك إلقاء نظرة على الشركات المصنعة - وإذا كان مدعومًا ، فسيتم تقديم اسم برنامج التشغيل على الفور.

    http://www.sane-project.org/sane-mfgs.html - قائمة ماسحات Linux التي يدعمها نظام SANE الفرعي.قائمة بنماذج الماسح الضوئي التي تعمل في Linux ، حسب الشركة المصنعة. تدرجات التوافق: دعم كامل ، جزئي ، أساسي ، لا يوجد دعم. يشير أيضًا إلى الخلفية المطلوبة حتى يعمل الجهاز.

    http://openprinting.org/printer_list.cgi - قاعدة بيانات لتشغيل طابعات Linux التي يدعمها النظام الفرعي للطباعة CUPS ، والذي يوفر برامج تشغيل طابعة Linux بتنسيقتوزيعات لينكس.بحث سهل حسب طراز الطابعة والشركة المصنعة. تدرجات التوافق: يعمل ، يعمل تقريبًا ، يعمل بشكل محدود ، ثقل.

    قواعد البيانات حسب فئة الجهاز
    http://www.linuxcomp Compatible.org/compatibility.html - قاعدة بيانات لجميع الأجهزة المتوافقة مع Linux ، من بطاقات الصوت إلى الطابعات والماسحات الضوئية.هناك تدرجات من التوافق: إنه يعمل بشكل مثالي ، ويعمل في أغلب الأحيان ، وبعض الوظائف يعمل ، والصابورة. القاعدة واسعة جدًا ، من وقت لآخر يتم تحديثها من قبل صانعي الموقع. مورد ممتاز ، على أي حال.

    http://kmuto.jp/debian/hcl/ - قاعدة الأجهزة المدعومة بنواة 2.6.15 وما بعده... ما عليك سوى نسخ إخراج lspci -n من وحدة التحكم والحصول على معلومات حول دعم الأجهزة الموجودة على اللوحة الأم.

    http://www.linux-l laptop.net/ - المورد الأكثر اكتمالا حول تشغيل Linux على أجهزة الكمبيوتر المحمولة.تحتوي الصفحة على تصنيف حسب الشركة المصنعة ، بالإضافة إلى روابط حسب الطراز لصفحات معينة من المستخدمين ، تخبرهم ماذا وكيف فعلوا للحصول على وظائف أجهزة الكمبيوتر المحمولة الخاصة بهم. معظم المعلومات باللغة الإنجليزية ، ولكن توجد لغات أخرى أيضًا.

    http://start.at/modem - مورد رائع لدعم مثل هذه الأجهزة المعيبة مثل winmodems... اتضح أنه يمكنك أيضًا استخراج شيء من هذا الصابورة: يتم تقديم قائمة رائعة من الأجهزة المدعومة.

    http://www.phoronix.com/lch/ - قاعدة بيانات مخصصة للأجهزة المدعومة.يبدأ بالملء ، يمكنك المشاركة فيه أيضًا. توجد موجزات RSS لنوع معين من قطعة الحديد ، وللجميع دفعة واحدة.

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

    http://cdb.suse.de/؟LANG=ar_UK - قائمة الأجهزة المتوافقة مع SuSE Linux.قاعدة بيانات محدثة للأجهزة المتوافقة مع SuSe Linux. كقاعدة عامة ، تعمل هذه الأجهزة في توزيعات أخرى أيضًا.

    http://www.linuxtested.com/ - التوافق وتشغيل الأجهزة عن طريق التوزيع.يحتوي الموقع على معلومات حول أجهزة الاختبار على التوزيعات التالية: SuSE و Redhat / Fedora و TurboLinux و Debian و Mandrake.

    http://www.linux.org/hardware/ - الأجهزة التي تعمل بنظام Linux.القائمة ليست كاملة ، لكنها قد تكون مفيدة - هناك معلومات حول الأجهزة الغريبة التي يتوفر لها دعم في Linux.

    http://www.linux-drivers.org/ - روابط للعديد من موارد توافق Linux.عدد كبير من الروابط إلى الموارد ودعم الأجهزة في Linux.

    http://hardware4linux.info/ - دليل الأجهزة المتوافقة مع نظام التشغيل Linux، التقسيم إلى فئات: "يعمل مباشرة خارج الصندوق" ، "يعمل مع التعديل" ، "غير معروف" ، "يعمل جزئيًا" و "لا يعمل". قاعدة بيانات كبيرة إلى حد ما ومحدثة باستمرار للأجهزة.

    http://www.linmodems.org/ - قاعدة بيانات لدعم الأجهزة الضارة مثل أجهزة مودم النبيذ.في نفوسهم ، يتم تحويل كل النشاط الرئيسي إلى برنامج تشغيل مكتوب لك-تعرف-أي نظام. نتيجة لذلك ، لا توجد "أدمغة" تقريبًا على الجهاز ، تمامًا كما لا يمتلكها مصنعو هذه الأجهزة. من خلال جهود المبرمجين المجانيين ، يمكن جعل العديد من هذه الأجهزة تعمل على Linux.

    يستخدم Linux نظامًا قياسيًا لتقسيم القرص ويمكنه مشاركة القرص الثابت مع أنظمة أخرى ، بما في ذلك. مع DOS.

    يوجد محمل إقلاع يسمح لك بتحميل نظام التشغيل المطلوب بشكل انتقائي من القرص.

    دعم أنظمة الملفات لأنظمة التشغيل الأخرى.

    من Linux ، يمكنك العمل مع أقسام القرص الصلب والأقراص المرنة التي تحتوي على أنظمة ملفات لأنظمة التشغيل الأخرى بالطريقة المعتادة ، بما في ذلك. أنظمة الملفات DOS و Windows 95 و Minix و Xenix و Coherent و System V. أنظمة الملفات DoubleSpace و HPFS-2 (OS / 2) و Amiga للقراءة فقط.

    أنظمة الملفات DoubleSpace / Stacked إلخ. تصبح متاحة للقراءة والكتابة في Linux عند تشغيل محاكي DOS.

    يدعم نظام ملفات Linux OS جميع تنسيقات الأقراص المضغوطة القياسية.

    Linux قادر على أن يكون عميلاً وخادمًا لنظام ملفات شبكة NFS. يدعم Linux بروتوكولات NCP و SMB ويمكنه العمل كخادم ملفات أو الوصول إلى NetWare و Windows for Workgroups وخوادم ملفات Windows NT.

    تثبيت Linux على قسم DOS.

    يدعم Linux نظام ملفات UMSDOS ، مما يجعل من الممكن تثبيت Linux مباشرة في نظام ملفات DOS دون إعادة أقسام القرص الصلب.

    على أساس UMSDOS ، تم إنشاء مجموعة توزيع Mini-Linux مكونة من 4 أقراص ، والتي يتم تثبيتها في نظام ملفات DOS.

    العمل مع الأقراص المرنة بتنسيق DOS.

    يمكنك قراءة وكتابة الأقراص المرنة DOS من Linux. يتم ذلك باستخدام أدوات Linux المعتادة (ثم يتم تثبيت القرص المرن كجزء من نظام الملفات) ، ومع أوامر خاصة لخدمة الأقراص المرنة DOS. تتوفر الأقراص المرنة أيضًا في محاكي DOS.

    تنفيذ برامج تطبيقات DOS.

    يدير Linux dosemu ، وهو محاكي DOS. يتيح لك هذا البرنامج تشغيل نظام DOS على Linux ، حيث تعمل برامج تطبيق DOS بشكل طبيعي. يمكن تشغيل العديد من برامج DOS ، ولكن ليس كلها. على سبيل المثال ، يسمح لك محاكي DOS بالعمل مع ملفات

    يمكن لتطبيقات DOS التي تعمل على Linux استخدام نظام الملفات لكل من قسم DOS ونظام الملفات. نظام لينوكس، بما في ذلك. نظام ملفات الشبكة NFS.

    يعمل تطبيق DOS بالتوازي مع العمليات الأخرى. يمكن تشغيل تطبيقات DOS المتعددة في نفس الوقت.

    العمل مع تطبيقات MS Windows.

    نظام WINE قيد التطوير ، والذي يسمح لك بتشغيل تطبيقات MS Windows على نظام التشغيل X Windows. في هذه الحالة ، لا يتم استخدام نظام MS Windows ولا يشترط وجوده. يسمح WINE حاليًا بتشغيل عدد محدود من تطبيقات MS Windows. البرامج الشائعة مثل Word و PageMaker و CorelDraw لا تعمل مع نظام WINE حتى الآن. يخضع مشروع WINE لعملية تطوير مكثفة ، وستتوفر هذه التطبيقات وغيرها في النهاية للاستخدام على نظام التشغيل X Windows.

    في محاكي DOS ، يمكنك تشغيل MS Windows 3.0 في الوضع الحقيقي والتطبيقات ذات الصلة. يعمل MS Windows 3.1 و Windows for Workgroups في محاكي 0.63 ، على الرغم من أنه لهذا الغرض يجب اعتبار dosemu إصدار ألفا في الوقت الحالي. محاكي DOS يتطور بسرعة.

    Willows Software، Inc. طورت نظام TWIN XPDK التجاري. يحتوي هذا النظام على مكون مشابه وظيفيًا لنظام WINE ، حيث تعمل تطبيقات Microsoft Office و Word و Excel و Project على نظام X Windows. بشكل عام ، TWIN XPDK عبارة عن مجموعة من الأدوات لمطوري تطبيقات MS Windows (بما في ذلك Win95) ، والتي تتيح للمطور نقل التطبيقات بسهولة بين عدد من الأنظمة الأساسية ، بما في ذلك Unix و OS / 2 و Mac.

    كالديرا ، إنك. ، رأس مال بدء التشغيل الذي كان استثمار Noorda Family Trust، Inc. (Ray Noorda هو الرئيس التنفيذي السابق لشركة Novell) يبيع Caldera Network Desktop المستندة إلى Linux. قام Caldera بترخيص Wabi من SunSoft، Inc. ، وهو نظام تجاري مشابه وظيفيًا لنظام WINE المجاني. مقابل أقل من 200 دولار ، سيتم شحن Wabi كجزء من قرص Caldera Solutions CD.

    تنفيذ برامج من إصدارات مختلفة من يونكس.

    باستخدام محاكي iBCS2 ، يمكن لنظام Linux تشغيل برامج قابلة للتنزيل من SCO Unix و Xenix V / 386 و SVR3 عام و Wyse V / 386 و SVR4 (Unixware و USL و Dell) و BSD / OS و FreeBSD. على سبيل المثال ، تعمل تطبيقات SCO Unix مثل CorelDraw و WordPerfect و Oracle على Linux.

    Linux (والعكس صحيح) سهل الحمل على مستوى البرامج من أنظمة Unix System V و BSD.

    يدعم Linux معايير الأنظمة المفتوحة ، بما في ذلك. بوسيكس. الشركة الرائدة عالميًا في توحيد معايير تكنولوجيا المعلومات وحامل علامة UNIX التجارية ، منحت X / Open Linux شهادة POSIX.1 FIPS151-2. هذا يعني الاعتراف الرسمي بحقيقة أن جميع تطبيقات Unix تقريبًا يمكن أن تكون محمولة على Linux دون مشاكل. الحصول على الشهادة المتعلقة بـ POSIX.2 و POSIX.4 و POSIX.7 قاب قوسين أو أدنى. Lasermoon ، الشركة التي تصنع توزيع Linux-FT ، لديها عضوية X / Open.