• 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 6: Synchronisation

    Public Member Functions | List of all members
    GuardedSemaphore Class Reference

    Guarded interface to Semaphore objects used by user applications. More...

    #include <syscall/guarded_semaphore.h>

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

    Public Member Functions

     GuardedSemaphore (unsigned c)
     The constructor passes the parameters to the base-class constructor. More...
     
    void p ()
     Wait for access to the critical area. More...
     
    void v ()
     Leave the critical area. More...
     

    Detailed Description

    Guarded interface to Semaphore objects used by user applications.

    Implements the system call interface for class Semaphore. All methods provided by this class are wrappers for the respective method from the base class, which provide additional synchronization by using the class Guarded.

    Constructor & Destructor Documentation

    GuardedSemaphore::GuardedSemaphore ( unsigned  c)
    inlineexplicit

    The constructor passes the parameters to the base-class constructor.

    Todo:
    Implement constructor

    Member Function Documentation

    void GuardedSemaphore::p ( )
    inline

    Wait for access to the critical area.

    Enter/Wait operation: If the counter is greater than 0, then it is decremented by one. Otherwise the calling thread will be enqueued into the Waitingroom and marked as blocked.

    Todo:
    Implement Method
    Note
    This method is equal to the correspondent method in base class Semaphore, with the only difference that the call will be protected by a Guarded object.
    Todo:
    Implement method
    void GuardedSemaphore::v ( )
    inline

    Leave the critical area.

    Leave operation: If there are threads in the Waitingroom, wake the first one; otherwise increment the counter by one.

    Todo:
    Implement Method
    Note
    This method is equal to the correspondent method in base class Semaphore, with the only difference that the call will be protected by a Guarded object.
    Todo:
    Implement method

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

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