Linux 系統中, 用戶態到內核態切換的過程中發生了什麼?

在Linux0.11系統中,所有中斷服務程序都屬於內核代碼。 若中斷時,進程在執行用戶態的代碼,該中斷會引起CPU特權級從3級到0級的切換,此時CPU會進行堆棧的切換,CPU會從當前任務的TSS中取到新堆棧的段選擇符和偏移值;CPU首先會把原用戶態的堆棧指針ss和esp壓入內核態堆棧,隨後把標誌寄存器eflags的內容和此次中斷的返回位置cs,eip壓入內核態堆棧。當中斷處理函數結束後,將恢復內核
相關文章
相關標籤/搜索