[發明專利]用于調度執行單元的方法和系統有效
| 申請號: | 200810002261.1 | 申請日: | 2008-01-08 |
| 公開(公告)號: | CN101221515A | 公開(公告)日: | 2008-07-16 |
| 發明(設計)人: | 拉塞爾·L.·劉易斯 | 申請(專利權)人: | 國際商業機器公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 中國國際貿易促進委員會專利商標事務所 | 代理人: | 魏小薇 |
| 地址: | 美國*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 調度 執行 單元 方法 系統 | ||
技術領域
本發明涉及用于調度執行單元的方法、系統,以及產品。
背景技術
執行單元是并發執行的實體的集合的一個實體的統稱,其中并發執行的實體的集合可以是進程或線程。多任務處理操作系統能夠管理在實現該多任務處理操作系統的計算設備內并發執行的多個執行單元。
執行單元可以處于若干個狀態的任何一種狀態下。當執行單元當前正在利用處理器時,該執行單元可以處于運行狀態,而當執行單元正在等待利用處理器時,該執行單元可以處于被阻止狀態。例如,當執行單元需要訪問關鍵資源(例如,信號量(semaphore))時,該執行單元可以處于被阻止狀態。在處于運行狀態一段時間之后,執行單元可以將處理器讓給其他執行單元。此外,執行單元還可以被操作系統的內核換出(swap?out),即,從運行狀態移除,以便該執行單元不再處于運行狀態。另外,執行單元還可以被操作系統的內核換入(swap?in),以使該執行單元進入運行狀態。
在不同的操作系統中可以以不同的方式定義進程和線程。在某些操作系統中,進程是具有其自己的地址空間的“重量級”執行單元,而與諸如與其他線程共享地址空間的線程之類的“輕量級”執行單元相比,“重量級,,執行單元執行起來消耗大量的資源。在某些其他操作系統中,線程是基本執行單元。此外,在某些操作系統中,線程與進程關聯,并共享進程的環境。
發明內容
提供了一種方法、系統,以及產品,其中,一個執行單元從內核請求額外的執行時間,以防止該執行單元在關鍵區段的執行過程中被換出。內核判斷執行單元以前是否在響應至少一個之前的對額外的執行時間的請求而被分配了額外的執行時間之后的預定時間段內避免過將執行讓給其他執行單元。響應于判斷出執行單元以前沒有在響應至少一個之前的對額外的執行時間的請求而被分配了額外的執行時間之后的預定時間段內避免過將執行讓給其他執行單元,內核為該執行單元分配額外的執行時間。
在另一個實施例中,在內核中保持了第一指示器,其中,該第一指示器指示出執行單元以前是否在響應至少一個之前的對額外的執行時間的請求而被分配了額外的執行時間之后的預定時間段內避免過將執行讓給其他執行單元。保持了至少一個第二指示器,其中,該第二指示器指示出內核是否已經為執行單元批準了額外的時間。還保持了第三指示器,該第三指示器指示出執行單元是否已經從內核請求了額外的時間。
在又一個實施例中,響應執行單元從關鍵區段退出的情況,執行單元更新第三指示器,以指示出額外的時間長于執行單元所需要的時間。響應第三指示器被執行單元更新以指出額外的時間長于執行單元所需要的時間的情況,至少一個其他執行單元被內核換入。
在其他實施例中,執行單元是第一線程。內核判斷要被換入以替換第一線程的第二線程是否是與第一線程同一進程的一部分。響應于判斷出要被換入以替換第一線程的第二線程是與第一線程同一進程的一部分的情況,不管該進程以前是否在預定時間段內避免過將執行讓給其他進程,內核都為第一線程分配額外的執行時間。
在另外的實施例中,執行單元是進程或線程中的一個,其中,內核是操作系統的一部分,其中,執行單元不是內核的一部分,其中,請求、判斷、以及分配是通過系統調用來執行的。
附圖說明
現在參看附圖,在所有附圖中,類似的附圖標記代表對應的部分:
圖1圖示了根據某些實施例的計算環境的方框圖;
圖2圖示了示出根據某些實施例的操作系統的進程和內核之間的交互的方框圖;
圖3圖示了根據某些實施例的由進程執行的操作;
圖4圖示了根據某些實施例的由內核執行的第一操作;
圖5圖示了根據某些實施例的由內核執行的第二操作;
圖6圖示了根據某些實施例的由內核執行的第三操作;
圖7圖示了根據某些實施例的由內核執行的以及由執行單元執行的操作;以及
圖8圖示了其中實現了某些所描述的實施例的計算機體系結構的方框圖。
具體實施方式
在下面的描述中,參考附圖,附圖構成了本發明的一部分,并圖示了多個實施例。應該理解,可以利用其他實施例,也可以進行結構性的和操作性的變化。
多任務處理操作系統中的執行單元的交換
在搶占式多任務處理操作系統中,對應于用戶應用程序的進程可能意識到,多任務處理操作系統可能選擇在任何時刻換出該進程以有利于另一個進程。有時,當進程持有關鍵資源例如其他進程執行所需要的鎖時,該進程被換出。如果要被換出的進程可以確保在該進程被換出之前該進程釋放關鍵資源,則可以增強總體系統性能。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國際商業機器公司,未經國際商業機器公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810002261.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種中間包內襯修補方法
- 下一篇:滑雪板





