嵌入式操作系统微内核研究.ppt
嵌入式操作系统微内核研究,指导教师:xxx 学 生:xxx2009级电子信息技术及仪器专业,毕业设计,毕业设计开题报告,一、选题意义二、国内外研究现状概述三、主要研究内容四、课题研究预期目标五、研究工作安排及进度,一、课题背景、目标及意义,目前计算机技术、微电子技术、嵌入式系统技术得到了飞速的发展,能源、交通、工业、医疗等行业都使用着嵌入式系统。随着人们需求的提高,实时操作系统也得到了空前的发展,数据的处理能力有了很大的提高,现在的处理器芯片含有很多种类,而以前的只包含单独的芯片,现在的内核包含其他很多的应用功能。实时系统可以通过一个单处理器系统来实现,也可以用多处理器系统来实现;实时调度是指在有限的系统资源下,为一系列任务决定何时运行,并分配任务运行除CPU之外的资源,以保证其时间约束、时序约束和资源约束得到满足。实施调度算法是保障实时系统的时限性和高可靠性的主要算法之一,一直是实时系统研究的热点问题。因此在实时操作系统中,任务调度是嵌入式实时操作系统的一个重要概念,也是其技术核心之一。针对嵌入式实时系统任务的调度的特点,在微内核结构中,大多采用的是基于优先级的可抢占式任务调度算法。操作系统为每一个任务分配一个优先级,调度程序总是选择优先级最高的就绪任务运行。,二、国外研究现状,从上世纪八十年代起,国际上就出现了一些商用嵌入式系统和专用操作系统的开发,二十多年来,嵌入式系统和专用操作系统的应用范围已比较广泛,下面介绍一些重要的嵌入式操作系统。C/OS-II是由美国人Jean J.Labrosse编写的一个公开源码的、微内核嵌入式实时操作系统内核。QNX系统是由加拿大QNX软件公司推出的,它建立在微内核和完全地址空间保护基础之上,具有实时、稳定、可靠及易于扩展等特点。3Com公司的Palm OS是一种专门为掌上电脑开发的32位的嵌入式操作系统。Microware OS-9是一款来自RadiSys公司的高性能、高可靠性实时操作系统。在国内,嵌入式操作系统可分为两大类:一类是具有自主知识产权的操作系统,如“女蜗Hopen”操作系统、夏桑2000操作系统和DelatOS操作系统等。另一类是基于Linux的操作系统,其中中软Linux、红旗Linux、东方Linux是业界的代表。,三、研究内容要点,Windows CE、VxWorks、QNX实时操作系统都是商业软件,价格非常昂贵,不公开源代码,这些都极大的限制了国内许多开发商的开发使用。而且在嵌入式系统的开发中,不公开系统源代码给上层应用开发人员带来了极大的不便。虽然Linux源代码公开,但是Linux不支持任务抢占,所以在实时性方面不能称为真正的实时内核。而由Jean JLabrosse开发的嵌入式实时操作系统C/OS-II就弥补了上述缺点,它的源代码公开,为广大嵌入式爱好者和开发者提供了学习、研究嵌入式操作系统的一个优秀范例,它的内核是占先式内核设计,属于真正的实时系统。通过对该系统的学习和研究,可以了解一个实时操作系统在系统内核结构、任务管理、任务间通讯和同步等方面的实现方法和一些设计技巧。,通过对该系统源代码的深入研究,可以自主开发出满足开发项目需要的操作系统内核,而且针对该系统中的一些不足之处,也可以在实时性和稳定性方面加以改进,可以在具体的项目中针对不同主芯片的特点做出最大的系统优化。因此本文的研究工作是基于C/OS-II操作系统。本文旨在对C/OS-II的内核进行比较详细的分析,首先对实时操作系统和C/OS-II 进行简单介绍,而后针对各个模块包括C/OS-II中的任务、中断管理、内存管理、时钟节拍等进行局部剖析,最后从实时性和稳定性两个方面说明了C/OS-II 的可靠性。,三(1)C/OS-内核基本功能,任务管理最多管理64个任务,8个系统任务,56个用户任务;提供了任务管理的各种函数调用,包括任务创建、删除、改变优先级、挂起和恢复等。系统初始化时自动创建空闲任务和统计任务。,C/OS-内核框架基本功能,任务调度抢占式多任务系统设计所有任务优先级唯一,并标识该任务两种任务调度方式:任务级任务切换 中断级任务切换,任务调度的任务切换方式:,C/OS-内核框架基本功能,C/OS-内核框架基本功能,内存管理C/OS把连续的大块内存按分区来管理。每个分区中都包含整数个大小相同的内存块,但不同分区之间内存块的大小可以不同。用户需要动态分配内存时,选择一个适当的分区,按块分配内存。释放内存时将该块放回它以前所属的分区。这样就能有效解决内存碎片的问题。,三(2)C/OS-裁剪功能结构,文件系统,远程函数,通信软件,其他应用,任务管理,任务调度,时间管理,任务管理,任务同步于通信,BSP,硬件,三(3)C/OS-裁剪软件结构,应用软件(用户代码),与处理器类型无关OS_CORE.C OS_SEM.COS_FLAG.C OS_TAXK.COS_MBOX.C OS_TIME.COS_MEM.C uCOS_II.COS_MUTEX.C uCOS_II.HOS_Q.C,配置文件(与应用程序有关)OS_CFG.HINCLUDES.H,与处理器有关(移植)代码OS_CPU.H OS_CPU_A.ASM OS_CPU_C.C,三(4)C/OS移植五个环节,C语言开发工具,编写代码,测试,uC/OS移植,函数封装,CPU选择,三(5)C/OS移植C语言开发工具,C语言开发工具,产生可重入代码,支持嵌入式汇编,从C中打开和关闭中断,在C源码中插入汇编语言,直接从C中允许和禁止中断,提供功能,三(6)C/OS与CLinux的对比,四、课题预期目标,首先,要认识以及了解基于C/OS内核的操作系统的功能以及优缺点。其次,能通过对C/OS内核的了解,进而熟悉它的用处,同时对其不足进行改进,使它更适用于嵌入式操作系统。再次,从对一个具体内核的研究了解到其他内核的基本知识,知道常用内核的优缺点以及适用的情况。最后,希望这次的研究对自己以及他人能起到一定的帮助,对以后的学习工作起到一定的作用。,五、课题研究进度表,时间 内容 学习知识,收集资料,撰写开题报 告 开题答辩,英文文献翻译,确定设 计方案 进入毕业设计场地,开展毕业设计 系统软硬件设计完毕,设计中期检 查 201 系统调试,撰写毕业论文 毕业设计验收 文档和材料整理,准备答辩2013.6.3 进行毕业答辩 进行论文整理2013.6.10 上交最终论文,感谢各位老师的指导与帮助,