線程切換(補)——時間片切換


上一篇篇幅有點長,所以補一篇

上一篇我們說道,時間片中斷會導致線程切換,但並不是說只要有時鍾中斷就一定切換線程,時鍾中斷時,會有兩種情況導致線程切換:

  1. 當前線程的CPU時間到期
  2. 有備用線程(KPCR.PrcbData.NextThread)

CPU時間片

線程時間片存儲在_KTHREAD.Quantum,所以每次切換時,都會對這個值進行初始化

 

 存在備用線程

這個值被設置時,即使當前線程的CPU時間片沒有到期,仍然會被切換,參考KiDispatchInterrupt


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM