嵌入式Linux OS與Windows CE相比的優(yōu)點:
第一

inux是開放源代碼,遍布全球的眾多Linux愛好者都是Linux開發(fā)者的強大技術支持者;Windows CE目前6.0內核全部開放,GUI不開放。第二:Linux的內核小、效率高;Windows CE相比,占用過多的RAM。第三Linux是開放源代碼的OS,在價格上極具競爭力,適合中國國情。Windows CE需要版權費用。第四Linux不僅支持x86芯片,還是一個跨平臺的系統。更換CPU時就不會遇到更換平臺的困擾。第五,Linux內核的結構在網絡 方面是非常完整的,它提供了對包括十兆位、百兆位及千兆位的以太網絡,還有無線網絡、Token ring(令牌環(huán))和光纖甚至衛(wèi)星的支持,目前WINCE的網絡功能也比較強大。
嵌入式Linux OS與Windows CE相比的弱點:
第一:LINUX開發(fā)難度較高,需要很高的技術實力,WINCE開發(fā)相對較容易,開發(fā)周期短,內核完善,主要是應用層開發(fā)。第二:LINUX核心調試工具 不全,調試不太方便,尚沒有很好的用戶圖形界面,WINCE的GUI豐富,開發(fā)工具強大;第三,系統維護難度大。Linux占用較大的內存,如果去掉部分 無用的功能來減小使用的內存,但是如果不仔細,將引起新的問題。
1. 驅動與應用的數據交互:
對 于驅動中分配的內存,windows 通過memorymap 將驅動中的內存空間映射到應用層,應用和驅動是通過不同的地址同一地址空間的數據操作;而linux中驅動與應用層若存在數據交互的話,是通過 CopyToUser, CopyFromUser進行的,看上去在這點上windows的效率會更高些。linux也有類似的mmap機制。可以把內核態(tài)的地址映射到用戶空間 中。
Linux中是在應用中通過調用IOctl讓等待在驅動中進行,此時驅動還可以處理其它任務,可以得到響應的事件,并通知在等待中的任務結束,從而應用程序可以繼續(xù)執(zhí)行下去。