进程切换(上下文切换)
生活随笔
收集整理的這篇文章主要介紹了
进程切换(上下文切换)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
多任務操作系統是怎么實現運行遠大于CPU 數量的任務個數的?當然,這些任務實際上并不是真的在同時運行,而是因為系統通過時間片分片算法,在很短的時間內,將CPU 輪流分配給它們,造成多任務同時運行的錯覺。
為了控制進程的執行,內核必須有能力掛起正在CPU 上運行的進程,并恢復以前掛起的某個進程的執行。這種行為被稱為進程切換。
什么叫上下文?
在每個任務運行前,CPU 都需要知道任務從哪里加載、又從哪里開始運行,也就是說,需要系統事先幫它設置好CPU 寄存器和程序計數器(Program Counter),這個叫做CPU 的上下文。
而這些保存下來的上下文,會存儲在系統內核中,并在任務重新調度執行時再次加載進來。這樣就能保證任務原來的狀態不受影響,讓任務看起來還是連續運行。
在切換上下文的時候,需要完成一系列的工作,這是一個很消耗資源的操作。
?
總結
以上是生活随笔為你收集整理的进程切换(上下文切换)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用户user空间和内核kernel空间
- 下一篇: 进程的阻塞