• 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
                    • Assembler Crashkurs
                      • C++ Crashkurs
                        • Entwicklungsumgebung
                          • FAQ
                            • Ruhmeshalle

                          Aufgabe 6: Synchronisation

                          Classes | Enumerations | Functions
                          IDT Namespace Reference

                          "Interrupt Descriptor Table (IDT) More...

                          Classes

                          struct  InterruptDescriptor.__unnamed42__.__unnamed44__
                           

                          Enumerations

                          enum  Gate {
                            GATE_TASK = 0x5 ,
                            GATE_INT = 0x6 ,
                            GATE_TRAP = 0x7
                          }
                           Gate types. More...
                           
                          enum  GateSize {
                            GATE_SIZE_16 = 0 ,
                            GATE_SIZE_32 = 1
                          }
                           Segment type. More...
                           
                          enum  DPL {
                            DPL_KERNEL = 0 ,
                            DPL_USER = 3
                          }
                           Descriptor Privilege Level. More...
                           

                          Functions

                          void load ()
                           Load the IDT's address and size into the IDT-Register via idtr.
                           
                          void handle (uint8_t vector, void *handler, enum Gate type=Gate::GATE_INT, enum GateSize size=GateSize::GATE_SIZE_32, enum DPL dpl=DPL::DPL_KERNEL, bool present=true)
                           Configure entry point for interrupt handling. More...
                           

                          Detailed Description

                          "Interrupt Descriptor Table (IDT)

                          See also
                          ISDMv3 6.14 Exception and Interrupt Handling in 64-bit Mode

                          Class Documentation

                          struct IDT::InterruptDescriptor.__unnamed42__.__unnamed44__
                          Class Members
                          uint8_t ist: 3 IST Index (64 bit)
                          uint8_t __pad0__: 5 unused, has to be 0
                          Gate type: 3 gate type
                          GateSize size: 1 gate size
                          uint8_t __pad1__: 1 unused, has to be 0
                          DPL dpl: 2 descriptor privilege level
                          uint8_t present: 1 present: 1 for interrupts

                          Enumeration Type Documentation

                          enum IDT::Gate

                          Gate types.

                          See also
                          ISDMv3 3.5 System Descriptor Types
                          Enumerator
                          GATE_TASK 

                          Task Gate.

                          GATE_INT 

                          Interrupt Gate.

                          GATE_TRAP 

                          Trap Gate.

                          enum IDT::GateSize

                          Segment type.

                          See also
                          ISDMv3 3.5 System Descriptor Types
                          Enumerator
                          GATE_SIZE_16 

                          16 bit

                          GATE_SIZE_32 

                          32 / 64 bit

                          enum IDT::DPL

                          Descriptor Privilege Level.

                          Enumerator
                          DPL_KERNEL 

                          Ring 0 / Kernel mode.

                          DPL_USER 

                          Ring 3 / User mode.

                          Function Documentation

                          void IDT::handle ( uint8_t  vector,
                          void *  handler,
                          enum Gate  type = Gate::GATE_INT,
                          enum GateSize  size = GateSize::GATE_SIZE_32,
                          enum DPL  dpl = DPL::DPL_KERNEL,
                          bool  present = true 
                          )

                          Configure entry point for interrupt handling.

                          The provided entry function ("handler") is required to, as first step, save the registers.

                          Parameters
                          vectorInterrupt vector number for which the handler is to be set/changed
                          handlerLow-level entry point for interrupt handling
                          typeGate type (Interrupt, Trap, or Task)
                          size16- or 32-bit
                          dplPermissions required for enter this interrupt handler (kernel- or user space)
                          presentDenotes whether the IDT descriptor is marked as available
                          Friedrich-Alexander-Universität
                          Erlangen-Nürnberg

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