上下文的種類:
使用者級上下文:其實就是虛擬記憶體(mm_struct),包括資料段,**段,堆疊,mmap等
核心級上下文:核心棧
硬體級:暫存器(pc,ip,bp,sp,cr3等)
上下文切換型別:
1.程序/執行緒上下文切換:1.2.3都會發生,上下文儲存在使用者棧
2.核心上下文切換:只發生2.3,上下文儲存在核心棧,核心棧每個執行緒都有乙個
3.中斷上下文切換:只發生3,上下文儲存在中斷棧,中斷棧一般每個處理器乙個
補充:在發生虛擬記憶體的切換時,需要切換頁表,而頁表的切換一般會導致tlb無效,同時,由於快取記憶體具有區域性性,所以也會導致快取記憶體cache無效
參考:
上下文 上下文棧
全域性 函式 區域性 在執行全域性 前將window確定為全域性執行上下文 對全域性資料進行預處理 var定義的全域性變數 undefined,新增為window的屬性 function宣告的全域性函式 賦值 fun 新增為window的方法 this 賦值 window 開始執行全域性 在呼叫函式...
中斷上下文 程序上下文
在學習與作業系統相關的知識時候,我們經常遇到程序上下文 中斷上下文,看似熟悉又感覺不是特別清晰。這裡我們從如下幾個方面進行描述。上下文是從英文中context翻譯過來的,指的是一種環境。上下文我們看起來不怎麼熟悉,但是我們可以看context的中文翻譯,或者我們能更加的情形些。context n 語...
全域性上下文與上下文
全域性上下文由main函式載入系統的主架構和主事件迴圈和全域性資料構成。是上帝創造世界時,建立的基礎事物。萬物之始,大道至簡,衍化至繁。全域性上下文代表著程式執行所需要的基礎資源。是程式執行的基礎。全域性上下文的特徵是在程式執行期間常駐記憶體。全域性上下文的生命週期和應用程式的生命週期相同。與應用程...