توافق مع الأخطاء
يُقال إن أجهزة أو برامج الحاسوب متوافقة مع الأخطاء إذا كانت تُعيد إنتاج ميزة غير مرغوب فيها [ 1 ] من إصدار سابق بدقة. يُمكن إيجاد هذا المصطلح في ملف المصطلحات التقنية . [ 2 ]
من جوانب الحفاظ على التوافق مع الأنظمة القديمة أن برامج العميل في هذه الأنظمة لا تعتمد فقط على واجهاتها المحددة، بل أيضًا على الأخطاء والسلوكيات غير المقصودة التي يجب الحفاظ عليها في النظام البديل الأحدث. فضلًا عن التعقيد المتزايد الذي يجب الحفاظ عليه خلال التطور الطبيعي للبرنامج أو الواجهة، قد يتسبب ذلك أحيانًا في مشاكل تتعلق بالأداء أو الأمان، وقد تؤدي التناقضات في سلوك الواجهات أحيانًا إلى ظهور أخطاء جديدة في البرنامج المستخدم لها، مما يخلق تبعيات متبادلة متعددة الاتجاهات يصعب حلها بين أجزاء مختلفة من البرنامج. [ 3 ]
أمثلة
دوس
توجد أمثلة على ذلك في نظامي التشغيل MS-DOS و PC DOS : فعندما يكتشف نظاما التشغيل MS-DOS/PC DOS 3.1 والإصدارات الأحدث (بما في ذلك Windows 9x ) و OS/2 بعض تسميات FAT OEM ، فإنهما لا يثقان ببعض قيم كتلة معلمات BIOS (BPB) ويعيدان حسابها من معلمات هندسة القرص الأخرى لتجاوز أخطاء حسابية ناتجة عن بعض برامج تهيئة الأقراص في الإصدارات السابقة من هذه الأنظمة. [ 4 ] [ 5 ] [ 6 ] [ 7 ] ورغم أن هذا السلوك غير الموثق يسمح لهما بالتعامل مع وحدات التخزين ذات التنسيق غير الصحيح تحديدًا، إلا أنه يحد من مرونة هندسة الأقراص التي يمكنهما العمل معها بشكل عام، وقد يتسبب في تلف وحدات التخزين المنسقة بشكل صحيح والتي أنشأتها جهات خارجية إذا انحرفت عن الإعدادات الافتراضية المستخدمة من قبل مايكروسوفت وآي بي إم . [ 6 ] [ 7 ] عند تشغيل نظامي التشغيل MS-DOS/PC DOS 5.0 والإصدارات الأحدث على معالجات 286 أو أحدث، يحتوي مُحمِّل الملفات التنفيذية المُدمج على شفرة مُصممة خصيصًا لاكتشاف وإصلاح بعض التطبيقات الشائعة ومُحمِّلات البرامج المُدمجة (مثل البرامج المرتبطة بإصدارات قديمة من برنامج EXEPACK من مايكروسوفت أو مُوسِّعات DOS 386 من راشيونال سيستمز ) عن طريق تعديل صورة البرنامج المُحمَّل قبل تشغيله. [ 8 ] في ظروف مُعينة، يقوم نظام DOS الأساسي أيضًا بتعديل نظام ويندوز ( WINA20.386 ). [ 9 ]
خلال مراحل التطوير، كان لا بد من تعديل نظام DR-DOS ليس فقط لمحاكاة العديد من الخصائص غير الموثقة وغير المرغوب فيها في نظامي MS-DOS وPC- DOS (مثل استخدام أسماء ملفات مضللة مثل IBMBIO.COM و IBMDOS.COM و COUNTRY.SYS للملفات التي لا تلتزم بمواصفات الملفات التنفيذية في نظام DOS، [ 10 ] [ 11 ] [ 12 ] [ nb 1 ] أو إضافة بنية دليل حالي (CDS) محدودة الطول داخليًا [ 9 ] [ 13 ] [ 14 ] )، بل أيضًا لمعالجة الأخطاء البرمجية في النواة والعديد من برامج التشغيل، وذلك لضمان تشغيل بعض برامج التشغيل والتطبيقات الأخرى على نظام DR-DOS، بعد أن تم اختبارها على إصدارات محددة من نظام MS-DOS فقط. [ 9 ] [ 6 ] [ 8 ] [ 15 ] [ 16 ] [ 17 ]
ويندوز
يُعد نظام التشغيل ويندوز ، الذي دأب على محاكاة العديد من أخطاء النظام القديمة للسماح بتشغيل البرامج القديمة منخفضة المستوى، مثالاً آخر. ونتيجةً لذلك، يحتاج برنامج واين ، الذي يُتيح تشغيل العديد من تطبيقات ويندوز على منصات أخرى، إلى الحفاظ على توافقه مع ويندوز من حيث الأخطاء. [ 18 ]
آخر
أثناء تطوير جهاز الكمبيوتر المتوافق مع IBM PC ، اكتشف مهندسو شركة كومباك أن برنامج محاكاة الطيران من مايكروسوفت لا يعمل بسبب ما وصفه بروس أرتويك من شركة ساب لوجيك بأنه "خلل في إحدى رقائق إنتل "، مما أجبرهم على جعل أجهزتهم متوافقة مع IBM PC رغم وجود هذا الخلل. [ 19 ] واضطر عشرات من مصنعي نسخ IBM Enhanced Graphics Adapter إلى محاكاة هذا الخلل، مستخدمين تصميمًا معزولًا لتجنب انتهاك حقوق الملكية الفكرية لشركة IBM. [ 20 ] وثمة مثال آخر على ذلك في تصميم خط عنوان IBM Personal Computer/AT A20 لمحاكاة سلوك المعالجات القديمة. [ 8 ] [ 15 ]
لطالما احتوى برنامج مايكروسوفت إكسل على خطأ متعمد في السنة الكبيسة ، حيث يتعامل بشكل خاطئ مع تاريخ 29 فبراير 1900 على أنه تاريخ فعلي، وذلك لضمان التوافق مع الإصدارات السابقة من برنامج لوتس 1-2-3 . [ 21 ]
يتحدث هايروم رايت ، وهو مهندس في جوجل ، عن هذه المشكلة التي لاحظها بنفسه أثناء عمله على مكتبات C++ الأساسية. وكان تيتوس وينترز ، وهو أيضاً مهندس في جوجل، هو من روّج لهذا المفهوم على نطاق أوسع تحت مسمى " قانون هايروم ". [ 22 ]
إنّ عنوان HTTP referer هو خطأ إملائي في كلمة referrer . كان هذا خطأً في اقتراح الويب الأصلي، وتمّ الإبقاء عليه لأسباب تتعلق بالتوافق.
انظر أيضاً
ملحوظات
- ↑ ملفات IBMBIO.COM و IBMDOS.COM عبارة عن صور ثنائية خاصة تحتوي على تعليمات برمجية قابلة للتنفيذ . محاولة تشغيلها عن طريق الخطأ من موجه الأوامر كما لو كانت برامج عادية من نوع COM ستؤدي إلى تعطل النظام. لهذا السبب، تم تعيين خاصية "مخفي" لهذه الملفات في نظامي MS-DOS و PC-DOS . كان من الممكن تجنب ذلك باختيار امتدادات ملفات أخرى (مثل DRBIOS.SYS و DRBDOS.SYS )، ولكن لم يكن ذلك ممكنًا لاحقًا للحفاظ على التوافق مع الأدوات المختلفة التي تتطلب هذه الأسماء المحددة للملفات. للقضاء على خطر التعطل، تم تحويل هذه الملفات إلى ملفات ثنائية شاملة (fat binaries) مع إصدار DR-DOS 7.02 والإصدارات الأحدث، والتي تتضمن الآن ملفات صغيرة (stinks) للخروج بسلاسة عند استدعائها بشكل غير صحيح. [أ] [ب]
مراجع
- ↑ "متوافق مع الأخطاء" . catb.org .
نفس معنى "متوافق مع الأخطاء"، مع الإشارة الإضافية إلى بذل جهد كبير ومضنٍ لضمان تكرار كل خطأ (معروف).
- ↑ "متوافق مع الأخطاء - www.jargon.net" . تم الاطلاع عليه بتاريخ 2010-02-03 .
- ↑ بونتين، جيسون (26 ديسمبر 1994). "التأجيل الثالث لنظام ويندوز 95؛ يحتاج إلى تحسينات" . إنفوورلد . 16 (52). مجموعة إنفوورلد الإعلامية: 18.
- ↑ ويليامز، ديف (12 يناير 1992). المرجع التقني للمبرمج لنظام التشغيل MSDOS وجهاز الكمبيوتر الشخصي IBM . رقم ISBN 1-878830-02-3DOSREF . تم الاسترجاع بتاريخ 2012-01-08 .(ملاحظة: يذكر المؤلف أن نظام التشغيل DOS 4.0 يتحقق من ملصق الشركة المصنعة الأصلية، لكنه ينفي أن نظام التشغيل DOS 3.2 يتحقق منه أيضًا (على الرغم من أنه يفعل ذلك).)
- ↑ باس، والي (14 فبراير 1994). "حجم الكتلة" . مجموعة الأخبار : comp.os.msdos.programmer . تم الاسترجاع في 14 أكتوبر 2006 .
{{cite newsgroup}}: CS1 maint: deprecated archiveal service ( link ) - 1 2 3 بول، ماتياس ر. (20 فبراير 2002). "الحاجة إلى نظام DOS 6.22 (ليس OEM)" . alt.msdos.programmer . تم الاطلاع عليه بتاريخ 14 أكتوبر 2006 .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - 1 2 بول، ماتياس ر. (25-08-2004). "NOVOLTRK.REG" . www.drdos.org . مؤرشف من الأصل بتاريخ 04-03-2016 . تم الاطلاع عليه بتاريخ 17-12-2011 .
- 1 2 3 بول، ماتياس ر. (2002-10-07). "ردًا على: مشكلة متعلقة بموقع masm.com (PSP)" . alt.lang.asm . تم الاطلاع عليه بتاريخ 2017-09-03 .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - 1 2 3 شولمان، أندرو؛ براون، رالف د .؛ ماكسي، ديفيد؛ ميشيلز، ريموند ج.؛ كايل، جيم (1994) [نوفمبر 1993]. نظام التشغيل DOS غير الموثق: دليل المبرمج لوظائف MS-DOS المحجوزة وهياكل البيانات - موسع ليشمل MS-DOS 6 وNovell DOS وWindows 3.1 ( الطبعة الثانية). ريدينغ، ماساتشوستس: أديسون ويسلي . ISBN 0-201-63287-X.(xviii+856+vi صفحات، قرص مرن 3.5 بوصة) تصحيحات:
- ↑ بول، ماتياس ر. (2 أكتوبر 1997). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT" . مؤرشف من الأصل بتاريخ 4 أكتوبر 2003. تم الاطلاع عليه بتاريخ 29 مارس 2009 .
- ↑ DR-DOS 7.03 WHATSNEW.TXT - التغييرات من DR-DOS 7.02 إلى DR-DOS 7.03 . كالديرا، وشركة 1998-12-24. مؤرشف من الأصل بتاريخ 2019-04-08 . تم الاسترجاع 2019-04-08 .
- ↑ بول، ماتياس ر. (10-06-2001) [1995]. "تنسيق ملف DOS COUNTRY.SYS" (ملف COUNTRY.LST) ( الإصدار 1.44). مؤرشف من الأصل بتاريخ 20-04-2016 . تم الاطلاع عليه بتاريخ 20-08-2016 .
- ^ ماتياس ر. بول (1997/06/07) [أبريل 1994]. “الفصل 1.3.xi: Überlange Pfade”. NWDOS7UN.TXT — الوصول إلى المستندات وتفاصيلها من Novell DOS 7 . MPDOSTIP (باللغة الألمانية). مؤرشفة من الأصلي بتاريخ 2016-11-07 . تم الاسترجاع 2016/11/07 .
- ^ بول ماتياس ر. (30/07/1997) [01/05/1994]. NWDOS-TIPs — نصائح وحيل لتشغيل Novell DOS 7، مع النقر على تفاصيل التفاصيل والأخطاء والحلول البديلة . MPDOSTIP (باللغة الألمانية) (3 ed.). مؤرشفة من الأصلي بتاريخ 2017-09-10 . تم الاسترجاع 2014/08/06 . (ملاحظة: يُعدّ ملف NWDOSTIP.TXT مرجعًا شاملًا حول نظامي التشغيل Novell DOS 7 و OpenDOS 7.01، ويتضمن وصفًا للعديد من الميزات والتفاصيل الداخلية غير الموثقة. وهو جزء من
MPDOSTIP.ZIPمجموعة المؤلف الأكبر حجمًا التي تم الاحتفاظ بها حتى عام 2001 وتوزيعها على العديد من المواقع في ذلك الوقت. يشير الرابط المرفق إلى نسخة أقدم منNWDOSTIP.TXTالملف تم تحويلها إلى صيغة HTML.) - 1 2 بول، ماتياس ر. (2002-02-02). "تحميل برامج التشغيل ديناميكيًا (إعادة توجيه الإزاحة داخل القطاع لتحميل سجلات المعاملات في ذاكرة الوصول العشوائي )" . de.comp.os.msdos (بالألمانية) . تم الاسترجاع في 2017-07-02 .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) (NB. يقدم نظرة عامة شاملة على تاريخ و"طبيعة" HMA وقيود التصميم غير الواضحة التي يجب مراعاتها عند تطوير ملحقات النظام المقيمة ليتم تحميلها في HMA.) - ^ بول ماتياس ر. (2002-04-01). "إصلاح موسع CauseWay DOS ضمن DR-DOS 7.0x EMM386.EXE" . مجموعة الأخبار : comp.os.msdos.programmer . تم الاسترجاع 2018-09-19 .
{{cite newsgroup}}: CS1 maint: deprecated archiveal service ( link ) - ↑ بول، ماتياس ر. (18-08-2001). "ردًا على: [ fd-dev ] حول GRAFTABL وDISPLAY.SYS (كان: تغيير صفحات الترميز في FreeDOS)" . freedos-dev . تم الاسترجاع في 04-09-2017 .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ "WineFeatures - The Official Wine Wiki" . تم الاطلاع عليه بتاريخ 2010-02-03 .
- ↑ ياكال، كاثي (يناير 1985). "بروس أرتويك / المصمم وراء محاكي الطيران 2" . مجلة كومبيوت! غازيت . ص 32. تاريخ الاسترجاع 2014-07-06 .
- ↑ هوارد، بيل (13 يناير 1987). "الإجهاض، إعادة المحاولة، التجاهل" . PC . ص 152-153 .
- ↑ يفترض برنامج إكسل خطأً أن عام 1900 هو سنة كبيسة . تم الاطلاع عليه بتاريخ 1 مايو 2019.
- ↑ "هندسة البرمجيات في جوجل [ كتاب ] " . www.oreilly.com . تاريخ الاسترجاع: 31-05-2022 .
- أخطاء برمجية
- التوافق مع الإصدارات السابقة
- مصطلحات الحاسوب
