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

                  Aufgabe 2: Unterbrechungen

                  Public Member Functions | List of all members
                  Keyboard Class Reference
                  I/O subsystem

                  Handles keystrokes. More...

                  #include <device/keyboard.h>

                  + Inheritance diagram for Keyboard:
                  [legend]
                  + Collaboration diagram for Keyboard:
                  [legend]

                  Public Member Functions

                   Keyboard ()
                   Constructor.
                   
                  void plugin ()
                   Initialization of the keyboard. More...
                   
                  void trigger () override
                   Handling of keyboard interrupts. More...
                   
                  - Public Member Functions inherited from Gate
                   Gate ()
                   Constructor.
                   
                  virtual ~Gate ()
                   Destructor. More...
                   
                  virtual void trigger ()=0
                   Device-specific interrupt handler. More...
                   

                  Detailed Description

                  Handles keystrokes.

                  This class ensures correct initialization of the keyboard and, above all, its interrupt handling.

                  Member Function Documentation

                  void Keyboard::plugin ( )

                  Initialization of the keyboard.

                  Initialization of the keyboard and activation of the specific interrupt handling: The object will register itself at the Plugbox and configure the IOAPIC to receive the corresponding interrupts.

                  Note
                  The keyboard interrupts should be configured as level triggered. According to the standard we would have to check the corresponding entry in ACPI::MADS::Interrupt_Source_Override and use these values. Most likely this would suggest an edge-triggered mode – which would work as well. However, using a level-triggered mode is more forgiving because it resends the interrupt request even if an interrupt was lost (e.g. the required handling, retrieving the buffer entry, was not performed).
                  Todo:
                  Implement Method
                  void Keyboard::trigger ( )
                  overridevirtual

                  Handling of keyboard interrupts.

                  Processes interrupts triggered by the keyboard. On each keystroke it outputs the corresponding character on the screen – only valid keys are printed, for the sake of simplicity all in a separate line dedicated to the keyboard. If the key combination Ctrl + Alt + Del is pressed, a reboot is triggered.

                  Todo:
                  Implement Method

                  Implements Gate.


                  The documentation for this class was generated from the following files:
                  • device/keyboard.h
                  • device/keyboard.cc
                  Friedrich-Alexander-Universität
                  Erlangen-Nürnberg

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