Windows 背景關系切換
調度程式為每個優先級維護一個可執行執行緒佇列。這些被稱為就緒執行緒。當處理器可用時,系統執行背景關系切換。背景關系切換的步驟是:
- 保存剛剛執行完的執行緒的背景關系。
- 將剛剛執行完的執行緒放在佇列的末尾以獲取優先級。
- 找到包含就緒執行緒的最高優先級佇列。
- 移除佇列頭部的執行緒,加載其背景關系并執行它。
我對這個話題還不太了解,所以我不知道如何詳細說明我的問題。執行緒的背景關系保存在哪里,是否可以以編程方式(無需修改內核)訪問(編輯:讀取)?
uj5u.com熱心網友回復:
如果您擁有具有所需訪問權限的執行緒的句柄,您可以掛起該執行緒,然后呼叫GetThreadContext. 當執行緒運行時,值在真實的 CPU 暫存器中,當它不運行時,背景關系存盤在用戶模式無法訪問的記憶體中。
背景關系存盤各種 CPU 暫存器的值,它只對除錯器和代碼注入和錯誤日志等高級功能有用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/341398.html
