• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
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 schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Eingebettete Systemsoftware
      • 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
                • Kontakt
              • Evaluation

              C++ Crashkurs

              Public Member Functions | List of all members
              Assassin Class Reference
              Multithreading

              Handling for the "killer"-IPI, that is a message indicating that a thread should be terminated. More...

              #include <thread/assassin.h>

              + Inheritance diagram for Assassin:
              Video: https://sys.cs.fau.de/lehre/ss24/bst/uebung/cpp/extern/classAssassin__inherit__graph.svg
              [legend]
              + Collaboration diagram for Assassin:
              Video: https://sys.cs.fau.de/lehre/ss24/bst/uebung/cpp/extern/classAssassin__coll__graph.svg
              [legend]

              Public Member Functions

              void hire ()
               Configure the Assassin. More...
               
              bool prologue ()
               Interrupt Prologue. More...
               
              virtual void epilogue ()
               Interrupt Epilogue. More...
               
              - Public Member Functions inherited from Gate
               Gate ()
               Constructor.
               
              virtual ~Gate ()
               Destructor. More...
               
              virtual bool prologue ()=0
               Device-specific interrupt handling routine that is executed immediately after the interrupt occurs (asynchronously). More...
               
              virtual void epilogue ()
               Possibly delayed, synchronously executed Device-specific interrupt handling routine. More...
               

              Detailed Description

              Handling for the "killer"-IPI, that is a message indicating that a thread should be terminated.

              Only required for MPStuBS.

              If one thread wants to terminate another thread by calling Scheduler::kill(), and the thread to be killed is currently being executed on another CPU, this CPU needs to be notified that the active process is to be killed. MPStuBS relies on an inter-processor interrupt (IPI) for this purpose. The class Assassin shall handle the IPI by removing the active thread from scheduling and issue a reschedule iff the active thread has a set kill flag.

              Member Function Documentation

              void Assassin::hire ( )

              Configure the Assassin.

              Setup the plugbox, such that the assassin will be executed once the corresponding IPI is issued.

              bool Assassin::prologue ( )
              virtual

              Interrupt Prologue.

              There is nothing to do in the prologue except requesting an epilogue.

              Returns
              true to request an epilogue

              Implements Gate.

              void Assassin::epilogue ( )
              virtual

              Interrupt Epilogue.

              The epilogue now should check the dying flag of the currently running thread and, if set, issue a rescheduling.

              Reimplemented from Gate.


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

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