日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

嵌入式OS入门笔记-以RTX为案例:一.简介

發布時間:2023/12/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 嵌入式OS入门笔记-以RTX为案例:一.简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

嵌入式OS入門筆記-以RTX為案例:一.簡介

?

? ? ? ? 最近在做OS相關的項目,一方面涉及到大量(通用)操作系統的概念和理解,另一方面要深入到一個小實時操作系統的源代碼中,并在此操作系統上開發應用。雖然說內容上并不難,但是操作系統本身是一個非常基礎,影響深遠的計算機科技的小分支,所以把操作系統的知識重新整理一遍,同時結合實時操作系統的實際情況,形成這樣一套筆記,一是對項目的一個回顧,另外也方便將來回來查閱吧。

?

1.操作系統的角色

? ? ? ? OS其實是一個很宏大的概念,不好捉摸。根據維基百科的定義,OS是一組管理硬件和為應用軟件提供服務的軟件。這個說法很精練但依然抽象。我覺得大部分OS扮演著兩個最主要的角色:硬件的抽象表達者和資源的管理者

?

硬件的抽象

? ? ? ? 如果要讀取硬盤中的某一個數據,首先得確定盤片,然后確定磁道和扇區,最后通過磁頭讀取進內存。這實際上是一系列復雜的機械和電子的操作,雖然說復雜,但是影響最終運作結果的因素(讀寫地址)不多,大部分操作是對于不同的讀寫都是相同的。如果每一次執行讀寫硬盤操作,應用程序都要明確地對硬件作出準確的指示,那么應用程序會臃腫無比,程序員也會為編寫這樣的程序感到非常無趣。

?

? ? ? ? 正如David Wheeler的那句名言:“Any problem in computer science can besolved with another layer of indirection.”OS的首要任務正是把這些繁雜的底層硬件的執行細節隱藏,提供給程序和用戶一個相對抽象的概念。例如把一系列的機械和電子操作轉化為簡單的一句代碼-讀取硬盤(地址)。

?

? ? ? ? 一般普通計算機使用者之所以不熟悉底層的這些細節,也正是因為有OS,這個硬件的抽象的存在。他們對計算機運作的認識,只是一個建立在OS基礎之上的心理模型(mental model)。

??

Hard ?Disk Driver - 《Operating System Concepts》

?

資源的管理

? ? ? ? 最早期的計算機是沒有操作系統的,一般會有一個操作人員(operator)負責給程序排序,安排下一個時間段運行何程序。其實這就是操作系統的雛形,而這時這個操作人員的主要任務就是分配計算機資源。操作系統的核心其實就是資源的分配和管理,特別是在多程序(multiprogramming)的環境下。如何優化資源的分配,減少有害的競爭,提高某些資源的共享效率,都是操作系統關心的核心話題。這里說的資源主要指的是硬件資源,例如內存,CPU,網絡帶寬和I/O等等。

??

? ? ? ? 其實縱觀很多OS的教科書的組織,一般主要的討論話題不外乎進程內存外設。這些話題都離不開OS的這兩個角色,例如進程管理,很大一部分就是關于資源的分配,而進程本身又是OS對程序的一個抽象。所以我覺得具體學習研究OS時,只要能夠抓住1.它抽象的對象和抽象的程度;2.如何合理的優化資源的安排,就能夠達到學習研究的目的。

?

2.實時操作系統

? ? ? ? 其實嵌入式操作系統不一定就是實時操作系統(RTOS),反之亦然。但很多場合下嵌入式開發應用都對實時性的要求很高,所以這兩個概念經常混用。RTOS最突出的就是它要在deadline之前完成任務,其中又分兩種,一種是硬deadline,如果不能在規定deadline前完成,那么后果會很嚴重甚至產生一些致命的錯誤;而軟deadline則稍微寬松一點,即使不能夠在deadline前完成,deadline后繼續完成任務直至完成也是可以接受的。

?

? ? ? ? 一個很通常的誤區就是,RTOS和通用OS的最大差別是RTOS要快。雖然速度快很重要,但這不是RTOS的核心特征。RTOS最為重要的是其行為的決定性(determinism)可預測性(Predictability),同時RTOS對系統的響應速度要求也很高。當然,RTOS的容錯,糾錯能力也要足夠強。

?

? ? ? ? 這些特性其實都是一些極端工業環境下對OS的要求,例如在核反應和化學反應中,非常精確的控制,特別是在時間上的控制,往往決定了整個工業過程的成敗,而且失敗的代價往往非常高。所以一個好的RTOS,雖然沒有一些通用的操作系統全面,但其行為的差異(variance)會比通用OS小得多。


3.RTX

我會以Keil開發的RTX實時操作系統作為主要的參考操作系統。這里面有幾個原因:

  • RTX五臟俱全,是個完整且優秀的實時操作系統
  • RTX對ARM設備Cortex-M系列的芯片有比較好的支持(自家產品)
  • 更重要的是,RTX不僅免費,而且其代碼是開放的,是可以自由查閱的!


這些基本情況就寫到這里,下次我會更具體地介紹一下RTX和其他涉及到的工具。

?

文章轉載自:http://blog.csdn.net/raym0ndkwan/article/details/32859989

總結

以上是生活随笔為你收集整理的嵌入式OS入门笔记-以RTX为案例:一.简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。