TSS

TSS ( Engelska  Task State Segment - task state segment) är en speciell struktur i x86- arkitekturen som innehåller information om uppgiften ( processen ). Kan användas av operativsystemet för uppgiftsschemaläggning, men vanligtvis (t.ex. på Linux [1] ) används endast för att byta till kärnstacken vid hantering av avbrott och undantag. TSS innehåller information om:

Plats för TSS

Kan finnas var som helst i minnet. Ett speciellt segmentregister (Task Register - TR) innehåller en segmentväljare som pekar på en giltig TSS- segmentbeskrivning permanent lagrad i GDT (får inte lagras i LDT ). För att använda TSS måste OS-kärnan utföra följande steg:

Av säkerhetsskäl måste TSS vara placerad i ett minnesområde som endast är tillgängligt för kärnan .

Uppgiftsregister TR

TR är ett 16-bitars register som innehåller segmentväljaren för TSS. Kan laddas via LTR-instruktionen. Den består av två delar: en av dem är synlig och tillgänglig för programmeraren, och den andra, inte synliga delen, laddas automatiskt från TSS-deskriptorn.

Anteckningar

  1. Understanding the Linux Kernel, 3rd Ed. Daniel P. Bovet; 2005 "3.3.2. Task State Segment": "Även om Linux inte använder hårdvarukontextväxlar, tvingas det ändå att ställa in en TSS för varje distinkt CPU i systemet.... 80×86 CPU-växlar från användarläge till Kernel Mode, hämtar den adressen till Kernel Mode-stacken från TSS."

Länkar