[發(fā)明專利]一種阻止進(jìn)程繼承關(guān)系產(chǎn)生環(huán)路的方法有效
| 申請?zhí)枺?/td> | 200810067096.8 | 申請日: | 2008-05-04 |
| 公開(公告)號: | CN101299196A | 公開(公告)日: | 2008-11-05 |
| 發(fā)明(設(shè)計)人: | 楊凡 | 申請(專利權(quán))人: | 中興通訊股份有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F11/14 |
| 代理公司: | 深圳市君勝知識產(chǎn)權(quán)代理事務(wù)所 | 代理人: | 楊宏 |
| 地址: | 518057廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 阻止 進(jìn)程 繼承 關(guān)系 產(chǎn)生 環(huán)路 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種計算機操作系統(tǒng)中切換進(jìn)程繼承關(guān)系的方法,尤其涉及一種計算機操作系統(tǒng)中阻止進(jìn)程繼承關(guān)系產(chǎn)生環(huán)路的方法。
背景技術(shù)
現(xiàn)有技術(shù)中,進(jìn)程通常作為調(diào)度和資源控制的最小單元存在,進(jìn)程之間通常具有繼承關(guān)系。新生成的進(jìn)程一般由操作系統(tǒng)指派一個已存在的進(jìn)程作為其父進(jìn)程,而該新進(jìn)程稱為其父進(jìn)程的子進(jìn)程。有些操作系統(tǒng)允許用戶在系統(tǒng)正常運行時,通過命令自行手動切換進(jìn)程之間的父子關(guān)系。
為了便于理解,舉例來說明進(jìn)程之間的父子關(guān)系。假設(shè)操作系統(tǒng)中存在如下4個進(jìn)程:A、B、C以及D,它們之間關(guān)系如圖1所示。其中A是B與C的父進(jìn)程,C是D的父進(jìn)程,同時B與C為A的子進(jìn)程,D又是C的子進(jìn)程。
現(xiàn)有技術(shù)中,由于操作系統(tǒng)設(shè)置有人工手動切換進(jìn)程繼承關(guān)系功能,因此,有可能由于人為的不當(dāng)操作而導(dǎo)致系統(tǒng)中進(jìn)程的繼承關(guān)系產(chǎn)生環(huán)路,如圖2所示,A是B的父進(jìn)程,B是C的父進(jìn)程,而C又是A的父進(jìn)程。A,B和C之間形成了環(huán)路。
在操作系統(tǒng)中,進(jìn)程繼承關(guān)系形成環(huán)路,后果非常嚴(yán)重,因為進(jìn)程是資源控制的最小單元,當(dāng)某個進(jìn)程終止后,操作系統(tǒng)將指派其父進(jìn)程接管或處理該進(jìn)程的殘余資源。如圖1所示,當(dāng)進(jìn)程B先于進(jìn)程A終止,則操作系統(tǒng)將進(jìn)程B中的所有殘余資源統(tǒng)一托管給進(jìn)程A處理;當(dāng)進(jìn)程B提前終止,則其殘余資源由進(jìn)程A托管;如果進(jìn)程A再終止,資源由進(jìn)程C托管;當(dāng)進(jìn)程C再終止時,則操作系統(tǒng)嘗試將資源托管給早已終止的進(jìn)程B,從而造成整個操作系統(tǒng)癱瘓。
因此,現(xiàn)有技術(shù)有待于改進(jìn)與發(fā)展。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種阻止進(jìn)程繼承關(guān)系產(chǎn)生環(huán)路的方法,通過根據(jù)進(jìn)程繼承關(guān)系表與輪詢判斷結(jié)果,進(jìn)行進(jìn)程繼承關(guān)系切換的方法,有效地阻止人為操作失誤,導(dǎo)致進(jìn)程繼承關(guān)系產(chǎn)生環(huán)路的可能。
本發(fā)明的技術(shù)方案如下:
一種阻止進(jìn)程繼承關(guān)系產(chǎn)生環(huán)路的方法,用于一通用計算機操作系統(tǒng),其包括以下步驟:
A、系統(tǒng)為當(dāng)前存在的所有進(jìn)程建立一繼承關(guān)系表,用于記錄每個進(jìn)程與其子進(jìn)程的繼承關(guān)系;
B、在進(jìn)程繼承關(guān)系切換前備份所述進(jìn)程繼承關(guān)系表,并按照切換要求修改所述進(jìn)程繼承關(guān)系表;
C、對該進(jìn)程繼承關(guān)系表進(jìn)行輪詢,判斷其中進(jìn)程與子進(jìn)程繼承關(guān)系是否存在環(huán)路。
所述的方法,其中,所述步驟C還包括:在所述進(jìn)程與子進(jìn)程繼承關(guān)系存在環(huán)路時,用所述備份進(jìn)程繼承關(guān)系表恢復(fù)所述進(jìn)程繼承關(guān)系表。
所述的方法,其中,所述步驟C還包括:在所述進(jìn)程與所述子進(jìn)程繼承關(guān)系不存在環(huán)路時,進(jìn)行進(jìn)程繼承關(guān)系的切換操作。
所述的方法,其中,所述步驟C還包括:刪除備份進(jìn)程繼承關(guān)系表。
所述的方法,其中,所述步驟C中所述輪詢過程包括以下步驟:
C11、傳遞并記錄輪詢的進(jìn)程之途徑序號參數(shù)。
所述的方法,其中,所述步驟C11之后還包括:
C21、當(dāng)各進(jìn)程的途徑序號參數(shù)顯示為單次記錄,則所述進(jìn)程與所述子進(jìn)程繼承關(guān)系不存在環(huán)路。
所述的方法,其中,所述步驟C11之后還包括:
C22、當(dāng)進(jìn)程之途徑序號參數(shù)中顯示初始參數(shù)與終了參數(shù)相同,判斷為所述進(jìn)程與子進(jìn)程繼承關(guān)系存在環(huán)路。
所述的方法,其中,所述步驟C11中,所述輪詢?yōu)閺谋磺袚Q的子進(jìn)程開始,且各子進(jìn)程逐級輪詢與其對應(yīng)的子進(jìn)程。
所述的方法,其中,所述步驟C11之后還包括:
C23、當(dāng)進(jìn)程的途徑序號參數(shù)中顯示有兩次或兩次以上的記錄,則判斷為系統(tǒng)切換前已存在進(jìn)程與子進(jìn)程的繼承關(guān)系存在環(huán)路,系統(tǒng)提示切換異常,并終止繼承關(guān)系切換操作。
本發(fā)明所提供的一種阻止進(jìn)程繼承關(guān)系產(chǎn)生環(huán)路的方法,由于采用了通過根據(jù)進(jìn)程繼承關(guān)系表與輪詢判斷結(jié)果,進(jìn)行進(jìn)程繼承關(guān)系切換的方法,有效地防止了人為操作錯誤導(dǎo)致進(jìn)程繼承關(guān)系產(chǎn)生環(huán)路的可能,提高了操作系統(tǒng)的可靠性,同時也提高了整個操作系統(tǒng)的工作效率。
附圖說明
圖1是現(xiàn)有技術(shù)的進(jìn)程繼承關(guān)系示意圖;
圖2是現(xiàn)有技術(shù)的進(jìn)程繼承關(guān)系產(chǎn)生環(huán)路示意圖;
圖3為本發(fā)明方法切換不造成環(huán)路輪詢過程中,切換前的進(jìn)程繼承關(guān)系圖;
圖4為本發(fā)明方法切換不造成環(huán)路輪詢過程中,切換后的進(jìn)程繼承關(guān)系圖
圖5為本發(fā)明方法切換造成環(huán)路輪詢過程中,切換前的進(jìn)程繼承關(guān)系圖;
圖6為本發(fā)明方法切換造成環(huán)路輪詢過程中,切換后的進(jìn)程繼承關(guān)系圖;
圖7為本發(fā)明方法切換前已存在環(huán)路輪詢過程中,切換前的進(jìn)程繼承關(guān)系圖;
圖8是本發(fā)明方法切換前已存在環(huán)路輪詢過程中,切換后的進(jìn)程繼承關(guān)系圖。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中興通訊股份有限公司,未經(jīng)中興通訊股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810067096.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





