[發明專利]一種基于多DSP處理器平臺的分布式實時多任務操作系統有效
| 申請號: | 201210459048.X | 申請日: | 2012-11-14 |
| 公開(公告)號: | CN103019838A | 公開(公告)日: | 2013-04-03 |
| 發明(設計)人: | 湯俊;張曦;湯小為;陸俊江;李寧;杜勁松 | 申請(專利權)人: | 清華大學 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F15/163 |
| 代理公司: | 北京眾合誠成知識產權代理有限公司 11246 | 代理人: | 薄觀玖 |
| 地址: | 100084 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 dsp 處理器 平臺 分布式 實時 任務 操作系統 | ||
技術領域
本發明屬于嵌入式操作系統領域,尤其涉及基于多DSP處理器平臺的分布式實時多任務操作系統。
背景技術
隨著現今DSP技術的發展,DSP被越來越多的用于消費電子、通信、軍事等領域,基于DSP系統的軟件開發經歷了無操作系統開發和基于操作系統開發兩個階段。在無操作系統的開發階段中,系統沒有操作系統的支持,通常通過匯編語言來訪問底層硬件資源。這類系統一般功能單一,針對性強,且無用戶接口。在有操作系統的開發階段中,系統能夠支持多任務處理,具有通信管理、內存管理、調度管理等功能,開發人員無須了解底層硬件結構便能進行軟件開發。盡管基于操作系統的DSP開發有若干優勢,在實時性要求非常強的場合,系統一般還是會采取無操作系統的開發方法,這是因為使用操作系統會帶來額外的開銷。VDK(VisualDSPKernel)是ADI公司推出的商業操作,隨VisualDSP一起出售。其特點是(1)基于優先級的調度系統,對于不同優先級的任務來說,處理器資源優先分配給高優先級任務,對于同一優先級任務來說,處理器輪流分配給不同任務。(2)使用信號量、消息通信機制完成線程間同步。
經過對現有技術的研究,VDK具有一下不足之處:
(1)作為一款商業操作系統,VDK并不開源,因而不能根據實際處理任務需求對其進行改進?(2)?對多DSP處理器平臺支持不好?(3)實時性差,面對高速信號處理系統性能有待提高?(4)支持任務個數有限,無法處理復雜的多任務處理任務。
發明內容
本發明針對現有技術存在的上述不足,提出一種基于多DSP處理器平臺的分布式實時多任務處理系統,采用非搶占調度策略作為調度內核,支持任意多個處理任務,改善了系統實時性。
本發明的特征在于,這是一個在多DSP處理器平臺的每個DSP處理器上對內部建立的多個處理模塊進行實時調度的分布式實時操作系統,包括:任務調度模塊,存儲管理模塊和任務通信模塊,其中:
存儲管理模塊,包括相互連接的內存池管理單元和內存池單元,以傳輸任務訪問請求,其中:
內存池單元,共有N個內存塊,分別存儲每個處理任務的任務輸入數據,每個處理任務的任務輸出數據和所有所述DSP處理器任務的中間變量緩存數據,
內存池管理單元,用以維護分別記錄了N個內存塊使用情況的共N個使用信息mem_use_info的數據結構,
所述內存池管理單元按以下步驟進行管理:
第一步:各內存塊初始化,
第二步:判斷是否接收到包括對內存池的存儲空間的申請及其容量在內的內存使用信息:
若不存在,則返回第一步,
若存在,則查找所述各條使用信息中是否存在滿足申請大小的內存塊,若不存在,則返回第一步,若存在,則獲取內存起始地址ptr,
第三步,更新第二步中找到的內存塊中的內存使用信息,返回第一步,
任務通信管理模塊,包括:任務信息通信單元,和任務數據通信單元,其中:
任務信息通信單元,傳輸來自主控機或者所述任務調度模塊的定長的任務信息字,長度為64字,包括:發送任務編號、發送任務的DSP處理器、接受任務編號、接受任務的DSP處理器、任務數據長度和任務模式碼,
任務數據通信單元,傳輸來自所述主控機或DSP處理器的任務長度的任務數據,
所述任務通信單元,按以下步驟與作為發送節點的所述主控機進行任務通信:
第一步,所述任務通信單元獲得所述任務信息字,
第二步,作為所述發送節點的主控機或DSP處理器生成任務信息字并發送,
第三步,所述任務信息通信單元接受任務信息字,并配置所述任務數據通信單元,
第四步,所述任務通信單元接受來自所述發送單元的指定長度、指定任務的數據,
任務調度模塊,包括:調度模塊單元、等待態任務隊列單元、就緒態任務隊列單元和輸出態任務隊列單元,所述任務調度模塊按以下步驟進行任務調度執行,
第一步,初始狀態下,所述調度執行單元把從所述任務通信模塊接收到的所有任務置于等待態任務隊列單元,
第二步,所述調度執行單元掃描所述等待態任務隊列單元,判斷是否存在準備就緒的任務,
若:有準備就緒的任務,則把所述準備就緒任務置于就緒態任務隊列單元,
若:沒有,則返回第一步,
第三步,所述調度執行單元掃描所述就緒態任務隊列單元,判斷是否存在已處理就緒的任務:
若:存在則把所述已處理就緒的任務置于輸出態任務隊列中,
若:沒有,返回第二步,
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于清華大學,未經清華大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210459048.X/2.html,轉載請聲明來源鉆瓜專利網。





