任務狀態段和門

2021-09-30 08:50:46 字數 1016 閱讀 9627

每乙個任務(可以理解為程序)都有乙個任務狀態段tss,用於儲存任務的有關資訊,在任務內變換特權級和任務切換時要用到這些資訊。

系統段是為實現儲存管理機制所使用的一種特別的段。在80386中,有兩種系統段:任務狀態段tss和區域性描述附表ldt段(注意:全域性描述附表gdt不屬於狀態段)。不光在高階語言應用或者說使用者應用程式程式設計中用到了資料結構,個人覺得在cpu硬體的支援下,系統程式設計也是把資料結構發揮的淋漓盡致,甚至cpu硬體支援本身就充分體現了結構化,或者說資料結構。gdt段描述符,ldt段描述符,tss段描述符,對描述符進行組織的描述附表,門描述符等等都有自己的資料結構,他們運用自己的格式將資料組織起來。

門描述符。門描述符並不描述某種記憶體段,而是描述控制轉移的入口點。這種描述符好比乙個通向另一**段的門。通過這種門,可實現任務內特權級的變換和任務間的切換。門描述符分為:任務門、呼叫們、中斷門、陷阱門。

呼叫門。呼叫門描述某個子程式的入口。呼叫門內的選擇子必須指向**段描述符,呼叫門內的偏移是對應**段內的偏移。利用段間呼叫指令call,通過呼叫門可實現任務內從外層特權級變換到內層特權級。

任務門。任務門指示任務。任務門內的選擇子必須指向gdt中的任務狀態段tss描述符,,門中的便宜無意義。任務的入口點儲存在tss中。利用段間轉移指令jmp和段間呼叫指令call,通過任務門可以實現任務的切換。

中斷門和陷阱門。中斷門和陷阱門描述中斷/異常處理程式的入口點。中斷門和陷阱門內的選擇子必須指向**段描述符,門內的偏移就是對應**段的入口偏移。中斷門和陷阱門只有在中斷描述符表idt中才有效。

任務狀態段。tss在任務切換過程中起著重要作用,通過它實現任務的掛起和恢復。所謂任務切換是指,掛起當前正在執行的任務,恢復另乙個任務的執行。在任務切換過程中:1、處理器中各暫存器的當前值自動儲存到tr所指定的tss中;2、下乙個任務的tss的選擇子唄裝入tr;3、從tr所指定的tss中取出各暫存器的值送到處理器的各暫存器中。由此可見,通過在tss中儲存任務現場各暫存器狀態的完整映像,實現任務的切換。tss的基本格式有104位元組組成,可分為鏈結字段區、記憶體堆疊指標區域、位址對映暫存器區域、暫存器儲存區域和其他欄位等五個區域。

TSS 段(任務狀態段)

tss在任務切換過程中起著重要作用,通過它實現任務的掛起和恢復。所謂任務切換是指,掛起當前正在執行的任務,恢復或啟動另一任務的執行。在任務切換過程中,首先,處理器中各暫存器的當前值被自動儲存到tr所指定的tss中 然後,下一任務的tss的選擇子被裝入tr 最後,從tr所指定的tss中取出各暫存器的值...

TSS任務狀態段

1.什麼是tss tss全稱task state segment 是作業系統在進行程序切換時儲存程序現場資訊的段 2.tss什麼時候用,有什麼用 tss在任務 程序 切換時起著重要的作用,通過它儲存cpu中各暫存器的值,實現任務的掛起和恢復。比如說,當cpu執行a程序的時間片用完,要切換到b程序時,...

中斷描述符(IDT) 任務門 中斷門 陷阱門

中斷描述符idt表示乙個系統表,它與中斷或異常向量相聯絡。每乙個中斷或異常向量在這個系統表中有對應的中斷或異常處理程式入口位址。中斷描述符的每一項對應乙個中斷或異常向量,每個向量由8個位元組組成。因此,最多需要256 8 2048位元組來存放idt。在執行中斷之前,必須初始化idt 中斷描述符表 i...