[發明專利]多核系統資源延遲回收鎖的實現方法及系統有效
| 申請號: | 201210010796.X | 申請日: | 2012-01-13 |
| 公開(公告)號: | CN102609313A | 公開(公告)日: | 2012-07-25 |
| 發明(設計)人: | 陳天航;王博 | 申請(專利權)人: | 漢柏科技有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F15/16 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 王瑩 |
| 地址: | 300384 天津市西青*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 多核 系統資源 延遲 回收 實現 方法 系統 | ||
1.一種多核系統資源延遲回收鎖的實現方法,其特征在于,所述方法包括以下步驟:
S1:設置由n個數據單元所構成的環形鏈表,并將多核系統中的每個CPU分別對應數據單元中的一位數據;
S2:在當前CPU發生了上下文切換后,進入資源回收處理過程中,獲取當前CPU進入寬限時期的次數,根據所述次數選擇相應的當前數據單元,并將所述當前數據單元中與當前CPU對應的一位數據進行置位;
S3:根據所述當前數據單元中的值判斷當前寬限時期是否已經結束,若沒有結束,則執行步驟S4,否則執行步驟S5;
S4:退出此次的資源回收處理過程,等待其它CPU發生上下文切換,再執行步驟S2;
S5:選擇環形鏈表中所述當前數據單元的下一個單元;
S6:將當前CPU記錄的寬限時期的次數加1;
S7:通過回調函數進行X個資源的資源回收,所述X為正整數;
S8:判斷資源是否都已經回收完畢,若是,則執行步驟S4,否則執行步驟S9;
S9:將步驟S5中選擇的下一個數據單元中與當前CPU對應的一位數據進行置位;
S10:根據步驟S5中選擇的下一個數據單元中的值判斷當前寬限時期是否已經結束,若是,則執行步驟S5,否則執行步驟S7。
2.如權利要求1所述的方法,其特征在于,步驟S1中,n取值為大于1的奇數。
3.如權利要求1所述的方法,其特征在于,步驟S2中,根據所述次數選擇相應的當前數據單元是通過以下公式進行選擇:
C=vmodn
其中,C為環形鏈表中數據單元的序號,v為所述次數,mod為取模運算,n為環形鏈表中數據單元的個數。
4.一種多核系統資源延遲回收鎖的實現系統,其特征在于,所述系統包括:
鏈表構建模塊,用于設置由n個數據單元所構成的環形鏈表,并將多核系統中的每個CPU分別對應數據單元中的一位數據;
置位模塊,用于在當前CPU發生了上下文切換后,進入資源回收處理過程中,獲取當前CPU進入寬限時期的次數,根據所述次數選擇相應的當前數據單元,并將所述當前數據單元中與當前CPU對應的一位數據進行置位;
寬限結束判斷模塊,用于根據所述當前數據單元中的值判斷當前寬限時期是否已經結束,若沒有結束,則執行退出等待模塊,否則執行選擇模塊;
退出等待模塊,用于退出此次的資源回收處理過程,等待其它CPU發生上下文切換,再執行置位模塊;
選擇模塊,用于選擇環形鏈表中所述當前數據單元的下一個單元;
次數自加模塊,用于將當前CPU記錄的寬限時期的次數加1;
資源回收模塊,用于通過回調函數進行X個資源的資源回收,所述X為正整數;
回收完畢判斷模塊,用于判斷資源是否都已經回收完畢,若是,則執行退出等待模塊,否則執行再置位模塊;
再置位模塊,用于將選擇模塊中選擇的下一個數據單元中與當前CPU對應的一位數據進行置位;
寬限結束再判斷模塊,用于根據選擇模塊中選擇的下一個數據單元中的值判斷當前寬限時期是否已經結束,若是,則執行選擇模塊,否則執行資源回收模塊。
5.如權利要求1所述的系統,其特征在于,鏈表構建模塊中,n取值為大于1的奇數。
6.如權利要求1所述的系統,其特征在于,置位模塊中,根據所述次數選擇相應的當前數據單元是通過以下公式進行選擇:
C=v?mod?n
其中,C為環形鏈表中數據單元的序號,v為所述次數,mod為取模運算,n為環形鏈表中數據單元的個數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于漢柏科技有限公司,未經漢柏科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210010796.X/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:高強度無縫海藻酸鹽膠囊
- 下一篇:基于體育賽事視頻的數據同步方法及裝置





