GNU/Linux >> Tutoriels Linux >  >> Linux

Fichier dans lequel la structure de données pour la table Global Descriptor et Local Descriptor est définie ?

Une recherche Google pour le terme "Linux Kernel file gdt " donne les résultats exacts que vous recherchez. Il s'agit du lien vers le résultat de la recherche du livre avec le contenu décrivant où le GDT et le LDT sont définis.

  • Tous les GDT sont stockés dans la cpu_gdt_table tableau.

  • Si vous regardez dans l'index du code source, vous pouvez voir que ces symboles sont définis dans le fichier arch/i386/kernel/head.S . Cependant, je pense que l'index du code source peut être consulté lorsque vous avez une copie du livre. Mais néanmoins, le fichier où GDT est défini est donné.


Pour le dernier noyau, le GDT semble être défini dans au moins 3 fichiers distincts.

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

La disposition du GDT principal semble être définie en arch/x86/include/asm/segment.h autour de la ligne 91. Il y a des commentaires sur la mise en page au-dessus de cette ligne.

La table complétée est chargée en arch/x86/include/asm/desc.h avec la fonction static inline void native_load_gdt(const struct desc_ptr *dtr) qui appelle simplement l'opcode d'assemblage lgdt . Ceci est cohérent avec la façon dont les anciens noyaux chargent la table dans le processeur. Voir la ligne 303 ici. Cependant, je ne trouve aucun appel à cette fonction dans la base de code. Quelqu'un s'il vous plaît aider à comprendre cela.

De plus, je ne trouve pas l'équivalent de la définition des constantes de la table réelle comme à la ligne 479 dans les noyaux plus récents.


Linux
  1. Lire et écrire des données de n'importe où avec la redirection dans le terminal Linux

  2. Alternative à "dd" qui ne tronque pas le fichier ?

  3. Les séquences d'échappement de couleur terminales sont-elles définies n'importe où pour Bash ?

  4. Pourquoi le descripteur de fichier est-il ouvert et lu une seule fois ?

  5. Le défi et la promesse du Big Data

Tableau des autorisations pour les types d'utilisateurs d'un fichier/répertoire et d'un système de fichiers

Les 15 meilleurs logiciels économétriques et statistiques pour système Linux

Existe-t-il un outil en ligne de commande pour la visualisation et l'analyse des données ?

Est-il possible que le descripteur de fichier Linux 0 1 2 ne soit pas pour stdin, stdout et stderr ?

Comment puis-je faire en sorte que tcpdump écrive dans un fichier et que la sortie standard affiche les données appropriées?

Qu'est-ce qui est le plus efficace - la compression tar ou zip ? Quelle est la différence entre tar et zip ?