上下文切換

2021-09-28 17:43:29 字數 610 閱讀 9197

上下文切換(有時也稱做程序切換或任務切換)是指 cpu 從乙個程序或執行緒切換到另乙個程序或執行緒。

上下文切換與模式切換

上下文切換只能發生在核心態中。核心態是 cpu 的一種有特權的模式,在這種模式下只有核心執行並且可以訪問所有記憶體和其他系統資源。其他的程式,如應用程式,在最開始都是執行在使用者態,但是他們能通過系統呼叫來執行部分核心的**。系統呼叫在類 unix 系統中是指活躍的程序(正在執行在 cpu 上的程序)對於核心所提供的服務的請求,例如輸入/輸出(i/o)和程序建立(建立乙個新的程序)。i/o 可以被定義為任何資訊流入或流出 cpu 與主記憶體(ram)。也就是說,一台電腦的 cpu和記憶體與該電腦的使用者(通過鍵盤或滑鼠)、儲存裝置(硬碟或磁碟驅動)還有其他電腦的任何交流都是 i/o。

上下文切換的消耗

上下文切換通常是計算密集型的。也就是說,它需要相當可觀的處理器時間,在每秒幾十上百次的切換中,每次切換都需要納秒量級的時間。所以,上下文切換對系統來說意味著消耗大量的 cpu 時間,事實上,可能是作業系統中時間消耗最大的操作。

upyun.com是國內領先的雲服務提供商,專注於提供靜態檔案的雲儲存、雲處理和cdn加速服務。現在註冊,即可免費體驗!

上下文切換

1 系統呼叫 一次系統呼叫其實是發生了兩次cpu上下文的切換 首先將使用者態的cpu暫存器中的指令儲存在系統核心中。為了執行核心態 需要將暫存器更新為核心態指令的位置,然後跳轉到核心空間去執行任務。當核心態的指令執行完成的時候,cpu暫存器將恢復儲存在系統核心中的上一次執行的使用者態,然後切換到使用...

上下文切換

vmstat cs 每秒上下文切換次數 的疑惑 in 每秒cpu中斷次數 shell vmstat 1 procs memory swap io system cpu r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 0 45939...

筆記 cpu上下文,上下文切換

cpu 上下文 cpu 暫存器,是 cpu 內建的容量小 但速度極快的記憶體。而程式計數器,則是用來儲存 cpu 正在執行的指令位置 或者即將執行的下一條指令位置。它們都是 cpu 在執行任何任務前,必須的依賴環境。cpu 上下文切換 就是先把前乙個任務的 cpu 上下文 也就是 cpu 暫存器和程...