嵌入式軟體系統中是否一定要有作業系統,為什麼

2021-05-04 15:23:21 字數 2826 閱讀 2817

1樓:萬能導師

作業系統是一個處理許多不同任務的cpu,如果您沒有作業系統,就只能使用執行一項任務。

1.輪詢:在處理主要任務時,我們不斷地詢問是否應該處理其他任務。如果是這樣,我們應該處理其他任務

2.前臺和後臺:處理主任務時設定中斷。可以根據外部情況觸發中斷來中斷主任務來處理中斷任務

3.當有一個作業系統時,可以同時做很多事情。為什麼一個cpu可以處理這麼多事情?作業系統分配cpu的時間,在短時間內(通常少於0.02秒)執行任務的一部分,然後在一個連續的迴圈中切換到下一個任務。

因為切換時間短,處理速度快,所以看起來您一次要做很多事情。

擴充套件資料:

嵌入式系統通常是一個資源受限的系統,因此直接在嵌入式系統的硬體平臺上編寫軟體是困難的,有時甚至是不可能的。

軟體實現基於計算機語言。目前,計算機語言已發展成為演算法語言、資料庫語言和智慧**語言等多種型別。

在幾十種重要的演算法語言中,c&c++語言以其強大的功能和靈活的結構,日益成為計算機軟體工作者的親密夥伴。

此外它還提供了高度結構化的語法、簡單統一的軟體構造,使得作為sde資料庫基本組成部分的子程式庫的設計和構造極為方便。

2樓:

首先你得明白作業系統式幹嗎的

作業系統就是讓一個cpu處理多個不同的任務沒有作業系統的時候呢,只能處理一個任務,該處理其他任務時怎麼辦呢1,輪詢:在處理主任務的時候不斷的查詢是不是該處理其他的任務的,如果是就去處理其他任務,處理完了以後呢就馬上回到主任務上

2,前後臺:處理主任務的時候設定了中斷,中斷可根據外部情況觸發,打斷主任務,去處理中斷任務,中斷任務處理完了又回到主任務

而有作業系統的時候呢就能同時處理很多工,只有一個cpu為什麼能處理很多事情呢,作業系統把cpu的時間分割,每一小段時間執行一個任務的一部分(這一小段時間很短,一般在0.02秒以下),然後切換到下個任務上,不斷的迴圈。由於切換時間很短,處理速度又很快,這樣在人看來就是好像同時處理了很多工一樣

所以用不用作業系統要根據你的應用情況

3樓:水野未知

現在主流的嵌入式軟體系統的架構一般有:

1.輪詢系統。

2.前後臺系統。

3.帶嵌入式作業系統。

1是最簡單的。比如以按鍵為動作驅動源的。

2是最複雜的(從開發角度來說)。主要核心是任務排程,時間片劃分輪轉和任務劃分。這是門藝術活。再複雜點就可以加點記憶體管理和程序間通訊,這已經接近嵌入式作業系統的核心了。

3就是應用各種通用的嵌入式作業系統。ucos//ii,uclinux,...

4樓:匿名使用者

不一定簡單的任務就不用作業系統了,複雜的任務有作業系統好弄一些。

就像是如果你只是進行加減乘除運算,一個簡單的計算器就夠了

如果你進行復雜的運算,還有其它的任務在裡面,那就需要電腦了

5樓:

早期的沒有,因為系統太簡單,可能只是一些微控制器而已吧,應該談不上是個嵌入式系統,現在一般都會有的。

和普通pc一樣啊,要處理複雜的應用程式,沒有作業系統的支援,應用程式開發會變得困難無比。

嵌入式系統開發與軟體開發的區別

6樓:風翼殘念

1、平臺開發種類不同

嵌入式系統開發是對於除了電腦之外的所有電子裝置上作業系統的開發,開發物件有手機,掌上電腦,機電系統等,一般由嵌入式微處理器、外圍硬體裝置、嵌入式作業系統以及用 戶的應用程式等四個部分組成。

