当前位置: 首页 > 专利查询>清华大学专利>正文

一种基于多DSP处理器平台的分布式实时多任务操作系统技术方案

技术编号:8532669 阅读:199 留言:0更新日期:2013-04-04 15:34
一种基于多DSP处理器平台的分布式实施多任务操作系统属于嵌入式操作系统领域,其特征在于,这是一个在多DSP处理器平台的每个DSP处理器上对内设的多个处理模块进行实时调度的分布式实时操作系统,设有:存储并管理各输入、各输出任务的存储管理模块、与主控机或内设的任务调度模块进行内外通信的是输入待处理任务或输出已处理任务的任务通信模块以及所述的任务调度模块,所述任务调度模块把来自所述任务通信模块的待处理任务按任务的实时状态动态的分成等待态任务、就绪态任务和输出态任务,按任务处理过程依次扫描以完成等待——就绪、就绪——输出的任务实时状态的转换过程。本发明专利技术能在一个多DSP处理器平台的每一个处理节点上同时对各个任务模块进行实时调度并保证完成处理任务并输出。

【技术实现步骤摘要】
—种基于多DSP处理器平台的分布式实时多任务操作系统
本专利技术属于嵌入式操作系统领域,尤其涉及基于多DSP处理器平台的分布式实时 多任务操作系统。
技术介绍
随着现今DSP技术的发展,DSP被越来越多的用于消费电子、通信、军事等领域,基 于DSP系统的软件开发经历了无操作系统开发和基于操作系统开发两个阶段。在无操作系 统的开发阶段中,系统没有操作系统的支持,通常通过汇编语言来访问底层硬件资源。这类 系统一般功能单一,针对性强,且无用户接口。在有操作系统的开发阶段中,系统能够支持 多任务处理,具有通信管理、内存管理、调度管理等功能,开发人员无须了解底层硬件结构 便能进行软件开发。尽管基于操作系统的DSP开发有若干优势,在实时性要求非常强的场 合,系统一般还是会采取无操作系统的开发方法,这是因为使用操作系统会带来额外的开 销。VDK (VisualDSPKernel)是ADI公司推出的商业操作,随VisualDSP—起出售。其特点 是(I)基于优先级的调度系统,对于不同优先级的任务来说,处理器资源优先分配给高优 先级任务,对于同一优先级任务来说,处理器轮流分配给不同任务。(2)使用信号量、消息通 信机制完成线程间同步。经过对现有技术的研究,VDK具有一下不足之处(I)作为一款商业操作系统,VDK并不开源,因而不能根据实际处理任务需求对其 进行改进(2)对多DSP处理器平台支持不好(3)实时性差,面对高速信号处理系统性能有 待提高(4)支持任务个数有限,无法处理复杂的多任务处理任务。
技术实现思路
本专利技术针对现有技术存在的上述不足,提出一种基于多DSP处理器平台的分布式 实时多任务处理系统,采用非抢占调度策略作为调度内核,支持任意多个处理任务,改善了 系统实时性。本专利技术的特征在于,这是一个在多DSP处理器平台的每个DSP处理器上对内部建 立的多个处理模块进行实时调度的分布式实时操作系统,包括任务调度模块,存储管理模 块和任务通信模块,其中存储管理模块,包括相互连接的内存池管理单元和内存池单元,以传输任务访问 请求,其中内存池单元,共有N个内存块,分别存储每个处理任务的任务输入数据,每个处理 任务的任务输出数据和所有所述DSP处理器任务的中间变量缓存数据,内存池管理单元,用以维护分别记录了 N个内存块使用情况的共N个使用信息 mem_use_info的数据结构,所述内存池管理单元按以下步骤进行管理第一步各内存块初始化,第二步判断是否接收到包括对内存池的存储空间的申请及其容量在内的内存使 用信息若不存在,则返回第一步,若存在,则查找所述各条使用信息中是否存在满足申请大小的内存块,若不存在, 则返回第一步,若存在,则获取内存起始地址Ptr,第三步,更新第二步中找到的内存块中的内存使用信息,返回第一步,任务通信管理模块,包括任务信息通信单元,和任务数据通信单元,其中任务信息通信单元,传输来自主控机或者所述任务调度模块的定长的任务信息 字,长度为64字,包括发送任务编号、发送任务的DSP处理器、接受任务编号、接受任务的 DSP处理器、任务数据长度和任务模式码,任务数据通信单元,传输来自所述主控机或DSP处理器的任务长度的任务数据,所述任务通信单元,按以下步骤与作为发送节点的所述主控机进行任务通信第一步,所述任务通信单元获得所述任务信息字,第二步,作为所述发送节点的主控机或DSP处理器生成任务信息字并发送,第三步,所述任务信息通信单元接受任务信息字,并配置所述任务数据通信单元,第四步,所述任务通信单元接受来自所述发送单元的指定长度、指定任务的数据,任务调度模块,包括调度模块单元、等待态任务队列单元、就绪态任务队列单元 和输出态任务队列单元,所述任务调度模块按以下步骤进行任务调度执行,第一步,初始状态下,所述调度执行单元把从所述任务通信模块接收到的所有任 务置于等待态任务队列单元,第二步,所述调度执行单元扫描所述等待态任务队列单元,判断是否存在准备就 绪的任务,若有准备就绪的任务,则把所述准备就绪任务置于就绪态任务队列单元,若没有,则返回第一步,第三步,所述调度执行单元扫描所述就绪态任务队列单元,判断是否存在已处理 就绪的任务若存在则把所述已处理就绪的任务置于输出态任务队列中,若没有,返回第二步,第四步,所述调度执行单元扫描输出态任务队列单元,判断是否存在等待输出的 任务,若有,则把所述等待输出的任务发送给所述任务信息通信单元和任务数据通信 单元,供向所述主控机或DSP处理器节点发送用,若没有,则返回第三步,第五步,循环第二步到第四步,一直到全部处理并输出所有已接收的任务后,返回第一步。本专利技术具有以下有益效果及优点在多DSP处理器平台的一个处理节点上,可以同时处理多个任务模块,对各个任 务模块进行实时调度并保证每个任务模块都能正确运行;分布式实时多任务处理系统保证 处理过程满足雷达信号处理的实时性要求。附图说明图1为分布式实时操作系统的结构框图2为分布式实时操作系统存储管理模块框图3为分布式实时操作系统任务通信流程图4为分布式实时操作系统多任务调度方法流程图。具体实施方式本专利技术是通过以下技术方案实现的,本专利技术包括存储管理模块、任务通信模块、 任务调度模块,其中存储管理模块与处理任务相连接并传输内存访问信息,任务调度模块 和任务通信模块相连接并传输任务数据通信信息。所述的任务存储管理模块包括内存池管理单元和内存池单元,其中内存池管理 单元和内存池单元连接并传输内存访问请求信息。所述的任务通信模块管理模块包括任务信息通信单元和任务数据通信单元,任 务信息通信单元传输定长的任务信息字,任务数据通信单元传输任意长度的任务数据。任 务间的通信有以下步骤步骤1:接收节点任务信息通信单元等待接受任务信息字;步骤2 :发送节点任务信息通信单元生成任务信息字并发送;步骤3 :接收节点任务信息通信单元接受任务信息字并配置任务数据通信单元;步骤4 :发送节点任务数据通信单元发送任务数据;步骤5 :接收节点任务数据通信单元接收任务数据。所述的任务调度模块包括调度执行单元、等待态任务队列单元、就绪态任务队列 单元和输出态任务队列单元。任务执行步骤是步骤1:初始状态下,调度执行单元将所有任务置于等待态任务队单元列中;步骤2 :调度执行单元扫描等待态任务队列单元,若有任务准备好运行,将该任务 置于就绪态任务队列单元中;步骤3 :调度执行单元扫描就绪态队列任务单元中,若有任务存在,执行该任务, 并将该任务置于输出态任务队列单元中;步骤4 :调度执行单元扫描输出态任务队列单元中,若有任务存在,将该任务信息 发送给任务通信单元,任务通信模块将任务输出数据发送后,调度执行单元将该任务置于 等待态队列单元中。下面结合附图,对优选实施例作详细说明。应该强调的是,下述说明仅仅是示例性 的,而不是为了限制本专利技术的范围及其应用。如图1所示,本实施例包括以下模块存储管理模块、任务通信模块、任务调度模 块,其中存储管理模块与处理任务相连接并传输内存访问信息,任务调度模块和任务通信 模块相连接并传输任务通信信息,任务调度模块与处理热舞相连接并在处理任务输入数据 准备好时选中处理任务执行。如图2所示,本实施例存储管理模块包括内存池管理单元和内存池单元,其中内 存池管理本文档来自技高网...

