• 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

    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