軟體一般是用某種程式設計語言來實現的。通常採用軟體開發工具可以進行開發。軟體分為系統軟體和應用軟體,並不只是包括可以在計算機上執行的程式。

軟體開發平臺源於繁瑣的實踐開發過程中。開發人員在實踐中將常用的函式、類、抽象、介面等進行總結、封裝,成為了可以重複使用的「中介軟體」,而隨著「中介軟體」的成熟和通用,功能更強大、更能滿足企業級客戶需求的——軟體開發平臺應運而生。

2、資源限制不同

軟體實現的根據是計算機語言。時至今日,計算機語言發展為演算法語言、資料庫語言、智慧模擬語言等多種門類,在幾十種重要的演算法語言中,c&c++語言日益成為廣大計算機軟體工作人員的親密夥伴,這不僅因為它功能強大、構造靈活。

更在於它提供了高度結構化的語法、簡單而統一的軟體構造方式,使得以它為主構造的sde資料庫的基礎成分——子程式庫的設計與建設顯得異常的方便。

3、工具使用不同

嵌入式系統開發需要與底層的硬體裝置進行通訊和互動操作。與裝置相關。主要是對裝置控制和操作。

對編譯器的要求較高,不同處理器平臺有各自的編譯器和除錯軟體。需要專門的除錯工具,尤其是一些專用裝置。

與底層操作通過系統軟體的介面函式api來實現,與裝置無關。主要是資料處理和ui介面處理。對編譯器沒有特別的要求,通常使用一些通用的編譯器和除錯軟體。

4、**質量要求

嵌入式系統對**的質量要求高,要求可執行的程式佔用的儲存空間少。由於多工同時執行,產生的錯誤比較多,因此在穩定性和效能上要求很高。

軟體開發對**的質量沒有特別的要求,在儲存空間上也沒有太多的限制。在穩定性和效能方面沒有嵌入式系統要求那麼嚴格。

7樓:手機使用者

應用軟體,比如qq,瀏覽器啊,**器等等都是應用軟體,系統軟體就是作業系統,比如windows7

放到嵌入式裡邊也類似,嵌入式系統開發就是移植一些嵌入式系統,比如linux,vxworks等,但是往往一個產品開發過程中光有系統是不行的,需要一些功能性軟體,比如你光裝個windows系統,什麼應用軟體也沒有,也幹不了一些具體的工作,所以就需要另外開發一些嵌入式應用軟體,來完成某個具體的工作

兩個的前景沒什麼好分的,技術到了一定階段,這兩者可以互相轉,都沒什麼問題,很多嵌入式開發者都是兩者都在做

嵌入式系統工程師和嵌入式軟體開發工程師有什麼不同

前者的高度已經不同於後者了,也許前者做的工作你可能感覺很少,比如器件選型,平臺選擇,但是這個沒有幾年的嵌入式經驗,你是沒法做的。前者要求具備的知識更深更廣。後者一般軟體開發工程師自學或者參加嵌入式培訓就可稱職。主要區別在系統工程師和軟體開發工程師概念上。嵌入式要考慮的硬體限制較多比一般軟體工程師。就...

學系嵌入式一定要買開發板嗎

有開發板會更好,學習起來更方便,具體的學習,先從基礎開始需要掌握的基本技能。1 c語言是所有程式語言中的王者 微控制器 dsp 類似arm的種種晶片的程式設計都可以用c語言搞定 因此必須非常熟練的掌握,大學本科教學中的c語言是遠遠不夠的,有兩個非常重要的內容沒有講 檔案的操作 和 io的操作 其中 ...

「軟體工程」與「嵌入式系統工程」哪個好些?或者說哪個好就業。謝謝

精了自然厲害 不精的話 還不如寫個plc又簡單又賺錢 軟體工程嵌入式系統就業問題 比如智慧微波爐,幾個按鈕 一個顯示屏,可以控制整個微波爐的執行。這就是個嵌入式系統控制的。手機也可以說是嵌入式。我的理解就是起控制功能的晶片。嵌入式軟體就是控制系統執行的程式。嵌入式系統可以說是軟體工程裡邊收入最高的,...