【技术保护点】
一种基于多DSP处理器平台的分布式实时多任务操作系统,其特征在于,这是一个在多DSP处理器平台的每个DSP处理器上对内部建立的多个处理模块进行实时调度的分布式实时操作系统,包括:任务调度模块,存储管理模块和任务通信模块,其中:存储管理模块,包括相互连接的内存池管理单元和内存池单元,以传输任务访问请求,其中:内存池单元,共有N个内存块,分别存储每个处理任务的任务输入数据,每个处理任务的任务输出数据和所有所述DSP处理器任务的中间变量缓存数据,内存池管理单元,用以维护分别记录了N个内存块使用情况的共N个使用信息mem_use_info的数据结构,所述内存池管理单元按以下步骤进行管理:第一步:各内存块初始化,第二步:判断是否接收到包括对内存池的存储空间的申请及其容量在内的内存使用信息:若不存在,则返回第一步,若存在,则查找所述各条使用信息中是否存在满足申请大小的内存块,若不存在,则返回第一步,若存在,则获取内存起始地址ptr,第三步,更新第二步中找到的内存块中的内存使用信息,返回第一步,任务通信管理模块,包括:任务信息通信单元,和任务数据通信单元,其中:任务信息通信单元,传输来自主控机或者所述任务调度模块的定长的任务信息字,长度为64字,包括:发送任务编号、发送任务的DSP处理器、接受任务编号、接受任务的DSP处理器、任务数据长度和任务模式码,任务数据通信单元,传输来自所述主控机或DSP处理器的任务长度的任务数据,所述任务通信单元,按以下步骤与作为发送节点的所述主控机进行任务通信:第一步,所述任务通信单元获得所述任务信息字,第二步,作为所述发送节点的主控机或DSP处理器生成任务信息字并发送,第三步,所述任务信息通信单元接受任务信息字,并配置所述任务数据通信单元,第四步,所述任务通信单元接受来自所述发送单元的指定长度、指定任务的数据,任务调度模块,包括:调度模块单元、等待态任务队列单元、就绪态任务队列单元和输出态任务队列单元,所述任务调度模块按以下步骤进行任务调度执行,第一步,初始状态下,所述调度执行单元把从所述任务通信模块接收到的所有任务置于等待态任务队列单元,第二步,所述调度执行单元扫描所述等待态任务队列单元,判断是否存在准备就绪的任务,若:有准备就绪的任务,则把所述准备就绪任务置于就绪态任务队列单元,若:没有,则返回第一步,第三步,所述调度执行单元扫描所述就绪态任务队列单元,判断是否存在已处理就绪的任务:若:存在则把所述已处理就绪的任务置于输出态任务队列中,若:没有,返回第二步,第四步,所述调度执行单元扫描输出态任务队列单元,判断是否存在等待输出的任务,若:有,则把所述等待输出的任务发送给所述任务信息通信单元和任务数据通信单元,供向所述主控机或DSP处理器节点发送用,若:没有,则返回第三步,第五步,循环第二步到第四步,一直到全部处理并输出所有已接收的任务后,返回第一步。...

