رایانش بی‌درنگ
در علوم رایانه رایانش بی‌درنگ یا محاسبه همزمان-با-وقوع به بررسی مسائل بی‌درنگ بودن سامانه‌های رایانه‌ای از جمله ضرب الاجل (سررسید)هایی که برای یک پردازش وجود دارد می‌پردازد. در سامانه‌های غیر بی‌درنگ هیچ ضرب‌الاجلی برای پردازش‌ها وجود ندارد حتی اگر پاسخ سریع یا عملکرد بالا مورد انتظار باشد.
نیاز به نرم‌افزارهای بی‌درنگ معمولاً توسط سیستم‌عامل‌های بی‌درنگ و زبان برنامه‌نویسی بی‌درنگ برطرف می‌شود که بستری را برای ایجاد نرم‌افزارهای بی‌درنگ فراهم می‌سازند.
کاربرد سامانه‌های بی‌درنگ می‌تواند در زمینه‌هایی باشد که مأموریت بحرانی باشد. ترمزهای ضد قفل وسیله نقلیه مثال ساده‌ای از مورد استفاده سامانه‌های بی‌درنگ است، محدودیت پردازش درخواست در یک بازه زمانی کوتاه که در آن بازه ترمزها بایستی آزاد شوند تا از قفل شدن چرخ‌ها جلوگیری کنند. درصورتی که پردازش بی‌درنگ در ضرب‌الاجل نتواند درخواست پردازش را پاسخ دهد پردازش شکست خورده تلقی می‌شود. پردازش بایستی در ضرب‌الاجل درخواستی پایان یابد بدون توجه به بار پردازش‌های روی سامانه.
سامانهٔ بی‌درنگ به سامانه‌ای گفته می‌شود که درستی اجرای یک عملیات در آن تنها به درست بودن عملیات از نظر منطقی بستگی نداشته باشد بلکه اجرای آن عملیات در یک بازهٔ زمانی مشخص نیز در درستی اجرای عملیات در نظر گرفته شود. در "سامانه‌های بی‌درنگ سخت" یا به عبارتی سامانه‌های بی‌درنگ بدون وقفه پایان اجرای یک عملیات پس از ضرب‌الاجل بی‌فایده تلقی می‌شود و چنین حالتی ممکن است یک خرابی بحرانی در کل سامانه به وجود آورد در حالیکه در "سامانه‌های بی‌درنگ نرم" چنین تاخیری تحمل می‌شود و ممکن است با کیفیت پایین‌تر سرویس‌دهی شود. (همانند حذف برخی فریم‌ها در حین پخش یک ویدئو)
سامانه‌های بی‌درنگ سخت زمانی مورد استفاده قرار می‌گیرند که پاسخ‌دهی به یک رویداد در یک بازهٔ زمانی بسیار ضروری باشد. چنین تضمینی در سامانه‌هایی مورد نیاز است که عدم پاسخ‌دهی به یک رویداد در ضرب‌الاجل تعیین شده باعث خسارت‌های سنگینی شود، بخصوص خسارت‌های فیزیکی به اطراف یا تهدید جان انسان‌ها. در بحث سامانه‌های چندوظیفگی سیاست زمان‌بندی، معمولاً براساس اولویت است. سایر الگوریتم‌ها همچون «اول اولین ضرب‌الاجل» که بدون در نظر نگرفتن بار تعویض پردازش برای سامانه‌هایی با بار کمتر از ۱۰۰٪ مناسب است. سامانه‌های جدید برنامه‌ریزی همچون یک Adaptive Partition Scheduler می‌توانند در مدیریت سامانه‌های بزرگ با ترکیبی از عملیات بی‌درنگ سخت و سایر عملیات‌ها مفید باشند. سامانه‌های بی‌درنگ نرم معمولاً زمانی استفاده می‌شود که نیاز به دسترسی هم‌زمان و بروز نگهداری تعدادی از سامانه‌ها وجود دارد. برای مثال نرم‌افزاری که برنامه پروازی یک شرکت هواپیمایی را نگهداری و بروزرسانی می‌کند، برنامه پروازی بایستی تا حد قابل قبولی همیشه بروز باشد ولی می‌توان با چند لحظه تأخیر نیز کنار آمد. سامانه‌های پخش زنده صدا و تصویر نیز معمولاً سامانه‌های بی‌درنگ سهل هستند که در صورت عدم پاسخگویی سامانه در ضرب‌الاجل با پایین آوردن کیفیت وضعیت را مدیریت می‌کنند.
اصطلاح real time از کاربرد آن در شبیه‌سازی ناشی می‌شود که در آن یک فرایند در دنیای واقعی با سرعتی شبیه به فرایند واقعی شبیه‌سازی می‌شود (که اکنون برای جلوگیری از ابهام از آن به عنوان شبیه سازی در زمان واقعی یاد می‌شود). رایانه‌های آنالوگ، اغلب قادر به شبیه‌سازی با سرعتی بسیار سریعتر از زمان واقعی هستند، وضعیتی که اگر شناسایی و حساب نشود، می‌تواند به همان اندازه شبیه‌سازی کند خطرناک باشد. کامپیوترهای کوچک، به ویژه در دهه 1970 به بعد، هنگامی که در سیستم‌های تعبیه‌شده اختصاصی مانند اسکنرهای DOG (گرافیک دیجیتال روی صفحه) تعبیه شده‌اند، نیاز به پاسخ‌های اولویت محور با تأخیر کم را برای تعاملات مهم با داده‌های ورودی و سیستم‌های عامل مانند Data افزایش می‌دهند. General RDOS (سیستم عامل دیسک در زمان واقعی) و RTOS با برنامه‌ریزی پیش‌زمینه و پس‌زمینه و همچنین RT-11 شرکت تجهیزات دیجیتال از این دوران می‌گذرد. برنامه ریزی پیش زمینه-پیش زمینه، زمان انجام CPU را برای انجام کارهای با اولویت پایین مجاز می‌داند، در حالی که برای انجام هیچ کاری از پیش زمینه، نیازی به انجام وظایف پیش زمینه نیست و به موضوعات/وظایف با بالاترین اولویت، اولویت مطلق را در پیش زمینه می‌دهد. همچنین از سیستم‌عامل‌های زمان واقعی برای انجام وظایف چند کاربره به اشتراک گذاشته شده در زمان استفاده می‌شود. به عنوان مثال، Data General Business Basic می‌تواند در پیش زمینه یا پس زمینه RDOS اجرا شود و عناصر اضافی را به الگوریتم برنامه ریزی معرفی کند تا مناسب‌تر برای افرادی که از طریق پایانه های گنگ تعامل دارند، باشد. زمانی که MOS Technology 6502 (در Commodore 64 و Apple II استفاده می شود) و بعداً هنگامی که Motorola 68000 (که در Macintosh ، Atari ST و Commodore Amiga استفاده می شود) محبوب بودند، هرکسی می توانست از رایانه خانگی خود به عنوان زمان واقعی استفاده کند سیستم. امکان غیرفعال کردن وقفه‌های دیگر برای حلقه های سخت کدگذاری شده با زمان مشخص شده امکان پذیر است و تأخیر کم وقفه امکان اجرای یک سیستم عامل در زمان واقعی را فراهم می‌کند، به رابط کاربر و درایوهای دیسک نسبت به موضوع زمان واقعی اولویت کمتری می‌دهد.
گفته می‌شود که یک سیستم در زمان واقعی است در صورتی که صحت کل یک عملیات نه تنها به صحت منطقی آن بلکه به زمان انجام آن بستگی دارد. سیستم‌های بی‌درنگ و همچنین مهلت‌های آنها، به دلیل از دست دادن یک مهلت طبقه بندی می‌شوند: بنابراین، هدف یک سیستم سخت در زمان واقعی اطمینان از رعایت تمام مهلت‌ها است، اما برای سیستم‌های نرم زمان واقعی، هدف دستیابی به زیرمجموعه خاصی از مهلت ها به منظور بهینه سازی برخی از معیارهای خاص برنامه است. معیارهای خاص بهینه سازی شده به برنامه بستگی دارد، اما برخی از نمونه‌های معمول شامل به حداکثر رساندن تعداد مهلت های تعیین شده، به حداقل رساندن تأخیر وظایف و به حداکثر رساندن تعداد وظایف با اولویت بالا که در مهلت های تعیین شده خود هستند. سیستم‌های زمان واقعی سخت هنگامی مورد استفاده قرار می‌گیرند که ضروری است در یک مهلت دقیق به یک رویداد واکنش نشان دهند. چنین تضمین‌های محکمی در مورد سیستم‌هایی مورد نیاز است که عدم واکنش آنها در یک بازه زمانی مشخص باعث نوعی خسارت بزرگ می‌شود، خصوصاً صدمه جسمی به محیط اطراف یا تهدید جان انسان‌ها (اگرچه تعریف دقیق این است که از دست دادن مهلت مقرر به منزله خرابی سیستم است) ) چند نمونه از سیستم‌های سخت در زمان واقعی: در زمینه multitasking systems، سیاست برنامه ریزی معمولاً اولویت محور است (برنامه ریزهای پیشگیرانه). در برخی شرایط، اینها می‌توانند عملکرد سخت در زمان واقعی را تضمین کنند (به عنوان مثال اگر مجموعه وظایف و اولویت های آنها از قبل مشخص باشد). برنامه ریزهای زمان واقعی سخت دیگری نیز وجود دارد مانند نرخ یکنواخت که در سیستم های عمومی کاربرد عادی ندارد، زیرا برای برنامه ریزی یک کار به اطلاعات اضافی نیاز دارد: یعنی برآورد مقید یا بدترین حالت برای مدت زمان انجام کار. الگوریتم‌های خاصی برای برنامه ریزی چنین کارهای سخت در زمان واقعی وجود دارد، از جمله اولین مهلت اولیه، که بدون توجه به هزینه بالای سوئیچینگ زمینه، برای بارهای سیستم کمتر از 100٪ کافی است. سیستم‌های جدید زمان بندی هم‌پوشانی، مانند برنامه ریز پارتیشن تطبیقی ​​، به مدیریت سیستم‌های بزرگ با ترکیبی از برنامه‌های سخت در زمان واقعی و غیر واقعی کمک می‌کنند.