Session 2: Testing Windows CE .NET 嵌入式软件开发导论 2. 嵌入式操作系统 同济大学软件学院 2005 Alan Page, Microsoft
目录 什么是嵌入式操作系统? 常用嵌入式操作系统简介 Windows Embedded VxWorks Embedded Linux
目录 什么是嵌入式操作系统? 常用嵌入式操作系统简介 Windows Embedded VxWorks Embedded Linux
各式各样的OS 桌面机 服务器 嵌入式 Windows (9X, XP Home, XP/2000 Pro) Mac Windows (XP/2000 Server &Advanced Server) Unix Varieties 嵌入式 Many
什么是嵌入式操作系统? 嵌入式系统是使用特定嵌入式软件完成特定功 能的计算机系统,嵌入式操作系统作为软件的 组成部分,为嵌入式软件的开发和运行提供良 好的环境。 嵌入式系统可以是基于ROM或者是磁盘的系统, 类似PC,但它并不能替代通用计算机系统。
什么是嵌入式操作系统? 模块化 可升级 可配置 小内存损耗 CPU支持 设备驱动 等等...
什么构成实时操作系统RTOS? 多线程和抢占式调度 由于非时限驱动OS的存在,具有线程优先级 必须支持可预测线程同步机制 优先级继承系统
常用嵌入式操作系统 Microsoft Wind River Systems Embedded NT/XP “实时” 控制 Windows CE (CE.NET) Internet 设备 Pocket PC 2002 Handheld PC’s and PDA’s Wind River Systems VxWorks pSOS
目录 什么是嵌入式操作系统? 常用嵌入式操作系统简介 Windows Embedded VxWorks Embedded Linux
Session 2: Testing Windows CE .NET 微软的移动平台 Windows Mobile Smartphone 信息消费 基本数据浏览 把PDA融入电话 可以与Exchange交互 .NET Compact Framework ASP.NET 移动控件 Pocket PC 浏览和输入数据 把电话融入PDA 可以与Office, Exchange和SQL Server交互 笔记本PC 复杂的文档编辑和读写 桌面键盘输入 键盘和鼠标输入法 完整的.NET framework 支持 Windows XP/XPE 平板电脑 支持数字墨水 可以支持键盘,也可以把键盘拿走 键盘、鼠标、数字墨水和语音输入 完整的 .NET framework支持 提供笔,数字墨水,手写和语音识别API Windows CE 小型个人产品 单向网络 信息消费 Slide objective: How to position all of Microsoft’s mobile platform offerings. Tablet PCs – best when full PC applications are required, a larger screen is necessary, and battery life (especially coupled with constant wireless connectivity) as well as weight are sufficient to support the user’s typical tasks and working environment. Pocket PCs – best for PIM, e-mail, and vertical application data access and data entry when a smaller, wireless device is required Smartphones – best when voice communications, PIM, and e-mail are needed in a small, wireless device. Appropriate for data viewing and very limited data entry SPOT watches – best for an extended clock experience including PIM and specific consumer information 更强的功能 Alan Page, Microsoft
Windows Embedded 家族
目录 什么是嵌入式操作系统? 常用嵌入式操作系统简介 Windows Embedded VxWorks Embedded Linux
VxWoks VxWorks 是风河公司开发的一款商用硬实时操作系统 主要思想:在嵌入式系统中最大限度地实现内核的时间可预测性,根据用户定义的任务优先级对任务实现调度。 给用户最大的控制权
VxWoks 为追求系统的实时性而设计的,并不是以通用OS为设计目标。
VxWoks 任务调度采用的是基于优先级的抢占式任务调度模式,优先级分256级(0-255) 用户可以动态的改变优先级,但是这种做法不提倡 用户可以锁定一个任务使它不被更高的任务或中断抢占 允许使用固定优先级响应时间来检查任务调度的性能
VxWoks 资源共享和优先级继承机制 采用最优化的上下文切换和中断返回机制. 内核从不禁止非屏蔽中断 NMI (non-maskable interrupts)
VxWoks – 缺点 缺少某些OS特性 保证时限要求是设计者自己的任务(系统的灵活性带来的弊端) 不支持很多应用和APIs(只支持部分POSIX标准的函数集) 尽管采用了平板式内存管理,但是由于内存的动态分配,仍然存在内存段,这样仍然存在时间上的不可预测性
VxWoks – 缺点 应用领域主要局限在对实时性要求较严格的硬实时系统中 带给用户最大的控制权的同时,用户对系统的实时性调度责任也更大
Tornado —— 集成开发环境
GDB —— 调试工具
WindView ——多任务跟踪和观察工具
目录 什么是嵌入式操作系统? 常用嵌入式操作系统简介 Windows Embedded VxWorks Embedded Linux
主要内容 嵌入式Linux概览 使用嵌入式Linux的开发过程 嵌入式Linux与Windows CE
将Linux嵌入到 各种设备中: NASA 个人助理
开发过程 Rehat,bluecat,RTLinux,Monta Vista Linux,RTAI,… Linux 操作系统选择 从系统设计 http://linux.orghttp://www.gnu.org… 操作系统的移植与改进 测试 Driver and Application software development Tekram,HP,Intel,…
嵌入式Windows 与 嵌入式Linux 版权费 非常便宜 开发环境 更好 不同意 功能 更多 不同意 更短 上市时间 不确定 开人员数 更少 不确定 硬件支持 差不多 Linux更好 Jerry Krasner与Rick Rehrbraum 之争
嵌入式Windows 与 嵌入式Linux 续 两者都呈强健的上升趋势! 目前嵌入式系统项目中使用的目标操作系统以及二年后使用的操作系统,2002,数据来自EDC
作业 Vxworks操作系统有哪些优缺点? 什么是嵌入式embedded Linux?给出几个例子。 与嵌入式Linux相比嵌入式Windows有何优点? 应用Windows CE与嵌入式Linux进行嵌入式系统开发,二者的开发流程有什么不一样?