در علوم رایانه رایانش بی درنگ[ ۱] یا محاسبه همزمان - با - وقوع ( به انگلیسی: Real - time computing ) به بررسی مسائل بی درنگ بودن سامانه های رایانه ای از جمله ضرب الاجل ( سررسید ) هایی ( به انگلیسی: deadline ) که برای یک پردازش وجود دارد می پردازد. در سامانه های غیر بی درنگ هیچ ضرب الاجلی برای پردازش ها وجود ندارد حتی اگر پاسخ سریع یا عملکرد بالا مورد انتظار باشد.
نیاز به نرم افزارهای بی درنگ معمولاً توسط سیستم عامل های بی درنگ و زبان برنامه نویسی بی درنگ برطرف می شود که بستری را برای ایجاد نرم افزارهای بی درنگ فراهم می سازند.
کاربرد سامانه های بی درنگ می تواند در زمینه هایی باشد که مأموریت بحرانی باشد. ترمزهای ضد قفل وسیله نقلیه مثال ساده ای از مورد استفاده سامانه های بی درنگ است، محدودیت پردازش درخواست در یک بازه زمانی کوتاه که در آن بازه ترمزها بایستی آزاد شوند تا از قفل شدن چرخ ها جلوگیری کنند. درصورتی که پردازش بی درنگ در ضرب الاجل نتواند درخواست پردازش را پاسخ دهد پردازش شکست خورده تلقی می شود. پردازش بایستی در ضرب الاجل درخواستی پایان یابد بدون توجه به بار پردازش های روی سامانه.
سامانهٔ بی درنگ به سامانه ای گفته می شود که درستی اجرای یک عملیات در آن تنها به درست بودن عملیات از نظر منطقی بستگی نداشته باشد بلکه اجرای آن عملیات در یک بازهٔ زمانی مشخص نیز در درستی اجرای عملیات در نظر گرفته شود. در سامانه های بی درنگ سخت ( به انگلیسی: hard real - time ) یا به عبارتی سامانه های بی درنگ بدون وقفه ( به انگلیسی: immediate real - time ) پایان اجرای یک عملیات پس از ضرب الاجل بی فایده تلقی می شود و چنین حالتی ممکن است یک خرابی بحرانی در کل سامانه به وجود آورد در حالیکه در سامانه های بی درنگ نرم ( به انگلیسی: soft real - time ) چنین تأخیری تحمل می شود و ممکن است با کیفیت پایین تر سرویس دهی شود. ( همانند حذف برخی فریم ها در حین پخش یک ویدئو )
سامانه های بی درنگ سخت زمانی مورد استفاده قرار می گیرند که پاسخ دهی به یک رویداد در یک بازهٔ زمانی بسیار ضروری باشد. چنین تضمینی در سامانه هایی مورد نیاز است که عدم پاسخ دهی به یک رویداد در ضرب الاجل تعیین شده باعث خسارت های سنگینی شود، بخصوص خسارت های فیزیکی به اطراف یا تهدید جان انسان ها. در بحث سامانه های چندوظیفگی[ ۲] ( به انگلیسی: multi tasking ) سیاست زمان بندی، معمولاً براساس اولویت ( به انگلیسی: priority driven ) است. سایر الگوریتم ها همچون «اول اولین ضرب الاجل» ( به انگلیسی: Earliest Deadline First ) که بدون در نظر نگرفتن بار تعویض پردازش ( به انگلیسی: context switching ) برای سامانه هایی با بار کمتر از ۱۰۰٪ مناسب است. سامانه های جدید برنامه ریزی همچون یک Adaptive Partition Scheduler می توانند در مدیریت سامانه های بزرگ با ترکیبی از عملیات بی درنگ سخت و سایر عملیات ها مفید باشند. سامانه های بی درنگ نرم معمولاً زمانی استفاده می شود که نیاز به دسترسی هم زمان و بروز نگهداری تعدادی از سامانه ها وجود دارد. برای مثال نرم افزاری که برنامه پروازی یک شرکت هواپیمایی را نگهداری و بروزرسانی می کند، برنامه پروازی بایستی تا حد قابل قبولی همیشه بروز باشد ولی می توان با چند لحظه تأخیر نیز کنار آمد. سامانه های پخش زنده صدا و تصویر نیز معمولاً سامانه های بی درنگ سهل هستند که در صورت عدم پاسخگویی سامانه در ضرب الاجل با پایین آوردن کیفیت وضعیت را مدیریت می کنند.
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفنیاز به نرم افزارهای بی درنگ معمولاً توسط سیستم عامل های بی درنگ و زبان برنامه نویسی بی درنگ برطرف می شود که بستری را برای ایجاد نرم افزارهای بی درنگ فراهم می سازند.
کاربرد سامانه های بی درنگ می تواند در زمینه هایی باشد که مأموریت بحرانی باشد. ترمزهای ضد قفل وسیله نقلیه مثال ساده ای از مورد استفاده سامانه های بی درنگ است، محدودیت پردازش درخواست در یک بازه زمانی کوتاه که در آن بازه ترمزها بایستی آزاد شوند تا از قفل شدن چرخ ها جلوگیری کنند. درصورتی که پردازش بی درنگ در ضرب الاجل نتواند درخواست پردازش را پاسخ دهد پردازش شکست خورده تلقی می شود. پردازش بایستی در ضرب الاجل درخواستی پایان یابد بدون توجه به بار پردازش های روی سامانه.
سامانهٔ بی درنگ به سامانه ای گفته می شود که درستی اجرای یک عملیات در آن تنها به درست بودن عملیات از نظر منطقی بستگی نداشته باشد بلکه اجرای آن عملیات در یک بازهٔ زمانی مشخص نیز در درستی اجرای عملیات در نظر گرفته شود. در سامانه های بی درنگ سخت ( به انگلیسی: hard real - time ) یا به عبارتی سامانه های بی درنگ بدون وقفه ( به انگلیسی: immediate real - time ) پایان اجرای یک عملیات پس از ضرب الاجل بی فایده تلقی می شود و چنین حالتی ممکن است یک خرابی بحرانی در کل سامانه به وجود آورد در حالیکه در سامانه های بی درنگ نرم ( به انگلیسی: soft real - time ) چنین تأخیری تحمل می شود و ممکن است با کیفیت پایین تر سرویس دهی شود. ( همانند حذف برخی فریم ها در حین پخش یک ویدئو )
سامانه های بی درنگ سخت زمانی مورد استفاده قرار می گیرند که پاسخ دهی به یک رویداد در یک بازهٔ زمانی بسیار ضروری باشد. چنین تضمینی در سامانه هایی مورد نیاز است که عدم پاسخ دهی به یک رویداد در ضرب الاجل تعیین شده باعث خسارت های سنگینی شود، بخصوص خسارت های فیزیکی به اطراف یا تهدید جان انسان ها. در بحث سامانه های چندوظیفگی[ ۲] ( به انگلیسی: multi tasking ) سیاست زمان بندی، معمولاً براساس اولویت ( به انگلیسی: priority driven ) است. سایر الگوریتم ها همچون «اول اولین ضرب الاجل» ( به انگلیسی: Earliest Deadline First ) که بدون در نظر نگرفتن بار تعویض پردازش ( به انگلیسی: context switching ) برای سامانه هایی با بار کمتر از ۱۰۰٪ مناسب است. سامانه های جدید برنامه ریزی همچون یک Adaptive Partition Scheduler می توانند در مدیریت سامانه های بزرگ با ترکیبی از عملیات بی درنگ سخت و سایر عملیات ها مفید باشند. سامانه های بی درنگ نرم معمولاً زمانی استفاده می شود که نیاز به دسترسی هم زمان و بروز نگهداری تعدادی از سامانه ها وجود دارد. برای مثال نرم افزاری که برنامه پروازی یک شرکت هواپیمایی را نگهداری و بروزرسانی می کند، برنامه پروازی بایستی تا حد قابل قبولی همیشه بروز باشد ولی می توان با چند لحظه تأخیر نیز کنار آمد. سامانه های پخش زنده صدا و تصویر نیز معمولاً سامانه های بی درنگ سهل هستند که در صورت عدم پاسخگویی سامانه در ضرب الاجل با پایین آوردن کیفیت وضعیت را مدیریت می کنند.
wiki: رایانش بی درنگ