GNU/Linux >> Linux Esercitazione >  >> Linux

File in cui è definita la struttura dei dati per la tabella Global Descriptor e Local Descriptor?

Una ricerca su Google per il termine "File kernel Linux gdt " fornisce i risultati esatti che stai cercando. Questo è il collegamento al risultato della ricerca del libro con i contenuti che descrivono dove sono definiti GDT e LDT.

  • Tutti i GDT sono memorizzati nella cpu_gdt_table matrice.

  • Se guardi nell'indice del codice sorgente, puoi vedere che questi simboli sono definiti nel file arch/i386/kernel/head.S . Tuttavia, penso che l'indice del codice sorgente possa essere visualizzato quando si dispone di una copia del libro. Tuttavia, viene fornito il file in cui è definito GDT.


Per l'ultimo kernel, il GDT sembra essere definito in almeno 3 file separati.

  • arch/x86/include/asm/desc_defs.h
  • arch/x86/include/asm/desc.h
  • arch/x86/include/asm/segment.h

Il layout del GDT principale sembra essere definito in arch/x86/include/asm/segment.h intorno alla riga 91. Ci sono commenti sul layout sopra questa riga.

La tabella completata viene caricata in arch/x86/include/asm/desc.h con la funzione static inline void native_load_gdt(const struct desc_ptr *dtr) che chiama semplicemente il codice operativo dell'assembly lgdt . Ciò è coerente con il modo in cui i kernel più vecchi caricano la tabella nel processore. Vedere la riga 303 qui. Tuttavia, non riesco a trovare alcuna chiamata a questa funzione nella base di codice. Qualcuno, per favore, mi aiuti a capirlo.

Inoltre non riesco a trovare l'equivalente della definizione delle costanti della tabella effettiva come nella riga 479 nei kernel più recenti.


Linux
  1. Alternativa a "dd" che non tronca il file?

  2. Quale software di compressione file per Linux offre la massima riduzione delle dimensioni?

  3. La differenza tra .exrc e .vimrc?

  4. Esiste uno strumento a riga di comando per la visualizzazione e l'analisi dei dati?

  5. È possibile che il descrittore di file linux 0 1 2 non sia per stdin, stdout e stderr?

Tabella delle autorizzazioni per tipi di utenti di file/directory e file system

I 15 migliori software econometrico e statistico per sistemi Linux

Quale è più efficiente:compressione tar o zip? Qual è la differenza tra tar e zip?

Bloccato nella scelta tra ext4 ed ext3 per il file system

In un collegamento simbolico che punta a "127.0.1.1:+xxxxx", a cosa serve il carattere più?

Qual è la differenza tra il file authorized_keys e il file known_hosts per SSH?