《Linux嵌入式實時應用開發實戰(原書第3版)》——1.2 什麼是實時
本節書摘來自華章計算機《Linux嵌入式實時應用開發實戰(原書第3版)》一書中的第1章,第1.2節,作者:(美)Doug Abbott 更多章節內容可以訪問雲棲社群“華章計算機”公眾號檢視。
1.2 什麼是實時
實時的概念更難解釋。實時的基本含義是我們期望計算機對它的環境即時響應。但是什麼是“即時”呢?有人認為實時意味著真的很快,這並不完全正確。實時僅僅意味著在系統執行的環境裡足夠快。如果我們談論的是控制汽車發動機的計算機,那就是快!這個計算機需要決定每次發動機轉一圈時對燃料流量、點火時間的控制。
另一方面,考慮一個或多個計算機控制的化工廠,計算機系統負責控制過程和檢測潛在的破壞性故障。因為化學過程的時間常數最少在幾秒到幾分鐘之間,所以可以假設計算機系統可以有足夠的時間處理任何故障以避免造成損失。
但是假設當故障發生時,計算機正在列印一份關於上週生產情況的長篇報告或正在處理工資單,那麼它對潛在的緊急情況的反應有多快呢?
實時處理的本質不僅在於計算機對它的環境有足夠快速的響應,而且在於足夠快的可靠響應。發動機的控制計算機必須在發動機轉動的每一圈都調整燃料流量和點火時間。如果有所延遲,發動機就不能正常工作。化工廠的控制器必須有足夠的時間正確檢測和響應異常情況以避免事故,如果不能,這個控制器就是無效的。
我覺得下面這句話說得很恰當:
實時系統處理的正確性不僅要求處理的邏輯正確,也要求在規定時間內有結果。如果系統的時間約束不能被滿足,那麼可以說系統就失效了。
——Donald Gillies,實時處理常見問題
所以實時程式設計的藝術就是在隨機的非同步事件中,設計能可靠地滿足時間約束的系統。的確,這說起來容易做起來難,目前有很多研究實時系統原理的文獻和開發工作。
相關文章
- 什麼是實時渲染,實時渲染是如何工作的
- 實時機器學習是什麼,面臨哪些挑戰?機器學習
- 【原創】linux實時應用如何printf輸出不影響實時性?Linux
- 什麼是資料實時同步,為什麼資料實時同步很重要
- 什麼是實時渲染,3D實時渲染的優缺點3D
- 攻防實戰是什麼?
- 檢視DG是否是實時應用
- Java實用系統開發指南具體什麼時候出版Java
- DataGuard實時應用
- 到底什麼是實時資料倉儲?
- 檢視Oracle DG是否是實時應用Oracle
- 實戰Comet 應用程式開發
- Data Guard備庫日誌的實時應用與非實時應用
- 應用實踐——新東方實時數倉實踐
- Vue開發實戰-唐金州-極客時間Vue
- 談Web應用開發時我們談什麼Web
- Kurento實戰之四:應用開發指南
- IDEA開發Spark應用實戰(Scala)IdeaSpark
- 什麼是分佈分析?如何應用實踐?
- 如何用 React Native 開發實時音視訊應用React Native
- Oracle11DATA GUARD實時應用加實時查詢功能Oracle
- 京東實時資料產品應用實踐
- Spark實時計算的開發平臺RCS——阿里流式分析實戰Spark阿里
- iOS專案開發實戰——使用定時器實現迴圈操作iOS定時器
- RunLoop實戰:實時卡頓監控OOP
- 「實戰」搭建完整的IM(即時通訊)應用(2)
- 「實戰」搭建完整的IM(即時通訊)應用(1)
- JavaRESTfulWebService實戰(第2版)1.2 解讀REST服務JavaRESTWeb
- 什麼是反應式應用開發?
- 《企業級ios應用開發實戰》一第1章企業應用的話題iOS
- 為什麼要寫《機器學習實踐應用》這本書機器學習
- 實時重新載入go應用Go
- oracle臨時表實際應用Oracle
- iOS開發實戰-第5節-微博內容中同時顯示多張照片iOS
- 大資料開發實戰:實時資料平臺和流計算大資料
- Linux已可勝任實時任務應用(轉)Linux
- iOS專案開發實戰——如何進行延時操作iOS
- 深入實時 LinuxLinux