• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Embedded Systems Software
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2024/25
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Systemprogrammierung 2
      • Verlässliche Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • Betriebssystemtechnik
    • Vorlesung
      • Folien
      • Glossar
    • Übung
      • Aufgaben
      • Dokumentation
        • Blog
          • Entwicklungsumgebung
            • Assembler Crashkurs
              • C++ Crashkurs
                • 🔗 Testrechnerverwaltung
                • 🔗 Adora-Belle (Helpdesk)
                • Kontakt
              • Evaluation

              Dokumentation

              Classes | Structs | Enumerations | Functions
              GDT Namespace Reference

              Abstracts the GDT that, primarily, contains descriptors to memory segments. More...

              Classes

              union  SegmentDescriptor
               Describes the structure of segment descriptors. More...
               

              Structs

              struct  Pointer
               Structure that describes a GDT Pointer (aka GDT Descriptor) More...
               
              struct  SegmentDescriptor.__unnamed__
               

              Enumerations

              enum  Segments {
                SEGMENT_NULL = 0,
                SEGMENT_KERNEL_CODE,
                SEGMENT_KERNEL_DATA
              }
               
              enum  Granularity {
                GRANULARITY_BYTES = 0,
                GRANULARITY_4KBLOCK = 1
              }
               Unit of the segment limit. More...
               
              enum  DescriptorType {
                DESCRIPTOR_SYSTEM = 0,
                DESCRIPTOR_CODEDATA = 1
              }
               Descriptor type. More...
               
              enum  Size {
                SIZE_16BIT = 0,
                SIZE_32BIT = 2,
                SIZE_64BIT = 1
              }
               Address width. More...
               

              Functions

              constexpr Pointer gdt_protected_mode_pointer (protected_mode)
               
              constexpr Pointer gdt_long_mode_pointer (long_mode)
               

              Detailed Description

              Abstracts the GDT that, primarily, contains descriptors to memory segments.

              The GDT is a table that primarily contains segment descriptors. Segment descriptors has a size of 8 Bytes and contains the size, position, access rights, and purpose of such a segment. Unlike the LDT, the GDT is shared between all processes and may contain TSS and LDT descriptors. For the kernel, the first entry is required to be a null descriptor and the code and data segments. To support user-mode processes, additional TSS, code, and data segments for ring 3 must be added.

              The base address and size of the GDT are written to the GDTR register during boot (via. lgdt).

              See also
              ISDMv3, 2.4.1; Global Descriptor Table Register (GDTR)
              ISDMv3, 3.5.1; Segment Descriptor Tables

              Enumeration Type Documentation

              enum GDT::Granularity

              Unit of the segment limit.

              Enumerator
              GRANULARITY_BYTES 

              Segment limit in Bytes.

              GRANULARITY_4KBLOCK 

              Segment limit in blocks of 4 Kilobytes.

              enum GDT::DescriptorType

              Descriptor type.

              Enumerator
              DESCRIPTOR_SYSTEM 

              entry is a system segment

              DESCRIPTOR_CODEDATA 

              entry is a code/data segment

              enum GDT::Size

              Address width.

              Enumerator
              SIZE_16BIT 

              16-bit (D/B = 0, L = 0)

              SIZE_32BIT 

              32-bit (D/B = 1, L = 0)

              SIZE_64BIT 

              64-bit (D/B = 0, L = 1)

              Friedrich-Alexander-Universität
              Erlangen-Nürnberg

              Schlossplatz 4
              91054 Erlangen
              • Impressum
              • Datenschutz
              • Barrierefreiheit
              • Facebook
              • RSS Feed
              • Xing
              Nach oben