Windows CE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色
Linux是一种自由和开放源码的类Unix操作系统, 存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来 讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于天才程序员林纳斯•托瓦兹。
Windows Linux 不同点
1. 驱动与应用的数据交互:
对 于驱动中分配的内存,windows 通过memory map 将驱动中的内存空间映射到应用层,应用和驱动是通过不同的地址同一地址空间的数据操作;而linux中驱动与应用层若存在数据交互的话,是通过 Copy To User, Copy From User进行的,看上去在这点上windows的效率会更高些。linux也有类似的mmap机制。可以把内核态的地址映射到用户空间 中。
2.当应用与驱动需要同步时:
Linux中是在应用中通过调用Ioctl让等待在驱动中进行,此时驱动还可以处理其它任务,可以得到响应的事件,并通知在等待中的任务结束,从而应用程序可以继续执行下去。
Windows如果将等待放到驱动中的话,会发现驱动就在那死等了,不再响应其它输入。因此,windows中的等待是在应用中回调用wait object函数。
3 WinCE操作系统实现了进程/线程两级管理模型。
linux本身不支持线程,它支持进程一级。如果要使用线程的话,需要使用线程库。 |