[發(fā)明專利]一種MIPS平臺下并行多核配置鎖的實現(xiàn)方法有效
| 申請?zhí)枺?/td> | 200710304764.X | 申請日: | 2007-12-29 |
| 公開(公告)號: | CN101470627A | 公開(公告)日: | 2009-07-01 |
| 發(fā)明(設計)人: | 王震;吳亞飚;張宏君 | 申請(專利權)人: | 北京天融信網(wǎng)絡安全技術有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 信息產(chǎn)業(yè)部電子專利中心 | 代理人: | 梁 軍 |
| 地址: | 100085北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 mips 平臺 并行 多核 配置 實現(xiàn) 方法 | ||
1.一種MIPS平臺下并行多核配置鎖的實現(xiàn)方法,其特征在于,包括:
步驟A:根據(jù)系統(tǒng)提供的基本的鎖,預定義多個鎖,包括:應用層系統(tǒng)調(diào)用加鎖、應用層系統(tǒng)調(diào)用解鎖、應用層系統(tǒng)調(diào)用重加鎖、定時器加鎖、定時器解鎖、定時器重加鎖;
步驟B:根據(jù)所述預定義的多個鎖,再定義兩個鎖:事件響應更新鎖和事件響應恢復鎖;
步驟C:在事件響應處理過程中,當發(fā)生鎖重入問題時,在事件響應函數(shù)中調(diào)用事件響應更新鎖來加鎖或者更新到新的鎖;所述步驟C具體包括:更新CPU持有的鎖的類型;判斷CPU持有的鎖和要更新的鎖的類型是否一致,如果一致,直接返回,否則判斷CPU是否上鎖;如果這個CPU原來沒有上鎖,通過調(diào)用定時器加鎖或應用層系統(tǒng)調(diào)用加鎖,直接加配置鎖和鏈表鎖;如果CPU已經(jīng)上了鎖,那么就通過調(diào)用定時器重加鎖或應用層系統(tǒng)調(diào)用重加鎖,保存原來持有的鎖到臨時變量,然后再加要更新的鎖;
步驟D:在事件響應函數(shù)處理結(jié)束后,調(diào)用事件響應恢復鎖來解鎖或者恢復到以前加的鎖;所述步驟D具體包括:恢復CPU持有的鎖的類型;判斷CPU持有的鎖和要更新的鎖的類型是否一致,如果一致,直接返回,否則判斷CPU是否上鎖;如果CPU原來沒有鎖,那么就通過調(diào)用定時器解鎖或應用層系統(tǒng)調(diào)用解鎖,直接解配置鎖和鏈表鎖;如果CPU已經(jīng)上了鎖,那么就通過調(diào)用定時器重加鎖或應用層系統(tǒng)調(diào)用重加鎖,解CPU要更新的鎖,并且加原來持有的鎖。
2.根據(jù)權利要求1所述的方法,其特征在于,所述步驟A中,所述應用層系統(tǒng)調(diào)用加鎖中設置有兩個原子計數(shù)器,則預定義所述應用層系統(tǒng)調(diào)用加鎖的過程具體包括:
判斷CPU是否上了鎖,如果已經(jīng)上了鎖就異常退出,否則把兩個原子計數(shù)器加1;
試圖加配置鎖,當確認加配置鎖成功時,試圖加鏈表鎖;
當確認加鏈表鎖成功時,保存進程持有的鎖和保存CPU加的鎖并返回,否則解配置鎖,并重復試圖加配置鎖。
3.根據(jù)權利要求1所述的方法,其特征在于,所述步驟A中,所述應用層系統(tǒng)調(diào)用解鎖設置有兩個原子計數(shù)器,則預定義所述應用層系統(tǒng)調(diào)用解鎖的過程具體包括:
判斷CPU是否上鎖,如果已經(jīng)上了鎖就異常退出,否則解鏈表鎖,原子計數(shù)器app_wrconfig_locks減1;
解配置鎖,并清除進程持有的鎖和CPU加的鎖;
原子計數(shù)器app_locks減1。
4.根據(jù)權利要求1所述的方法,其特征在于,所述步驟A中,所述應用層系統(tǒng)調(diào)用重加鎖的預定義過程具體包括:
判斷CPU是否已經(jīng)上了鎖,如果沒加鎖就異常退出,否則先依次把已經(jīng)加的鎖解開,然后再按新的需求依次加鎖。
5.根據(jù)權利要求1所述的方法,其特征在于,所述步驟A中,預定義所述定時器加鎖的過程具體包括:
原子計數(shù)器app_wrconfig_locks加1,保證其他低優(yōu)先級的鎖不能獲得請求;
依次加配置鎖和鏈表鎖;
原子計數(shù)器app_wrconfig_locks減1,保存該CPU加的鎖。
6.根據(jù)權利要求1所述的方法,其特征在于,所述步驟A中,預定義所述定時器解鎖的過程具體包括:
首先解鏈表鎖,然后解配置鎖,最后清除CPU保存的鎖。
7.根據(jù)權利要求1所述的方法,其特征在于,所述步驟A中,預定義所述定時器重加鎖的過程具體包括:
判斷CPU是否已經(jīng)上了鎖,如果沒上鎖,就異常退出,否則先依次解開已經(jīng)上的鎖,然后再依次加上請求的鎖,并保存新的鎖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京天融信網(wǎng)絡安全技術有限公司,未經(jīng)北京天融信網(wǎng)絡安全技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710304764.X/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





