線程和進程最大的區別在於地址空間。對於線程切換,步驟1是不必要的,第二是進程和線程切換都應該進行。
上下文切換都是通過操作系統內核完成的,與內核切換過程相關的最大性能損失是切換出寄存器的內容。
擴展數據:
由於中斷處理或中斷信號引起的軟中斷,內核進入中斷上下文。然而,中斷信號的出現是隨機的,當中斷發生時,中斷處理程序和軟中斷無法提前預測當前正在運行的進程,因此在中斷上下文中引用current是可以的。
進程A想要等待的中斷信號可能在進程B執行期間出現..例如,進程A開始寫入磁盤,而進程B在進程A休眠後正在運行。當磁盤完成時,磁盤中斷信號會中斷進程B,這將在進程A被中斷時將其喚醒。