微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > ARM技术讨论 > WinCE与Linux有何区别?

WinCE与Linux有何区别?

时间:10-02 整理:3721RD 点击:

嵌入式Linux OS与Windows CE相比的优点:
第一:Linux是开放源代码,遍布全球的众多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开发板技术讨论区


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top