Segment de stare a sarcinii

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Un segment de stare de activitate ( TSS ) este o structură specifică a procesoarelor familiei x86 în care este stocat contextul unui proces . Descriptorul său se găsește în Tabelul descriptorului global (GDT).

Ca segmente , segmentele de stare sunt menționate de descriptorul de segment al stării activității (TSSD) situat în GDT .

Structura unui TSS

TSS conține diferite tipuri de informații:

  • Registrele generale EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI
  • Registrele CS, ES, SS, DS, FS, GS
  • Registrul EFLAGS
  • Registrul EIP
  • Registrul CR3
  • Registrul LDTR
  • Selectorele TSS ale procesului care a fost rulat anterior
  • Adresa de bază a hărții I / O și harta I / O
  • Indicatoarele stivei de niveluri de privilegii 0,1,2
decalaj 31-16 15-0
0x64 Compensarea IOPB Rezervat
0x60 Rezervat LDTR
0x5C Rezervat GS
0x58 Rezervat FS
0x54 Rezervat DS
0x50 Rezervat SS
0x4C Rezervat CS
0x48 Rezervat ES
0x44 ȘI DE
0x40 EI BINE, DA
0x3C EBP
0x38 ESP
0x34 EBX
0x30 EDX
0x2C ECX
0x28 EAX
0x24 EFLAGS
0x20 EIP
0x1C CR3
0x18 Rezervat SS2
0x14 ESP2
0x0C Rezervat SS1
0x10 ESP1
0x08 Rezervat SS0
0x04 ESP0
0x00 Rezervat LEGĂTURĂ

Utilizare

Linux

Sub Linux , la fiecare comutare de context , nucleul (datorită macro-ului "SWITCH_TO") actualizează TSS cu informațiile (registre generale, EIP, EFLAGS etc.) ale noului proces.

TSS este folosit printre altele de către nucleu pentru a reveni dintr-un apel de sistem sau pentru a gestiona excepția „dublă eroare” ( procesorul , neputând să se bazeze pe registrele sale, folosește TSS).

TSS în arhitectura x86-64

Arhitectura x86-64 nu acceptă comutarea contextului hardware, totuși TSS poate fi încă utilizat pe o mașină folosind modul pe 64 de biți. În acest mod, TSS este utilizat pentru a stoca:

  1. Indicatorul stivei pentru fiecare nivel de privilegiu.
  2. Adresa indicatorului către tabelul de stivă de întrerupere
  3. Decalarea bitmap-ului permisiuni IO

Registrul de sarcini este extins pentru a conține adrese pe 64 de biți.

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT