TSS的基本格式由104位元組組成。這104位元組的基本格式是不可改變的,但在此之外系統軟體還可定義若干附加信息。基本的104位元組可分為連結欄位區域、內層堆疊指針區域、地址映射暫存器區域、暫存器保存區域和其它欄位等五個區域。
1.暫存器保存區域
暫存器保存區域位於TSS內偏移20H至5FH處,用於保存通用暫存器、段暫存器、指令指針和標誌暫存器。當TSS對應的任務正在執行時,保存區域是未定義的;在當前任務被切換出時,這些暫存器的當前值就保存在該區域。當下次切換回原任務時,再從保存區域恢復出這些暫存器的值,從而,使處理器恢復成該任務換出前的狀態,最終使任務能夠恢復執行。
從上圖可見,各通用暫存器對應一個32位的雙字,指令指針和標誌暫存器各對應一個32位的雙字;各段暫存器也對應一個32位的雙字,段暫存器中的選擇子只有16位,安排再雙字的低16位,高16位未用,一般應填為0。
2.內層堆疊指針區域
為了有效地實現保護,同一個任務在不同的特權級下使用不同的堆疊。例如,當從外層特權級3變換到內層特權級0時,任務使用的堆疊也同時從3級變換到0級堆疊;當從內層特權級0變換到外層特權級3時,任務使用的堆疊也同時從0級堆疊變換到3級堆疊。所以,一個任務可能具有四個堆疊,對應四個特權級。四個堆疊需要四個堆疊指針。
TSS的內層堆疊指針區域中有三個堆疊指針,它們都是48位的全指針(16位的選擇子和32位的偏移),分別指向0級、1級和2級堆疊的棧頂,依次存放在TSS中偏移為4、12及20開始的位置。當發生向內層轉移時,把適當的堆疊指針裝入SS及ESP暫存器以變換到內層堆疊,外層堆疊的指針保存在內層堆疊中。沒有指向3級堆疊的指針,因為3級是最外層,所以任何一個向內層的轉移都不可能轉移到3級。
但是,當特權級由內層向外層變換時,並不把內層堆疊的指針保存到TSS的內層堆疊指針區域。實際上,處理器從不向該區域進行寫入,除非程式設計者認為改變該區域的值。這表明向內層轉移時,總是把內層堆疊認為是一個空棧。因此,不允許發生同級內層轉移的遞歸,一旦發生向某級內層的轉移,那么返回到外層的正常途徑是相匹配的向外層返回。
3.地址映射暫存器區域
從虛擬地址空間到線性地址空間的映射由GDT和LDT確定,與特定任務相關的部分由LDT確定,而LDT又由LDTR確定。如果採用分頁機制,那么由線性地址空間到物理地址空間的映射由包含頁目錄表起始物理地址的控制暫存器CR3確定。所以,與特定任務相關的虛擬地址空間到物理地址空間的映射由LDTR和CR3確定。顯然,隨著任務的切換,地址映射關係也要切換。 [Page]
TSS的地址映射暫存器區域由位於偏移1CH處的雙字欄位(CR3)和位於偏移60H處的字欄位(LDTR)組成。在任務切換時,處理器自動從要執行任務的TSS中取出這兩個欄位,分別裝入到暫存器CR3和LDTR。這樣就改變了虛擬地址空間到物理地址空間的映射。
但是,在任務切換時,處理器並不把換出任務但是的暫存器CR3和LDTR的內容保存到TSS中的地址映射暫存器區域。事實上,處理器也從來不向該區域自動寫入。因此,如果程式改變了LDTR或CR3,那么必須把新值人為地保存到TSS中的地址映射暫存器區域相應欄位中。可以通過別名技術實現此功能。
4.連結欄位
連結欄位安排在TSS內偏移0開始的雙字中,其高16位未用。在起連結作用時,地16位保存前一任務的TSS描述符的選擇子。
如果當前的任務由段間調用指令CALL或中斷/異常而激活,那么連結欄位保存被掛起任務的 TSS的選擇子,並且標誌暫存器EFLAGS中的NT位被置1,使連結欄位有效。在返回時,由於NT標誌位為1,返回指令RET或中斷返回指令iret將使得控制沿連結欄位所指恢復到鏈上的前一個任務。
5.其它欄位
為了實現輸入/輸出保護,要使用I/O許可點陣圖。任務使用的I/O許可點陣圖也存放在TSS中,作為TSS的擴展部分。在TSS內偏移66H處的字用於存放I/O許可點陣圖在TSS內的偏移(從TSS開頭開始計算)。關於I/O許可點陣圖的作用,以後的文章中將會詳細介紹。
在TSS內偏移64H處的字是為任務提供的特別屬性。在80386中,只定義了一種屬性,即調試陷阱。該屬性是字的最低位,用T表示。該字的其它位置被保留,必須被置為0。在發生任務切換時,如果進入任務的T位為1,那么在任務切換完成之後,新任務的第一條指令執行之前產生調試陷阱。
相關詞條
-
任務管理
任務管理,論述內容包括任務狀態遷移、任務控制塊、核心中各種佇列、調度算法和核心時鐘等內容。
ByCore任務管理實現 其他 同名iOS軟體 軟體介紹 功能特徵 -
微任務
微任務的發布機制將嚴格按照新浪微博社區公約和新浪微博社區管理 規定的相關條例及規範進行執行,企業主應嚴格遵守相關規定。企業所發布的任務需要經過微任務的審...
任務平台 套用微任務 -
幽蘭湖之御廚駕到
,卻發現自己穿越到了現代,用著段明天的身體,而他的救命恩人竟然是長相酷似儀妃...“段明天”,從而引發了一段浪漫搞笑的愛情故事。 分集劇情第一季 第1集...,闖進一個房間,大罵剛從床上起來的男人。這男人名叫段明天,御廚世家段家...
劇情簡介 分集劇情 演職員表 角色介紹 音樂原聲 -
師門任務
《師門任務》是一款網路遊戲,玩家在10級以後可以拜師加入門派,經過初期的歷練,等級達到20級以上時就可以找師傅領取師門任務了,根據玩家等級的不同,師門任...
任務介紹 領取條件 取消任務 任務NPC -
幸福朱古力[2016年丁仰國執導電視劇]
劇情簡介獨立自強的鐘款款經營朱古力店替父還債,她與富貴公子段天樂意外邂逅,並結下關於朱古力的幸福約定,在鍾款款幫助段天樂追求千金阮郁瑩的過程中...的身世之謎,段天樂面對著家族的遺產之爭,他們終於在愛情與自我成長的雙重考驗...
劇情簡介 分集劇情 演職員表 角色介紹 音樂原聲 -
像火花像蝴蝶
,為尋仇人隻身闖蕩上海灘,憑藉出眾的歌藝和獨特的個性得到上海灘大老闆段紹榮的青睞,改名為小金寶。唐立平是段紹榮的拜把兄弟,表面上他凡事唯段紹榮...的影響。段紹榮之女段寧深愛著他,唐立平也有意促成這門婚事牽制段紹榮。日軍...
簡介 演職員表 分集劇情 角色介紹 播出時間 -
像火花像蝴蝶[2013年胡軍、江一燕主演電視劇]
的歌藝和獨特的個性得到上海灘大老闆段紹榮的青睞,改名為小金寶。唐立平是段紹榮的拜把兄弟,表面上他凡事唯段紹榮馬首是瞻,暗地裡卻覬覦老大的位置。唐立平之弟唐立天是進步青年,深受紅色思想的影響。段紹榮之女段寧深愛著他,唐立平...
劇情簡介 分集劇情 演職員表 角色介紹 音樂原聲 -
並行任務派生
並行處理機依靠單指令流對多數據流實現並行操作,這種並行操作是通過各條單獨的指令加以反映和控制的,這樣由指令本身就可以啟動多個處理部件並行工作。但多處理機...
-
遠征,遠征!
!蔣介石親自接見賦閒多年的滇軍中將段仲儀,並委以盟國軍事協調的重任,參與緬戰籌劃和指揮層協調。段家兒女紛紛走上抗日戰場:長子段立國,作為修築滇緬公路的中國專家奔赴前線,與妻子一起光榮殉國;次子段安國,史迪威的聯絡官...
內容提要 分集劇情 演職員表