飞凌S5PV210开发板知识分享WinCE与Linux有何区别? 点击:134 | 回复:0



forlinx2013

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:23帖 | 4回
  • 年度积分:0
  • 历史总积分:50
  • 注册:2013年2月28日
发表于:2013-07-04 09:42:17
楼主

嵌入式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开发板技术讨论区



热门招聘
相关主题

官方公众号

智造工程师