اذهب إلى المحتوى

السؤال

نشر

السلام عليكم،

إشرح لي لماذا هناك تطبيقات تشتغل في أنظمة تشغيل و لا تشتغل في أخرى مع العلم أن جميع أنظمة التشغيل تفهم لغة الآلة 

حيث أن التطبيق يرسل إشارات لنظام التشغيل عند القيام بevent معين .

Recommended Posts

  • 0
نشر

وعليكم السلام

ذلك صحيح جميع أنظمة التشغيل تفهم لغة الألة ولكن نظام التشغيل يعتمد على العديد من العوامل الاخرى المساهمة في إنشاءها والتي تختلف من نظام تشغيل ل اخر دعني اعطيك أمثلة عنها لتتوضح الفكرة لديك أكثر 

  • واجهات البرمجة (APIs) : كل نظام تشغيل له واجهة برمجية خاصة به وذلك عندما يكون نظام التشغيل يعمل على APIs محددة فلن يعمل بنفس الكفاءة في انظمة التشغيل الاخرى 
  • المكتبات والإصدارات : قد تكون المكتبات المستخدمة في تطوير التطبيق لا تتوافق من نظام التشغيل وذلك قد يسبب عدة مشاكل عند تشغيلها على هذا النظام 
  • الاختلاف في التكوين والاعدادات : يمكن أن يؤدي اختلاف التكوينات والإعدادات في نظام تشغيل معين إلى عدم قدرة التطبيق على العمل بشكل صحيح، حتى لو كان النظام يفهم لغة الآلة

باختصار، حتى وإن كانت أنظمة التشغيل تفهم لغة الآلة، فإن هناك عوامل متعددة تجعل بعض التطبيقات تعمل بشكل جيد في بعض الأنظمة وتواجه صعوبة في العمل في أنظمة أخرى

وبالتوفيق لك ...

  • 0
نشر

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

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

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

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

كذلك نجد مسألة التوافق فقد لا تكون بعض التطبيقات متوافقة مع الإصدارات القديمة من أنظمة التشغيل.

كما أنه قد يقرر مطور التطبيق تقييد توفر التطبيق على أنظمة تشغيل محددة لأسباب مختلفة، مثل رغبة التركيز على منصة معينة أو صعوبة تطوير التطبيق لأنظمة متعددة.

لكن مع ذلك يمكن حل بعض مشكلات التوافق باستخدام برامج محاكاة أو أدوات ترجمة لغة البرمجة.

وهذه بعض الأمثلة:

  • لا تعمل تطبيقات iOS على Android والعكس صحيح.
  • لا تعمل بعض ألعاب الكمبيوتر على أنظمة التشغيل المحمولة.
  • لا تعمل بعض التطبيقات المصممة لأجهزة سطح المكتب على أجهزة Chromebook.

يمكنك الاطلاع أكثر على هذه المصادر من هنا:

 

  • 0
نشر

بشكل بسيط، الأمر أشبه أنه لماذا لا يتم استخدام محرك واحد على الجميع السيارات؟

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

مثلاً معمارية معالجات M الخاصة بشركة آبل تختلف عن معمارية معالجات إنتل وهكذا.

أيضًا توفر أنظمة التشغيل واجهات برمجة تطبيقات (APIs) محددة للتفاعل مع مكوناتها بالتالي علينا استخدام APIs المُناسبة لنظام التشغيل الذي يعمل عليه.

وتختلف أنظمة الملفات بين أنظمة التشغيل، مما يعني أن التطبيق يجب أن يكون مُبرمجًا لفهم كيفية الوصول إلى الملفات على نظام التشغيل المُستهدف.

وأحيانًا تتطلب بعض التطبيقات إصدارًا محددًا من نظام التشغيل أو إصدارًا أحدث، أو  مكونات إضافية موجودة فقط على أنظمة تشغيل معينة.

أو قد لا يختار المطور جعل تطبيقه متوافق مع جميع أنظمة التشغيل، واستهداف نظام محدد مثل MacOS، ربما لأنه  لا يوجد طلب كافٍ على التطبيق من قبل مستخدمي نظام معين أو من أجل استهداف شريحة مستخدمين ذات عائد مادي أعلى.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...