《Linux嵌入式實時應用開發實戰(原書第3版)》——1.2 什麼是實時
本節書摘來自華章計算機《Linux嵌入式實時應用開發實戰(原書第3版)》一書中的第1章,第1.2節,作者:(美)Doug Abbott 更多章節內容可以訪問雲棲社群“華章計算機”公眾號檢視。
1.2 什麼是實時
實時的概念更難解釋。實時的基本含義是我們期望計算機對它的環境即時響應。但是什麼是“即時”呢?有人認為實時意味著真的很快,這並不完全正確。實時僅僅意味著在系統執行的環境裡足夠快。如果我們談論的是控制汽車發動機的計算機,那就是快!這個計算機需要決定每次發動機轉一圈時對燃料流量、點火時間的控制。
另一方面,考慮一個或多個計算機控制的化工廠,計算機系統負責控制過程和檢測潛在的破壞性故障。因為化學過程的時間常數最少在幾秒到幾分鐘之間,所以可以假設計算機系統可以有足夠的時間處理任何故障以避免造成損失。
但是假設當故障發生時,計算機正在列印一份關於上週生產情況的長篇報告或正在處理工資單,那麼它對潛在的緊急情況的反應有多快呢?
實時處理的本質不僅在於計算機對它的環境有足夠快速的響應,而且在於足夠快的可靠響應。發動機的控制計算機必須在發動機轉動的每一圈都調整燃料流量和點火時間。如果有所延遲,發動機就不能正常工作。化工廠的控制器必須有足夠的時間正確檢測和響應異常情況以避免事故,如果不能,這個控制器就是無效的。
我覺得下面這句話說得很恰當:
實時系統處理的正確性不僅要求處理的邏輯正確,也要求在規定時間內有結果。如果系統的時間約束不能被滿足,那麼可以說系統就失效了。
——Donald Gillies,實時處理常見問題
所以實時程式設計的藝術就是在隨機的非同步事件中,設計能可靠地滿足時間約束的系統。的確,這說起來容易做起來難,目前有很多研究實時系統原理的文獻和開發工作。
相關文章
- 【原創】linux實時應用如何printf輸出不影響實時性?Linux
- 什麼是實時渲染,實時渲染是如何工作的
- 什麼是資料實時同步,為什麼資料實時同步很重要
- 什麼是實時渲染,3D實時渲染的優缺點3D
- 實時機器學習是什麼,面臨哪些挑戰?機器學習
- 攻防實戰是什麼?
- 到底什麼是實時資料倉儲?
- 什麼是實時渲染及其重要性
- IDEA開發Spark應用實戰(Scala)IdeaSpark
- Data Guard備庫日誌的實時應用與非實時應用
- 如何用 React Native 開發實時音視訊應用React Native
- 2023實時渲染詳解:是什麼,多少錢?
- 為什麼應該切換到實時渲染
- Kurento實戰之四:應用開發指南
- 應用實踐——新東方實時數倉實踐
- Vue開發實戰-唐金州-極客時間Vue
- 鴻蒙Next開發實戰教程-使用WebSocket實現即時聊天鴻蒙Web
- 什麼是分佈分析?如何應用實踐?
- 「實戰」搭建完整的IM(即時通訊)應用(2)
- 「實戰」搭建完整的IM(即時通訊)應用(1)
- HarmonyOS NEXT應用開發實戰—元件堆疊元件
- 實時重新載入go應用Go
- 京東實時資料產品應用實踐
- Kubernetes 實戰——發現應用(Service)
- 什麼是反應式應用開發?
- Linux 3389是什麼?其可以實現什麼功能?Linux
- 大資料開發實戰:實時資料平臺和流計算大資料
- RunLoop實戰:實時卡頓監控OOP
- SpEL應用實戰
- 定時任務的書寫流程是什麼?Linux運維學習時間Linux運維
- 實戰指南 | Serverless 架構下的應用開發Server架構
- 實時web應用方案——SignalR(.net core)WebSignalR
- Web 應用實時版本檢測,這麼做最方便Web
- iOS開發實戰-第5節-微博內容中同時顯示多張照片iOS
- RAG應用開發實戰(01)-RAG應用框架和解析器框架
- 《Python Web開發實戰》隨書原始碼PythonWeb原始碼
- 《SpringBoot實戰開發》——基於Gradle+Kotlin的企業級應用開發最佳實踐Spring BootGradleKotlin
- Flink實戰:消費Wikipedia實時訊息
- linux是用來幹嘛的?Linux運維平時都做什麼Linux運維