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