[發(fā)明專利]啟用狀態(tài)保存的方法和系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 200810081347.8 | 申請(qǐng)日: | 2008-02-25 |
| 公開(公告)號(hào): | CN101261593A | 公開(公告)日: | 2008-09-10 |
| 發(fā)明(設(shè)計(jì))人: | 道格拉斯·W.·德威;桑格拉姆·S.·高曼;威廉·G.·西爾曼;沙查·菲恩比立特 | 申請(qǐng)(專利權(quán))人: | 國(guó)際商業(yè)機(jī)器公司 |
| 主分類號(hào): | G06F9/48 | 分類號(hào): | G06F9/48;G06F9/50 |
| 代理公司: | 中國(guó)國(guó)際貿(mào)易促進(jìn)委員會(huì)專利商標(biāo)事務(wù)所 | 代理人: | 李穎 |
| 地址: | 美國(guó)*** | 國(guó)省代碼: | 美國(guó);US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 啟用 狀態(tài) 保存 方法 系統(tǒng) | ||
1.一種方法,包括
初始化第一協(xié)同例程的第一上下文結(jié)構(gòu);
當(dāng)進(jìn)程調(diào)用第二協(xié)同例程的執(zhí)行時(shí):
保存所述第一上下文結(jié)構(gòu)的狀態(tài);以及
將與所述第二協(xié)同例程相關(guān)的第二上下文結(jié)構(gòu)設(shè)置為當(dāng)前上下文;以及
當(dāng)所述當(dāng)前上下文的執(zhí)行完成時(shí),將所述第一協(xié)同例程的所述第一上下文結(jié)構(gòu)恢復(fù)為下一個(gè)當(dāng)前上下文。
2.如權(quán)利要求1所述的方法,進(jìn)一步包括:
在緩沖區(qū)中分配上下文結(jié)構(gòu)和堆棧指針,其中所述上下文結(jié)構(gòu)包括狀態(tài)域;以及
執(zhí)行狀態(tài)保存操作,以響應(yīng)于所述狀態(tài)域不被設(shè)置為有效值恢復(fù)所述緩沖區(qū)。
3.如權(quán)利要求2所述的方法,其中:
初始化所述第一協(xié)同例程的第一上下文結(jié)構(gòu)進(jìn)一步包括:
從可用堆棧塊的列表移除所述緩沖區(qū)中的堆棧塊;
將所述堆棧塊添加至已分配堆棧塊的列表;
將所述第一上下文結(jié)構(gòu)的所述狀態(tài)域設(shè)置為“已分配的”值;以及
將所述堆棧塊提供給與所述第一上下文結(jié)構(gòu)對(duì)應(yīng)的調(diào)用程序;且
將所述第一上下文結(jié)構(gòu)恢復(fù)為下一個(gè)當(dāng)前上下文進(jìn)一步包括:
從已分配堆棧塊的列表移除所述緩沖區(qū)中的堆棧塊;
將所述堆棧塊添加至可用堆棧塊的列表;以及
將所述第二上下文結(jié)構(gòu)的所述狀態(tài)域設(shè)置為“未分配的”值。
4.如權(quán)利要求2所述的方法,其中保存所述第一上下文結(jié)構(gòu)的所述狀態(tài)進(jìn)一步包括:
將與第一上下文結(jié)構(gòu)對(duì)應(yīng)的當(dāng)前值從寄存器保存到永久存儲(chǔ)位置;以及
將所述第一上下文結(jié)構(gòu)的所述狀態(tài)域設(shè)置為“set_by_getcontext”值。
5.如權(quán)利要求1所述的方法,其中將與所述第二協(xié)同例程相關(guān)的所述第二上下文結(jié)構(gòu)設(shè)置為當(dāng)前上下文進(jìn)一步包括:
響應(yīng)于所述狀態(tài)域不具有“set_by_getcontext”值并且所述狀態(tài)域不具有“set_by_swapcontext”值,執(zhí)行狀態(tài)保存操作以將所述緩沖區(qū)恢復(fù)為最近有效狀態(tài),其中完成了首次故障數(shù)據(jù)捕獲(FFDC);
響應(yīng)于所述狀態(tài)域包含所述“set_by_getcontext”值,將所述第二上下文結(jié)構(gòu)的所述狀態(tài)域設(shè)置為表示所述第二上下文結(jié)構(gòu)為下一個(gè)當(dāng)前上下文的“on_cpu”值;
響應(yīng)于所述狀態(tài)域包含所述“set_by_swapcontext”值,將所述第二上下文結(jié)構(gòu)的所述狀態(tài)域設(shè)置為表示所述第二上下文結(jié)構(gòu)為下一個(gè)當(dāng)前上下文的所述“on_cpu”值;
響應(yīng)于所述第二上下文結(jié)構(gòu)為下一個(gè)當(dāng)前上下文,將與所述第二上下文結(jié)構(gòu)對(duì)應(yīng)的堆棧塊移動(dòng)至所述緩沖區(qū)內(nèi)已分配堆棧塊的列表的前端;以及
通過來自所述第二上下文結(jié)構(gòu)的值更新寄存器。
6.如權(quán)利要求2所述的方法,其中執(zhí)行所述狀態(tài)保存操作以恢復(fù)所述緩沖區(qū)進(jìn)一步包括:
當(dāng)所述緩沖區(qū)內(nèi)已分配的堆棧塊的數(shù)量大于最近使用的堆棧塊的預(yù)定數(shù)量與最早使用的堆棧塊的預(yù)定數(shù)量之和時(shí):
設(shè)置指向所述緩沖區(qū)中已分配堆棧塊列表的開始的指針;
初始化計(jì)數(shù)變量;
當(dāng)所述計(jì)數(shù)變量小于所述最近使用的堆棧塊數(shù)量時(shí):
在永久存儲(chǔ)位置中保存由所述指針識(shí)別的所述已分配堆棧塊之一;
遞增所述指針和所述計(jì)數(shù)變量;以及
當(dāng)所述計(jì)數(shù)變量不小于所述最近使用的堆棧塊的數(shù)量時(shí):
設(shè)置所述指針指向所述緩沖區(qū)中所述已分配堆棧塊的列表的結(jié)尾;
清除所述計(jì)數(shù)變量;以及
當(dāng)所述計(jì)數(shù)變量小于所述最早使用的堆棧塊的數(shù)量時(shí):
在永久存儲(chǔ)位置中保存由所述指針識(shí)別的所述已分配堆棧塊之一;
遞增所述指針和所述計(jì)數(shù)變量。
7.如權(quán)利要求2所述的方法,其中執(zhí)行所述狀態(tài)保存操作以恢復(fù)所述緩沖區(qū)進(jìn)一步包括:
當(dāng)所述緩沖區(qū)內(nèi)已分配的堆棧塊的數(shù)量不大于最近使用的堆棧塊的預(yù)定數(shù)量與最早使用的堆棧塊的預(yù)定數(shù)量之和時(shí):
設(shè)置指針指向所述緩沖區(qū)中已分配堆棧塊的列表的開始;當(dāng)所述指針為不與所述已分配堆棧塊列表的結(jié)尾對(duì)應(yīng)時(shí):
在永久存儲(chǔ)位置中保存與所述指針對(duì)應(yīng)的所述已分配堆棧塊之一;以及
遞增所述指針。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于國(guó)際商業(yè)機(jī)器公司,未經(jīng)國(guó)際商業(yè)機(jī)器公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810081347.8/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 狀態(tài)檢測(cè)裝置及狀態(tài)檢測(cè)方法
- 狀態(tài)估計(jì)裝置以及狀態(tài)估計(jì)方法
- 經(jīng)由次級(jí)狀態(tài)推斷管理狀態(tài)
- 狀態(tài)估計(jì)裝置及狀態(tài)估計(jì)方法
- 狀態(tài)估計(jì)裝置、狀態(tài)估計(jì)方法
- 狀態(tài)預(yù)測(cè)裝置以及狀態(tài)預(yù)測(cè)方法
- 狀態(tài)推定裝置、狀態(tài)推定方法和狀態(tài)推定程序
- 狀態(tài)檢測(cè)系統(tǒng)及狀態(tài)檢測(cè)方法
- 狀態(tài)判定裝置、狀態(tài)判定方法以及狀態(tài)判定程序
- 狀態(tài)判斷裝置以及狀態(tài)判斷方法
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





