[發明專利]一種非實時操作系統的并發過程處理方法有效
| 申請號: | 201310260279.2 | 申請日: | 2013-06-26 |
| 公開(公告)號: | CN103345426A | 公開(公告)日: | 2013-10-09 |
| 發明(設計)人: | 徐宏坤;李偉 | 申請(專利權)人: | 中國航天科技集團公司第九研究院第七七一研究所 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 西安通大專利代理有限責任公司 61200 | 代理人: | 蔡和平 |
| 地址: | 710005*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實時 操作系統 并發 過程 處理 方法 | ||
技術領域
本發明涉及通訊控制技術領域,具體涉及一種非實時操作系統的并發過程處理方法。
背景技術
工業過程控制中有時需要由一臺計算機對多個生產過程進行控制,每個過程都有其自己特定的運行時序和計算工作。這時對控制計算機系統的基本要求是當新的過程控制任務加入到已經運行的計算機系統時,不應對已有的正在控制過程產生影響,尤其是不能對已經運行的控制過程計算、定時和時序產生影響。
在Windows系統中當用線程實現每個過程控制任務時,當新的任務投入運行時,常常會對已有的過程任務產生很大的影響,致使整個控制過程產生混亂。
發明內容
本發明解決的問題在于提供一種非實時操作系統的并發過程處理方法,能夠保證多個過程并發運行時各個過程相對獨立的運行,避免了相互之間的影響。
本發明是通過以下技術方案來實現:
一種非實時操作系統的并發過程處理方法,其特征在于,包括:
用于建立并啟動多個控制過程的步驟;
用于分別對多個控制過程進行分塊的步驟,每個控制過程經過分塊后產生若干個子塊;
用于設置調度進程的步驟;其中,設置調度進程中系統基礎運行的時鐘節拍,每個子塊的運行時間均小于時鐘節拍的長短;為每個控制過程設置一個狀態機,一個節拍延時變量和布爾變量;狀態機用于將調度執行的子塊和狀態機的每個狀態相對應,節拍延時變量用于存儲要調度該控制過程需要等待的時鐘節拍數,布爾變量用于表明該控制過程是否被已經被調度執行;
用于根據調度進程同時執行多個控制過程的步驟;其中,調度的執行以時鐘節拍為基礎,每隔一個時鐘節拍,系統都會給調度進程發送一個消息通知調度進程執行調度動作;調度動作時,先檢查每個布爾變量為未調度的控制過程對應的節拍延時變量,當節拍延時變量不為零時,進行減一操作,然后去檢查其它節拍延時變量,直至所有控制過程所對應的節拍延時變量檢查完畢,完成本次調度活動;當子塊的節拍延時變量為零時,調度執行對應控制過程的狀態機,執行狀態對應的子塊,完成后將該控制過程對應的布爾變量設置為已調度;當所有子塊都被調度執行后,完成多個控制過程的執行。
優選的,所述的時鐘節拍的長短小于調度過程的最小時間延遲。
優選的,所述的時鐘節拍采用非實時操作系統中的時間消息機制。
優選的,所述的節拍延時變量在每個控制過程進行調度執行時,初始值設置為零。
優選的,所述的節拍延時變量在前一個執行的子塊的調度動作完畢時進行設置。
優選的,所述的狀態機當每次子塊投入調度時均初始化為初始狀態,每次調度執行都確定下一次的調度狀態,狀態機能夠保存各自的執行狀態,當新的調度動作到來時確保能夠銜接上一次往下執行。
與現有技術相比,本發明具有以下有益的技術效果:
通過將多個控制過程分別進行按時間特性的分塊,從而使得每個子塊的運行時間都小于時鐘節拍的長短,因此其相對于過程運行時間很短,任何一個子塊的調度與否對系統的影響都可以忽略不計,配合多個參數的標定,能夠準確迅速的對所需要執行的子塊調用并進行處理,同時由對應的狀態機進行執行,因此避免了當新控制過程的加入對原有控制過程的干擾,提高了系統對多個控制過程執行的穩定性,保證了控制過程的穩定和流暢。
附圖說明
圖1為實例中對于控制過程P和Q的分塊處理的流程圖。
圖2為實例中調度進程同時執行控制過程P和Q的偽代碼。
圖3為實例中調度進程同時執行多個控制過程的流程圖。
具體實施方式
下面結合具體的實施例對本發明做進一步的詳細說明,所述是對本發明的解釋而不是限定。
本發明非實時操作系統的并發過程處理方法,其包括:
用于建立并啟動多個控制過程的步驟;
用于分別對多個控制過程進行分塊的步驟,每個控制過程經過分塊后產生若干個子塊;
用于設置調度進程的步驟;其中,設置調度進程中系統基礎運行的時鐘節拍,每個子塊的運行時間均小于時鐘節拍的長短;為每個控制過程設置一個狀態機,一個節拍延時變量和布爾變量;狀態機用于將調度執行的子塊和狀態機的每個狀態相對應,節拍延時變量用于存儲要調度該控制過程需要等待的時鐘節拍數,布爾變量用于表明該控制過程是否被已經被調度執行;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國航天科技集團公司第九研究院第七七一研究所,未經中國航天科技集團公司第九研究院第七七一研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310260279.2/2.html,轉載請聲明來源鉆瓜專利網。





