3
A
回答
0
引起如此,讓我儘量幫你搞清楚正確的順序。
- 只有內核可以切換上下文,因爲只有內核可以訪問必要的數據,並且可以例如更改其他進程地址空間的頁表。
- 要確定是否執行上下文切換,內核需要分析一些「輸入」。例如,可能會執行上下文切換,因爲定時器中斷被觸發,並且進程的時間片結束,或者因爲進程開始執行一些IO操作。
- 只有內核可以保存用戶進程的狀態,因爲用戶進程在嘗試存儲它時會改變其狀態。然而,內核知道,如果它的運行,用戶進程當前中斷(因爲中斷,或因爲例如,用戶空間進程自願進入內核例如,對於一個系統調用)
+0
嗯,所以內核模式開啓的第一步。然後它保存用戶進程的狀態。然後用中斷來做其餘的事情嗎? – user2770808
+0
這聽起來正確:) –
0
- 的當前上下文過程首先由硬件(處理器)部分保存,然後由軟件(內核)保存。
- 然後,通過加載新的eip,esp和其他保存的內核上下文由來自任務狀態段(TSS)的硬件加載,從而將控制從用戶進程轉移到內核。
- 然後基於中斷或陷阱編號。該請求被分派給適當的處理程序。
相關問題
- 1. 上下文切換和內核模式
- 2. 什麼是上下文切換?
- 3. 什麼是上下文切換時間?
- 4. 爲什麼上下文切換很慢?
- 5. Linux中的上下文切換內核進程
- 6. Linux內核配置設備的順序是什麼?
- 7. 上下文使用內核級線程切換
- 8. pthread_mutex會調用內核切換上下文嗎?
- 9. 如何在內核模塊線程中切換上下文?
- 10. 爲什麼系統調用需要切換到內核模式?
- 11. 爲什麼同步需要上下文切換到OS?
- 12. CLASSPATH內的值的順序是什麼?
- 13. 以下算法的順序是什麼?
- 14. 當我們在CUDA中調用內核時,上下文切換是否發生?
- 15. gcc內聯彙編上下文切換
- 16. 在切換順序
- 17. jQuery切換順序
- 18. 線程上下文切換vs進程上下文切換
- 19. 什麼是Windows內核驅動程序?
- 20. 圖像在您的網站上下載的順序是什麼?
- 21. 切換到(Linux)內核模式
- 22. 程序檢測上下文切換
- 23. pthread_mutex_unlock是否立即切換上下文?
- 24. FreeRTOS任務不是上下文切換
- 25. jquery切換 - 防止順序切換
- 26. 爲什麼#each_with_object和#inject會切換塊參數的順序?
- 27. 什麼是Mac OS內核?
- 28. 什麼是內核,bootloader?
- 29. 什麼是Linux內核源
- 30. Appium切換上下文到Web視圖
這可能幫助:https://stackoverflow.com/questions/19057503/switching-from-user-mode-to-kernel-mode/19078803#19078803 – Philipp