• 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 2025/26
      • Systemprogrammierung 2
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
      • Projekt angewandte Systemsoftwaretechnik
      • Aktuelle Entwicklung in Verteilten und Objektorientierten Betriebssystemen (für Bachelor-/Masterarbeit)
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • Betriebssysteme
    • Vorlesung
      • Folien
    • Übung
      • Seminar
      • Aufgaben
      • Aufgabe 0: C++ Streams
        • Aufgabe 1: Ein-/Ausgabe
          • Aufgabe 2: Unterbrechungen
            • Aufgabe 3: Pro-/Epilog
              • Aufgabe 4: Kontextwechsel
                • Aufgabe 5: Zeitscheiben
                  • Aufgabe 6: Synchronisation
                    • Aufgabe 7: Anwendung
                      • Assembler Crashkurs
                        • C++ Crashkurs
                          • Entwicklungsumgebung
                            • FAQ
                              • Ruhmeshalle

                            Aufgabe 6: Synchronisation

                            • GDT
                            • Pointer
                            Public Member Functions | Public Attributes | List of all members
                            GDT::Pointer Struct Reference

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

                            #include <machine/gdt.h>

                            Public Member Functions

                            template<typename T , size_t LEN>
                            constexpr Pointer (const T(&desc)[LEN])
                             Constructor (automatic length) More...
                             
                            constexpr Pointer (void *desc, size_t len)
                             Constructor. More...
                             
                            void set (void *desc, size_t len)
                             Set an address. More...
                             

                            Public Attributes

                            uint16_t limit
                             GDT size in bytes (minus 1 byte)
                             
                            void * base
                             GDT base address.
                             

                            Detailed Description

                            Structure that describes a GDT Pointer (aka GDT Descriptor)

                            It contains both the length (in bytes) of the GDT (minus 1 byte) and the pointer to the GDT. The pointer to the GDT can be loaded using the instruction lgdt.

                            Note
                            As Intel uses little endian for representing multi-byte values, the GDT::Pointer structure can be used for 16, 32, and 64 bit descriptor tables:
                            *         | 16 bit | 16 bit  | 16 bit  | 16 bit  | 16 bit  |
                            *         +--------+---------------------------------------+
                            * Pointer | limit  | base (up to 64 bit)                   |
                            *         +--------+---------+---------+---------+---------+
                            *         | used for 16 bit  | ignored...                  |
                            *         |      used for 32 bit       | ignored...        |
                            *         |                used for 64 bit                 |
                            *        
                            See also
                            ISDMv3, Figure 2-6; Memory Management Registers

                            Constructor & Destructor Documentation

                            template<typename T , size_t LEN>
                            constexpr GDT::Pointer::Pointer ( const T(&)  desc[LEN])
                            inlineexplicitconstexpr

                            Constructor (automatic length)

                            Parameters
                            descArray of GDT segment descriptors – must be defined in the same module!
                            constexpr GDT::Pointer::Pointer ( void *  desc,
                            size_t  len 
                            )
                            inlineconstexpr

                            Constructor.

                            Parameters
                            descAddress of the GDT segment descriptors
                            lenNumber of entries

                            Member Function Documentation

                            void GDT::Pointer::set ( void *  desc,
                            size_t  len 
                            )
                            inline

                            Set an address.

                            Note
                            On change, lgdt must be executed again
                            Parameters
                            descAddress of the GDT segment descriptors
                            lenNumber of entries

                            The documentation for this struct was generated from the following file:
                            • machine/gdt.h
                            Friedrich-Alexander-Universität
                            Erlangen-Nürnberg

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