32位保護模式學習小結 3 任務切換

2021-07-16 03:32:31 字數 989 閱讀 6562

協同式:從乙個任務切換到另乙個任務,需要當前任務主動地請求暫時放棄執行權,或者在通過呼叫門請求作業系統服務時,由作業系統」趁機」將控制轉移到另乙個任務.這種方式依賴於每個任務的」自律」性,當乙個任務失控時,其他任務可能得不到執行的機會.

搶占式:這種方式下,可以安裝乙個定時器中斷,並在中斷服務程式中實施任務切換.硬體中斷訊號總會定時出現,不管處理器當時在做什麼,中斷都會適時地發生,而任務切換也就能夠順利進行.在這種情況下,每個任務都能獲得平等的執行機會.而且,即使乙個任務失控,也不會導致其他任務沒有機會執行.

所有任務共享乙個全域性空間,這是核心或者作業系統的,包括了系統服務程式和資料;同時,每個任務還有自己的區域性空間,每個人物的功能都不一樣,所以,區域性空間包含的是乙個任務區別於其他任務的私有**和資料.如下圖:

在乙個任務內,全域性空間和區域性空間具有不同的特區級.使用門,可以在任務內將控制從3特權級別的區域性空間轉移到0特權級的全域性空間,以使用核心或者作業系統提供服務.

任務切換是以任務為單位的,是指離開乙個任務,轉到另乙個任務中去執行.

要執行任務切換,系統中必須至少有兩個任務,而且已經有乙個正在執行中.

標誌或tss任務鏈結域

jmp指令的影響

call指令或中斷的影響

iret指令的影響

新任務的b位

置位.原先必需為零

置位.原先必需為零

不變.原先必須被置位

舊任務的b位

清零不變.原先必須被置位

清零新任務的nt標誌

設定為新任務tss中的對應值

置位設定為新任務tss中的對應值

舊任務的nt標誌

不變不變

清零新任務的任務鏈結域

不變用舊任務的tss描述符選擇子載入

不變舊任務的任務鏈結域

不變不變

不變

32位保護模式學習小結 3 任務切換

協同式 從乙個任務切換到另乙個任務,需要當前任務主動地請求暫時放棄執行權,或者在通過呼叫門請求作業系統服務時,由作業系統 趁機 將控制轉移到另乙個任務.這種方式依賴於每個任務的 自律 性,當乙個任務失控時,其他任務可能得不到執行的機會.搶占式 這種方式下,可以安裝乙個定時器中斷,並在中斷服務程式中實...

保護模式小結

在gdt ldt以及idt中,每乙個描述符都有自己的界限和屬性等內容,是對描述符所描述物件的一種限定和保護 分頁機制中的pde和pte都含有r w以及u s位,提供了頁級保護 頁式儲存的使用使應用程式使用的是線性空間而不是實體地址,於是物理記憶體被保護起來 中斷不再像是模式下一樣使用,也提供特權檢驗...

由實模式進入保護模式來進行32位定址

因為cpu在實模式下位址匯流排為20位,所以能訪問到的內存在1m左右,為了能操作更多的記憶體,cpu生產商設計了保護模式,在此模式下匯流排位址可達32位,訪問記憶體明顯增加。用保護模式來32位定址的操作要用乙個叫gdt的東西,這個gdt global descriptor table 叫全域性描述表...