1、嵌入式软件开发导论,同济大学软件学院 2005,2. 嵌入式操作系统,目录,什么是嵌入式操作系统? 常用嵌入式操作系统简介 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,什么是嵌入式操作系统?,
2、嵌入式系统是使用特定嵌入式软件完成特定功能的计算机系统,嵌入式操作系统作为软件的组成部分,为嵌入式软件的开发和运行提供良好的环境。嵌入式系统可以是基于ROM或者是磁盘的系统,类似PC,但它并不能替代通用计算机系统。,什么是嵌入式操作系统?,模块化 可升级 可配置 小内存损耗 CPU支持 设备驱动 等等.,什么构成实时操作系统RTOS?,多线程和抢占式调度 由于非时限驱动OS的存在,具有线程优先级 必须支持可预测线程同步机制 优先级继承系统,常用嵌入式操作系统,Microsoft Embedded NT/XP “实时” 控制 Windows CE (CE.NET) Internet 设备 Poc
3、ket PC 2002 Handheld PCs and PDAs Wind River Systems VxWorks pSOS,目录,什么是嵌入式操作系统? 常用嵌入式操作系统简介 Windows Embedded VxWorks Embedded Linux,微软的移动平台,更强的功能,Windows Embedded 家族,目录,什么是嵌入式操作系统? 常用嵌入式操作系统简介 Windows Embedded VxWorks Embedded Linux,VxWoks,VxWorks 是风河公司开发的一款商用硬实时操作系统 主要思想:在嵌入式系统中最大限度地实现内核的时间可预测性,根据
4、用户定义的任务优先级对任务实现调度。给用户最大的控制权,VxWoks,为追求系统的实时性而设计的,并不是以通用OS为设计目标。 去掉了一些OS模块,因为这些模块在某种程度上会影响系统的实时性 (如在内存管理中没有采用页面管理模式,采用的是平板式内存。,VxWoks,任务调度采用的是基于优先级的抢占式任务调度模式,优先级分256级(0-255) 用户可以动态的改变优先级,但是这种做法不提倡 用户可以锁定一个任务使它不被更高的任务或中断抢占 允许使用固定优先级响应时间来检查任务调度的性能,VxWoks,资源共享和优先级继承机制 采用最优化的上下文切换和中断返回机制. 内核从不禁止非屏蔽中断 NMI
5、 (non-maskable interrupts),VxWoks 缺点,缺少某些OS特性 保证时限要求是设计者自己的任务(系统的灵活性带来的弊端) 不支持很多应用和APIs(只支持部分POSIX标准的函数集) 尽管采用了平板式内存管理,但是由于内存的动态分配,仍然存在内存段,这样仍然存在时间上的不可预测性,VxWoks 缺点,应用领域主要局限在对实时性要求较严格的硬实时系统中 带给用户最大的控制权的同时,用户对系统的实时性调度责任也更大,Tornado 集成开发环境,GDB 调试工具,WindView 多任务跟踪和观察工具,目录,什么是嵌入式操作系统? 常用嵌入式操作系统简介 Windows
6、 Embedded VxWorks Embedded Linux,主要内容,嵌入式Linux概览使用嵌入式Linux的开发过程嵌入式Linux与Windows CE,将Linux嵌入到,各种设备中:,NASA 个人助理,开发过程,Linux 操作系统选择,操作系统的移植与改进,Driver and Application software development,从系统设计,测试,Rehat,bluecat,RTLinux,Monta Vista Linux,RTAI,http:/linux.orghttp:/www.gnu.org,Tekram,HP,Intel,嵌入式Windows 与,嵌
7、入式Linux,Jerry Krasner与Rick Rehrbraum 之争,版权费,开发环境,功能,上市时间,开人员数,非常便宜,并非所有的嵌入式windows产品都便宜,更好,不同意,更多,不同意,更短,更少,不确定,不确定,硬件支持,差不多,Linux更好,嵌入式Windows 与,嵌入式Linux,目前嵌入式系统项目中使用的目标操作系统以及二年后使用的操作系统,2002,数据来自EDC,两者都呈强健的上升趋势!,续,作业,Vxworks操作系统有哪些优缺点? 什么是嵌入式embedded Linux?给出几个例子。 与嵌入式Linux相比嵌入式Windows有何优点? 应用Windows CE与嵌入式Linux进行嵌入式系统开发,二者的开发流程有什么不一样?,