题目自命题
转自:http://www.programmer-club.com.tw/showSameTitleN/embedded/73.html
雖然嵌入式系統與RTOS有密切的關係,但是在選用前,最好還是釐清一些問題。
1. 你真的需要RTOS嗎?(如果你只需要簡單的應用,RTOS反而會拖慢你的系統)
2. 你的硬體負擔的了RTOS嗎?(RTOS雖然都標榜很小的CODE SIZE、但他所耗用的RAM(Task Stack, Task Structures...),或CPU資源(Context switch損耗,Scheduling 損耗...)等部分,卻著墨很少)
3. RTOS增加的成本有計算過嗎?(即使是免費的,仍有潛在的成本)
4. 你絕對需要他的原因?
如果要我用一句話來回答第四個問題,我會答:程式比較容易寫(也表示開發上會比較快)。我的回答其實是希望淡化:"RTOS是一定要的啦!"的立場!
沒有硬體TIMER的中斷支援,RTOS根本無法做到Preemption,另外,RTOS提供的不同優先權(Priority)的功能,現階段的CPU多有支援,另外,一些SOC開發的特殊功能(例如省電模式、動態調頻等),通常能提供更有效率的使用,只是,在RTOS的加持下,這些功能可能會被隱形、或放棄掉!
如果你的系統很複雜,你真的不用考慮太多,用(RTOS)就對了!如果經驗不是很豐富,又不用考慮成本,用就對了!如果你的人手不足,許多模組要用買的,用就對了!如果沒有RTOS你不會寫程式了,用就對了!
RTOS會耗掉多少資源?(就像我問你,Win-XP能不能在486的電腦上跑一樣?486太弱了嗎...請再想想)一個作業系統的介入能提昇效能?非也非也!RTOS跟我有仇?非也非也!我只是站在反方提出一些看法罷了!
没有评论:
发表评论