في علوم الكمبيوتر، تصف الحوسبة في الوقت الفعلي (RTC) ، أو الحوسبة التفاعلية أنظمة الأجهزة والبرامج الخاضعة "لقيد الوقت الحقيقي" ،يستمد مصطلح الوقت الفعلي من استخدامه في المحاكاة المبكرة، حيث يتم محاكاة العملية في العالم الافتراضي(الكمبيوتر) بمعدل يطابق معدل العملية الحقيقي.
على سبيل المثال المكابح في السيارة يجب ان تعمل في الوقت الذي يضغط فيه السائق المكابح إذا لم يستجب النظام في وقت معين غالبًا يشار إليه باسم "المواعيد النهائية" فستحدث حوادث أو اضرار نتيجية تأخر النظام في تشغيل المكابح. غالبًا ما تُفهم الاستجابات في الوقت الفعلي على أنها بالميلي ثانية، وأحيانًا بالميكرو ثانية. لا يمكن أن يضمن النظام الذي لم يتم تحديده على أنه يعمل في الوقت الفعلي استجابة خلال أي إطار زمني، على الرغم من أنه قد يتم توفير أوقات استجابة نموذجية أو متوقعة.
قد تستخدم برنامج الوقت الفعلي واحدًا أو أكثر من الإجراءات التالية: لغات البرمجة المتزامنة، وأنظمة التشغيل في الوقت الفعلي، والشبكات في الوقت الفعلي، كل منها يوفر أطر عمل أساسية يمكن بناء عليها بناء تطبيق برنامج في الوقت الفعلي.
يجب أن تكون الأنظمة المستخدمة للعديد من التطبيقات المهمة للمهام في الوقت الفعلي، مثل التحكم في طائرة الطيران بالأسلاك، أو الفرامل المانعة للانغلاق على المركبة، والتي يجب أن تنتج الحد الأقصى من التباطؤ ولكنها تتوقف بشكل متقطع عن الفرامل لمنع الانزلاق. فشلت المعالجة في الوقت الفعلي إذا لم تكتمل في غضون مهلة زمنية محددة بالنسبة لحدث ما ؛ يجب الوفاء دائمًا بالمواعيد النهائية.
التاريخ
زادت الحواسيب الصغيرة، وخاصة في السبعينيات وما بعدها، عند دمجها في أنظمة مضمّنة مخصصة مثل الماسحات الضوئية ومشاركة البيانات، ومن الحاجة إلى زمن استجاباه منخفض، التفاعلات المهمة مع البيانات الواردة وأنظمة التشغيل.
معايير للحوسبة في الوقت الحقيقي
يتم تصنيف أنظمة الوقت الفعلي، بالاعتماد إلى المواعيد النهائية الخاصة بها [5]، والتزام البرنامج بها بالشكل التالي:
شديد _ فشل النظام في إتمام المهمة في الوقت المحدد، فشل النطام الكلي.
رَاسِخ _ النطام يخطئ بشكل نادر في اتمام المهمة.
مُتَسَاهِل _ النطام يخطئ بشكل ممتكرر.
وبالتالي، فإن الهدف من نظام الوقت الحقيقي الشديد هو ضمان إامام جميع المهام في المواعيد النهائية ولكن لأنظمة الوقت الحقيقي المتساهلة يصبح الهدف تلبية مجموعة فرعية معينة من المواعيد النهائية من أجل تحسين بعض المعايير الخاصة بالتطبيق. تعتمد المعايير الخاصة المُحسّنة على التطبيق.
يتم استخدام أنظمة الوقت الحقيقي الصعبة عندما يكون من الضروري الاستجابة لحدث ما خلال مهلة زمنية صارمة. مثل هذه الضمانات القوية مطلوبة من الأنظمة التي لا يتسبب رد فعلها في فترة زمنية معينة في خسائر فادحة بطريقة أو بأخرى، لا سيما الإضرار بالبيئة المحيطة جسديًا أو تهديد أرواح بشرية (على الرغم من أن التعريف الصارم هو ببساطة أن فقدان الموعد النهائي يشكل فشل النظام ). على سبيل المثال، يعد نظام التحكم في محرك السيارة نظامًا صعبًا في الوقت الفعلي نظرًا لأن الإشارة المتأخرة في الوصول قد تسبب عطلًا في المحرك أو تلفه. تتضمن الأمثلة الأخرى للأنظمة المضمنة في الوقت الحقيقي الأنظمة الطبية مثل أجهزة تنظيم ضربات القلب وأجهزة التحكم في العمليات الصناعية. عادةً ما يتم العثور على أنظمة الوقت الحقيقي الصعب تتفاعل على مستوى منخفض مع الأجهزة المادية، في الأنظمة كان لأنظمة ألعاب الفيديو المبكرة مثل Atari 2600 و Cinematronics vector Graphics متطلبات حقيقية في الوقت الحقيقي نظرًا لطبيعة أجهزة الرسومات والتوقيت.في سياق أنظمة تعدد المهام، تكون سياسة الجدولة عادةً لها أولوية قصوئ.تعمل خوارزميات الجدولة على تفديم الموعد النهائي الأقدم أولاً تساعد أنظمة جدولة التراكب الجديدة، مثل جدولة القسم التكيفي في إدارة الأنظمة الكبيرة بمزيج من التطبيقات الصعبة في الوقت الفعلي وغير الحقيقي.[6]
تُستخدم أنظمة الوقت الفعلي المرنة عادةً لحل مشكلات الوصول المتزامن والحاجة إلى تحديث عدد من الأنظمة المتصلة عبر المواقف المتغيرة. على سبيل المثال: _ البرنامج الذي يحافظ على خطوط الطيران الخاصة بالطائرات التجارية ويقوم بتحديثها يجب غليه أن يحافظ على خطوط الطيران حديث إلى حد معقول لكن يمكن أن تعمل مع زمن الانتظار لبضع ثوانٍ.
_ أنظمة الصوت والفيديو ؛ يؤدي انتهاك القيود (قيدالوقت)إلى تدهور الجودة، ولكن يمكن للنظام مواصلة العمل واسترداده باستخدام منهجيات التنبؤ وإعادة التكوين. [7][8]
البث المباشر مقابل الوقت الحقيقي
تعد معالجة الإشارات في الوقت الفعلي ضرورية ولكنها غير كافية بحد ذاتها لمعالجة الإشارات الحية مثل ما هو مطلوب في دعم الأحداث المباشرة على سبيل المثال البث المباشر في الأحداث الرياضية.تتطلب معالجة الإشارات الرقمية الصوتية الحية تشغيلًا في الوقت الفعلي وحدًا لتحنب التأخير، لكي يسططيع فناني الأداء(المعلقين) الذين يستخدمون شاشات المسرح أو الشاشات داخل الأستيديوا التحدث بدون حدوث فرق زمني بين التحدث والبث.الذي إذا حدث قد يلاحظه الجمهور الذي يشاهدون فناني الأداء مباشرةً. المعالجة في الوقت الحقيقي هي موضوع التحقيق والنقاش، لكنها تقدر بما يتراوح بين 6 و 20 مللي ثانية. [9]
تعتبر تأخيرات الاتصالات ثنائية الاتجاه في الوقت الفعلي التي تقل عن 300 مللي ثانية ("رحلة ذهابًا وإيابًا" أو ضعف التأخير أحادي الاتجاه) "مقبولة" لتجنب "التحدث غير المرغوب فيه" في المحادثة.
الوقت الحقيقي وعالية الأداء
أحيانًا ما يساء فهم الحوسبة في الوقت الفعلي على أنها حوسبة عالية الأداء[10] لكن هذا ليس تصنيفًا دقيقًا. على سبيل المثال قد يوفر الكمبيوتر الخارق الذي ينفذ المحاكاة العلمية أداءً رائعًا لكنه لا ينفذ عملية حسابية في الوقت الفعلي.على العكس من ذلك عللى سبيل المثال تصميم الأجهزة والبرامج لنظام الفرامل المانعة للانغلاق للوفاء بمواعيد معينة لن تكون هناك مكاسب إضافية في الأداءالخارق أو حتى تكون مفيدة. علاوة على ذلك إذا كان النطام محملاً بدرجة عالية، فقد يكون زمن الاستجابة أبطأ ولكن (في معظم الحالات) لا يزال ينجح قبل انقضاء المهلة (الوصول إلى الموعد النهائي).في نظام الوقت الفعلي، مثل مؤشر FTSE 100 غالبًا ما يُعتبر التباطؤ الذي يتجاوز الحدود كارثيًا في سياق التطبيق أهم متطلبات نظام الوقت الحقيقي هو الإخراج المتسق وليس الإنتاجية العالية.يمكن أن تندرج بعض أنواع البرامج مثل العديد من برامج لعب الشطرنج على سبيل المثال سيحتاج برنامج الشطرنج المصمم للعب في دورة على مدار الساعة إلى اتخاذ قرار بشأن الخطوة القادمة قبل موعد نهائي معين أو يفقد اللعبة وبالتالي يعد حسابًا في الوقت الفعلي على الرغم من ذلك قد يكون الأداء العالي مرغوب فيه فكلما زاد العمل الذي يمكن أن يقوم به برنامج الشطرنجالوقت المحدد كلما كانت تحركاته أفضل وكلما كان برنامج الشطرنج غير المقيد أسرع إذا لم يتخذ برنامج الشطرنج الخاص بالبطولة قرارًا بشأن الخطوة التالية في الوقت المخصص له فسيخسر اللعبة— أي أنه يفشل كحساب في الوقت الفعلي — بينما في السيناريو الآخر، يفترض أن الوفاء بالموعد النهائي ليس ضروريًا. يشير الأداءالعالي إلى مقدار معالجة البيانات الذي يتم تنفيذه في فترة زمنية معينة في حين أنالوقت الفعلي هو القدرة على إنجاز المعالجة باستخدام ناتج مفيد في الوقت المتاح.
قرب الوقت الحقيقي
يشير المصطلح "قرب الوقت الفعلي" أو "الوقت الفعلي تقريبًا"، في الاتصالات والحوسبة، إلى التأخير الزمني الذي يتم تقديمه عن طريق المعالجة للبيانات أو نقل الشبكة بين حدوث الحدث واستخدام الحدث البيانات التي تمت معالجتهاعلى سبيل المثال تعرض الشاشة في الوقت الفعلي تقريبًا حدثًا أو موقفًا كما كان موجودًا في الوقت الحالي مطروحًا منه وقت المعالجة، كما هو تقريبًا وقت الحدث المباشر.التمييز بين المصطلحين "قرب الوقت الحقيقي" و "الوقت الحقيقي" غامض إلى حد ما ويجب تحديده للحالة المطروحة. يشير المصطلح "قرب الوقت الحقيقي" إلى عدم وجود تأخيرات كبيرة. [11]يشير الوقت الفعلي القريب أيضًا إلى تأخر إرسال الصوت والفيديو في الوقت الفعلي. يسمح بتشغيل صور الفيديو، في الوقت الفعلي تقريبًا، دون الحاجة إلى انتظار تنزيل ملف فيديو كبير بالكامل. يمكن لقواعد البيانات غير المتوافقة التصدير ولاستيرادإلى ملفات مشتركة بينما يمكن لقاعدة البيانات أخرى استيرادها أو تصديرها على أساس مجدول حتى تتمكن من مزامنة ومشاركة البيانات المشتركة في "الوقت الفعلي القريب" مع بعضها البعض.يختلف الفرق بين "الوقت الفعلي القريب" و "الوقت الفعلي" ، والتأخير يعتمد على نوع وسرعة الإرسال. يكون التأخير في الوقت الحقيقي القريب عادةً من عدة ثوانٍ إلى عدة دقائق.
طرق التصميم
توجد عدة طرق للمساعدة في تصميم أنظمة الوقت الفعلي، مثال على ذلك MASCOT ، وهي طريقة قديمة ولكنها ناجحة جدًا تمثل البنية المتزامنة للنظام. ومن الأمثلة الأخرى: - HOOD - Real-Time UML - AADL -وملف تعريف Ravenscar - Java
المصادر
[2]Ben-Ari, M., "Principles of Concurrent and Distributed Programming", Prentice Hall, 1990. . Ch16, Page 164
[3]Martin, James (1965). Programming Real-time Computer Systems. Englewood Cliffs, NJ: Prentice-Hall Inc. p. 4. ISBN 978-0-13-730507-0.
[4]Krishna Kant (May 2010). Computer-Based Industrial Control. PHI Learning. p. 356. ISBN 9788120339880. Retrieved 2015-01-17.
[5] Shin, K.G.; Ramanathan, P. (Jan 1994). "Real-time computing: a new discipline of computer science and engineering" (PDF). Proceedings of the IEEE. 82(1): 6–24. CiteSeerX 10.1.1.252.3947.
[6] C. Liu and J. Layland. Scheduling Algorithms for Multiprogramming in a Hard Real-time Environment. Journal of the ACM, 20(1):46--61, Jan. 1973. http://citeseer.ist.psu.edu/liu73scheduling.html
[7]Menychtas, Andreas; Kyriazis, Dimosthenis; Tserpes, Konstantinos (July 2009). "Real-time reconfiguration for guaranteeing QoS provisioning levels in Grid environments". Future Generation Computer Systems. 25 (7): 779–784. doi:10.1016/j.future.2008.11.001.
[8]S.M. Kuo, B.H. Lee, and W. Tian, "Real-Time Digital Signal Processing: Implementations and Applications", Wiley, 2006. . Section 1.3.4: Real-Time Constraints.
[9]Kudrle, Sara; Proulx, Michel; Carrieres, Pascal; Lopez, Marco; et al. (July 2011). "Fingerprinting for Solving A/V Synchronization Issues within Broadcast Environments". SMPTE Motion Imaging Journal. 120(5): 36–46. doi:10.5594/j18059XY. Appropriate A/V sync limits have been established and the range that is considered acceptable for film is +/- 22 ms. The range for video, according to the ATSC, is up to 15 ms lead time and about 45 ms lag time
[10]John Stankovic (1988), "Misconceptions about real-time computing: a serious problem for next-generation systems", Computer, IEEE Computer Society, 21 (10), p. 11, doi:10.1109/2.7053
[11]"federal standard 1037C:Glossary of telecommuications tems"Its.bldrdoc.gov.Retrieved 2014-04-26.
مقالات ذات صلة
مراجع
مزيد من القراءة
- Alan Burns and Andy Wellings (2009), Real-Time Systems and Programming Languages (الطبعة 4th), Addison-Wesley,
- Buttazzo, Giorgio (2011), Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications, New York, NY: Springer, مؤرشف من الأصل في 02 فبراير 2020 .
- Liu, Jane W.S. (2000), Real-time systems, Upper Saddle River, NJ: Prentice Hall .
روابط خارجية
- IEEE Technical Committee on Real-Time Systems
- Euromicro Technical Committee on Real-time Systems
- The What, Where and Why of Real-Time Simulation
- "DESIGN OF A REAL-TIME PROGRAMMING SYSTEM". Computers and Automation. XII (9): 26–34. Sep 1963.
[...] set of notes which will hopefully point up problem areas which should be considered in real time design.