ما الفرق بين أنظمة التشغيل في الوقت الفعلي مثل VxWorks وأنظمة التشغيل التقليدية مثل Windows؟


الاجابه 1:

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

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

من ناحية أخرى ، على نظام Windows ، إذا لم يكتمل البرنامج في 20ms ، على الرغم من أن النظام قد يبدو بطيئًا ، فلن ينتج عنه سيناريو فشل فادح. غالبًا ما يكون هذا النوع من البيئة أفضل للمستخدمين الذين يحاولون التفاعل مع النظام حيث يمكن ترتيب أولويات الأشياء المختلفة.


الاجابه 2:

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

ستجد أن العديد من منتجي أنظمة التشغيل يحددون زمن استجابة يعتمد على مزيج الأجهزة وسرعة تشغيله مع مجموعة أجهزة أساسية يستخدمونها لقياس أي تغييرات واختبارات.

يمكنك تعريف Windows على أنه وقت حقيقي من خلال تحديد وقت استجابة مدته ثانية واحدة. قد يكون أن يكون زمن الاستجابة هذا كافيًا لعملية يتم اعتبارها وقتًا حقيقيًا.

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


الاجابه 3:

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

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

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

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


الاجابه 4:

نظرًا لأن VxWorks هو نظام تشغيل في الوقت الفعلي (RTOS) ونظام Windows هو نظام تشغيل للأغراض العامة (GPOS) ، يمكن عرض سؤالك على أنه RTOS مقابل GPOS.

الفرق الأساسي هو أن RTOS حتمية في سلوك التوقيت بينما GPOS غير حتمية.

الحتمية في سلوك التوقيت تعني أن مهام RTOS سوف تستهلك فقط وحدات زمنية معروفة ومتوقعة. على سبيل المثال: يمكننا أن نقول أن حساب أخذ العينات (مهمة) سيتم في 2 مللي ثانية.

في GPOS ، يمكن للخدمات (المهام) ضخ تأخير الوقت العشوائي في برامج التطبيقات ، وبالتالي تسبب الاستجابة البطيئة في أوقات غير متوقعة. على سبيل المثال: لا يمكننا ضمان فتح Microsoft Word في الإطارات في غضون ثانيتين بمجرد النقر فوقه لفتحه.