【技术特征摘要】
1.一种基于多DSP处理器平台的分布式实时多任务操作系统,其特征在于,这是一个在多DSP处理器平台的每个DSP处理器上对内部建立的多个处理模块进行实时调度的分布式实时操作系统,包括任务调度模块,存储管理模块和任务通信模块,其中 存储管理模块,包括相互连接的内存池管理单元和内存池单元,以传输任务访问请求,其中 内存池单元,共有N个内存块,分别存储每个处理任务的任务输入数据,每个处理任务的任务输出数据和所有所述DSP处理器任务的中间变量缓存数据, 内存池管理单元,用以维护分别记录了 N个内存块使用情况的共N个使用信息mem_use_info的数据结构, 所述内存池管理单元按以下步骤进行管理 第一步各内存块初始化, 第二步判断是否接收到包括对内存池的存储空间的申请及其容量在内的内存使用信息 若不存在,则返回第一步, 若存在,则查找所述各条使用信息中是否存在满足申请大小的内存块,若不存在,则返回第一步,若存在,则获取内存起始地址ptr, 第三步,更新第二步中找到的内存块中的内存使用信息,返回第一步, 任务通信管理模块,包括任务信息通信单元,和任务数据通信单元,其中 任务信息通信单元,传输来自主控机或者所述任务调度模块的定长的任务信息字,长度为64字,包括发送任务编号、发送任务的DSP处理器、接受任务编号、接受任务的DSP处理器、任务数据长度和任务模式码, 任务数据通信单元,传输来自所述主控机或DSP处理...

【专利技术属性】
技术研发人员:汤俊张曦汤小为陆俊江李宁杜劲松
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1