帶 OS 的和不帶 OS 的處理器處理多工有什麼區別?

時間 2021-06-04 10:47:25

1樓:唐飆

問題的敘述有些彆扭。處理器不帶OS時,其上執行的程式有「裸機」或者「前後臺系統」程式的叫法。@朱侃傑同學講得比較清楚。

裸機程式,在While(1)迴圈裡面依次呼叫各任務,可以滿足簡單應用。這樣的應用都是一些簡單的自動控制,一般使用8位或16位處理器即可。

但如果要處理更複雜的應用,有更多工需要更多異常處理,則最好加上作業系統,否則裸機程式相當難寫或者根本寫不出來。簡單的作業系統TinyOS、μCOS ,可以執行在8位16位處理器上。μCOS是個非常好的OS,屬於做嵌入式同學的入門必學篇吧。

SMT32一類的處理器+μCOS可以解決日常大部分的應用。所以在校學生學學SMT32+μCOS,工作肯定就不成問題了。

如果應用更為複雜,比如要做GPS導航娛樂影音等,則需要使用更強效能的處理器,帶上WinCE或者Linux等作業系統。哎,不說了,跑題了。。

2樓:朱侃傑

對於簡單的應用,使用不帶OS的處理器在while(1)迴圈中依次呼叫多個任務,並適時用好中斷是完全可行的。

但對於複雜點的應用,還是這麼使用的話就需要考慮到各種異常情況的處理。譬如在while(1)中各任務,一旦有乙個出現異常阻塞或跑飛了,那其他任務也一起無法執行,掛機。如何解決?

使用timer給每個任務規定使用的時間,時間到了即時死在那裡了,呼叫其他任務也照樣執行。再譬如,應用中各任務間需要傳遞資料,在while(1)加中斷的模式中只能使用全域性變數等共享記憶體的方式,那麼存在乙個任務在處理資料時該資料被另乙個任務改動了的情況,如何解決?加鎖加互斥量加訊號量。

再譬如,無OS的情形下,所有的記憶體都自己控制,記憶體申請完了呢?有溢位呢,有非法訪問呢,如何解決?加入對記憶體的管理任務。

這麼乙個個加下去,就是乙個簡單OS的雛形了。

所以,從原理上來說,簡答的理解OS就是在原本處理器加多級中斷裸跑應用的基礎上,對各種情形都增加了預防、保護及限制措施的一種機制、並且能提供根據CPU情形來合理分配應用的一層軟體而已。

3樓:一草

OS的任務切換和純硬體中斷巢狀是不同的

用中斷巢狀的話,每個低優先順序的任務都能被高優先順序的任務切斷,而如果高優先順序的任務不先退出的話,就會完全阻斷低優先順序任務的執行。這樣會給系統設計帶來各種困難——想象一下你的機器有乙個鍵盤和乙個紅外介面,這兩個的優先順序不一樣的話,那要不就是按鍵盤的時候紅外不能響應,要不就是按紅外的時候鍵盤不能響應——多麻煩的事情啊

你可以去試一下中國產的RT-Thread作業系統,全中文文件,我覺得很不錯~

4樓:盧俊

簡單地按照我的理解回答下這個問題吧。如果需要執行的任務比較多、比較複雜的話,不帶OS的處理器管理起來效率會低很多的。OS可以實現高效的任務管理,例如任務的優先順序管理、任務間的高效切換、同步&通訊等等,建議你了解一下ucos,這是最基礎的嵌入式OS之一,了解下它的優點和功能,應該能幫助你了解OS在處理多工時到底有哪些好處。

對於i5處理器和AMD處理器的看法

jiangtao9999 我個人覺得 144hz 沒必要,你要是玩遊戲不如去買個台式電腦了。筆記本限制太多,相同價錢台式電腦是解鎖狀態,而筆記本是各種封頂而鎖定。你是學生,學習知識,之後畢業拿到文憑還有學位是第一位的,而不是拿到每局遊戲第一名。遊戲效能我建議你放放。不過 AMD 這款 CPU 應該自...

請問AMD銳龍處理器和英特爾處理器的對比各自的優劣

洛殤月妖夢 老說法是英特爾家u單核效能強 目前遊戲吃單核,吃多核的遊戲很少 頻率高,遊戲幀數高,但是你得會超,能超到5.0Ghz,無愧遊戲第一首選,但超完散熱你得壓得住,英特爾這十幾年生態發展得也比amd強,許多軟體相容性比a家u要好,具體的你可以去查查資料,我沒怎麼了解過,還有就是總是換介面,意味...

A13處理器和A12Z處理器哪個更好?

草履蟲稽亞娜 我覺得這個不好說。需要提前說明的是,A13是 主要為iPhone設計的處理器 而A12Z是 專為iPad Pro 設計的處理器,那麼身份的差異導致了乙個必然結果 A13會因為手機散熱承載能力較弱,設計時可能會優先考慮功耗。A12Z由於專為iPad Pro設計,可能會不太注重功耗而盡可能...