[ARM入门] WinCE与Linux有何区别?

[复制链接]
 楼主| 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

粉丝
快速回复 在线客服 返回列表 返回顶部

5

主题

13

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部