打印
[ARM入门]

WinCE与Linux有何区别?

[复制链接]
1613|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
flyday|  楼主 | 2013-8-30 13:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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本身不支持线程,它支持进程一级。如果要使用线程的话,需要使用线程库。

相关帖子

沙发
airwill| | 2013-8-30 15:06 | 只看该作者
谢谢, 看了这段文字, 很有收获

使用特权

评论回复
板凳
wangguidianzi| | 2013-9-4 15:08 | 只看该作者
学习了

使用特权

评论回复
地板
ymind| | 2013-9-4 22:10 | 只看该作者
第3点不认同。wince的进程线程模型也就到linux的LinuxThread的地步,离NPTL还有距离。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

13

帖子

0

粉丝