专利名称:嵌入式操作系统多任务并行启动优化实现方法
技术领域:
本发明涉及嵌入式操作系统启动优化领域,特别是涉及一种嵌入式操作系统多任务并行启动优化实现方法。
背景技术:
21世纪是“移动为王”的时代已经成为业内人士和广大消费者的共识。近来,计算机和网络技术公司与移动通信产品厂商的纷纷结盟成为了世纪末IT产业最为亮丽的风景之一。新世纪的“移动之争”已经提前拉开了大幕。尤其是移动电话等移动嵌入式设备必将成为主要的竞争方向。
现有的移动嵌入式设备的款式五花八门,功能也日益强大,正朝着移动数据中心的目标坚定地迈进。而嵌入式操作系统在手机中也扮演着重要角色。在操作系统之上开发应用程序可以避免直接和最底层硬件打交道,并能够方便实现许多较为复杂的功能。没有操作系统的支持,移动嵌入式设备就不可能拥有花样不断翻新、令人眼花缭乱的功能。
手机中使用的操作系统和一般的桌面操作系统有较大的区别。诸如DOS、Windows、Linux等电脑操作系统都是通用操作系统,它们针对的是PC或是功能更为强劲的工作站。为了最大幅度地兼容各种软硬件产品,充分发挥它们各自的功能,通用操作系统一般都面面俱到、体积庞大。而移动嵌入式设备中的操作系统却与这些通用操作系统大相径庭。
区别于通用操作系统,这些用于电话系统、数字相机和其他智能化电器中的系统软件被形象地称为“嵌入式操作系统”。实际上,安装有嵌入式微处理器、运行嵌入式操作系统的各种电子设备和产品对人们的日常生活的影响远胜于运行通用操作系统的台式电脑。据统计,目前销售的各种微处理器中有3/4被用于各种嵌入式系统中。嵌入式系统正在悄悄地改变着人们生活、工作、联络和旅行的方式。而嵌入式操作系统就是在嵌入式系统扮演“灵魂”角色的系统软件。因为嵌入式系统中的应用程序必须在极少人工介入的情况下完成高度专业化和实时的工作,这就要求嵌入式OS能为之提供高效的服务和有力的支持。
嵌入式系统中的硬件资源环境一般比较苛刻,嵌入式微处理器和微控制器的内存一般都不大,要在如此紧张的资源下完成复杂的功能,这就要求嵌入式系统软件必须尽量的小巧、稳定和高效。在此情况下,作为移动嵌入式设备用户,如果面对的是一般的通用操作系统,往往无法忍受漫长的启动时间,同时,对于嵌入式操作系统来说,也要尽量缩短其启动时间,以达到用户的要求,并且启动时间已经成为影响用户对产品选择的重要因素,因此,需要采用新的方法来减少嵌入式操作系统的启动时间。
发明内容
本发明的目的在于提供一种嵌入式操作系统多任务并行启动优化实现方法。
本发明解决其技术问题采用的技术方案如下1)多任务确定将一系列的系统服务划分为不同的任务;2)多任务依赖关系分析分析系统中多任务之间的关系,按照其与系统的依赖程度,划分成不同的任务组,不同的任务组之间不具有依赖性,同组内的任务具有相似的依赖性,相应的给予标记,并纪录到系统文件中并保存;3)多任务并行执行操作系统在启动时,在内核引导完毕之后,读取保存的系统文件,按照文件中纪录的任务组关系,同时启动多个任务组内的任务,在同一组内,按照任务标记顺序启动任务,直到所有任务启动完毕为止。
本发明与背景技术相比,具有的有益的效果是本发明是一种基于任务之间依赖关系状况的多任务并行启动方法,其主要功能是系统采用多任务并行启动的方法,系统可以在一定程度上加快启动速度,从而缩短嵌入式操作系统的启动时间。这种方法可以使多个系统服务作为许多“任务”而同步运行。服务并行启动在大量服务需要启动的时候可减少近%50的服务启动时间(1)高效性。在嵌入式操作系统启动时,同时并行启动多个无前后相关依赖的任务,这充分利用了现有移动嵌入式设备CPU强大的分时处理能力;(2)启动时间加快。在嵌入式操作系统启动时,同时并行启动多个无前后相关依赖的任务,使各种系统任务能够根据各任务的依赖关系,并行启动任务,从而能够节省系统资源,节约嵌入式操作系统总的启动时间。
图1是以任务的依赖关系分析的示意图;图2是嵌入式操作系统启动过程的示意图。
具体实施例方式
方法中涉及到相关的符号解释Pj第j个任务Taski第i组任务TaskiPj任务组i中第j个任务。
Pi→Pj任务Pi依赖于Pj。
下面结合附图和实施例对本发明作进一步的说明。
一种嵌入式操作系统多任务并行启动优化实现方法。
第一步多任务确定。将一系列的系统服务划分为不同的任务Pi。
第二步多任务依赖关系分析。
在附图1中,对于已经确定的任务P1,P2,P3,……,Pi,按照其启动的先后顺序,可以确定具有如下依赖关系
其中,以P5为例,有P8依赖于P5,P7依赖于P5,这些是直接存在的依赖关系,同时还存在间接的依赖关系P3依赖于P7,P7依赖于P5,从而P3间接依赖于P5。其他的依赖关系以此类推。
这样,可以确定这些任务之间的分组情况为Task1P5,P7,P8,P3;Task2P11,P12,P2,P4;……如果任务数过多,还可以继续进行分组。
在分组完成后,在文件系统中作出如下记录Task1P5,Task1P7,Task1P8,Task1P3;Task2P11,Task2P12,Task2P2,Task2P4;……同时记录依赖关系表。
这样,对于每一个任务,都有一个组标记和一个组内标记,从而可以使得嵌入式操作系统在启动的时候能够顺利的启动多任务。
第三步多任务并行执行。
在图2中,主要经过三个步骤完成启动过程(1)提取系统文件嵌入式操作系统在内核引导完毕之后,读入记录任务分组的系统文件。
(2)启动并行任务此后,嵌入式操作系统按照系统文件的记录开始进行多任务的启动过程1.对于不同的组之间,由于不同的任务之间没有依赖性,因此按照如下方式启动Task1P5启动,Task2P11启动(同时启动),其他可以同时启动的任务;2.对于相同的组内,由于不同的任务之间具有相关性,因此其启动方式必须按照依赖关系进行,即先启动独立的任务,例如对于Task1,有任务Task1P5,Task1P7,Task1P8,Task1P3,按照依赖关系表,其依赖关系为Task1P5P7→P5P8→P5P3→P7由于所有的任务均依赖于P5,而P3依赖于P7,同时P7的序号小于P8,该组内的启动顺序为Task1P5启动…Task1P7启动…Task1P8启动…Task1P3启动…(3)启动完成所有任务均由嵌入式操作系统启动完成。
权利要求
1.一种嵌入式操作系统多任务并行启动优化实现方法,其特征在于1)多任务确定将一系列的系统服务划分为不同的任务;2)多任务依赖关系分析分析系统中多任务之间的关系,按照其与系统的依赖程度,划分成不同的任务组,不同的任务组之间不具有依赖性,同组内的任务具有相似的依赖性,相应的给予标记,并纪录到系统文件中并保存;3)多任务并行执行操作系统在启动时,在内核引导完毕之后,读取保存的系统文件,按照文件中纪录的任务组关系,同时启动多个任务组内的任务,在同一组内,按照任务标记顺序启动任务,直到所有任务启动完毕为止。
全文摘要
本发明公开了一种嵌入式操作系统多任务并行启动优化实现方法。本发明的方法是定义了通过利用现有移动嵌入式设备CPU强大的分时处理能力,在嵌入式操作系统启动时,同时并行启动多个无前后相关依赖的任务,操作系统在启动时,在内核引导完毕之后,读取保存的系统文件,按照文件中纪录的任务组关系,同时启动多个任务组内的任务,在同一组内,按照任务标记顺序启动任务,直到所有任务启动完毕为止,使各种系统任务能够根据各任务的依赖关系,并行启动任务,从而能够节省系统资源,节约嵌入式操作系统总的启动时间。
文档编号G06F9/46GK1818868SQ200610049769
公开日2006年8月16日 申请日期2006年3月10日 优先权日2006年3月10日
发明者陈天洲, 胡威, 谢斌, 赵懿 申请人:浙江大学