• 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

                          File List
                          Here is a list of all documented files with brief descriptions:
                          [detail level 123]
                           ▼ boot
                           ► multiboot
                           data.hMultiboot Interface
                           startup.hStartup of the first core, also known as bootstrap processor (BSP)
                           startup_ap.hStartup of additional cores, the application processors (APs)
                           ▼ compiler
                           fix.hCompiler-dependent fixes & idiosyncrasies
                           libc.hInitialization functions for global objects required by the compiler
                           libcxx.ccC++ runtime support functions
                           ▼ debug
                           ► gdb
                           handler.hFor GDB_Stub Interrupt handler and its context
                           state.hGDB_Stub State of the current core
                           stub.hGDB_Stub contains the necessary functionality for remote debugging
                           assert.hContains several macros usable for making assertions
                           copystream.hCopyStream duplicates output streams
                           kernelpanic.hMacro to print an error message and stop the current core
                           nullstream.hNullStream is a stream discarding everything
                           output.hDebug macros enabling debug output on a separate window for each core
                           ▼ device
                           clock.hThe Clock, an device interface for the Real Time Clock
                           keyboard.hThe Keyboard device handles keystrokes
                           mouse.hThe Mouse device handles mouse movements and clicks
                           panic.hDefault interrupt handling device Panic
                           serialstream.hSerial output stream
                           textstream.hTextStream outputs text onto the screen in TextMode
                           ticker.hTicker device using HPET
                           watch.hWatch device using the LAPIC::Timer
                           ▼ interrupt
                           gate.hClass Gate (Device interrupt handling)
                           gatequeue.hQueue for gates (epilogues)
                           guard.hGuard synchronizes access to epilogue level
                           guarded.hGuarded, an interface to secure critical sections
                           handler.hinterrupt_handler() Interrupt handler
                           plugbox.hPlugbox allows assigning devices to interrupt vectors
                           ▼ machine
                           acpi.hStructs and methods related to the Advanced Configuration and Power Interface (ACPI)
                           apic.hGather system information from the ACPI about the Advanced Programmable Interrupt Controller (APIC)
                           cache.hHelper for cache alignment
                           cmos.hControlling the complementary metal oxide semiconductor (CMOS)
                           context.hFunctionality required for context switching
                           core.hAccess to internals of a CPU Core
                           core_cr.hAccess to Control Register of a CPU core
                           core_interrupt.hInterrupt control and interrupt vector list
                           core_msr.hIdentifiers for Model-Specific Register
                           cpuid.hCPUID queries information about the processor
                           fpu.hHelper for floating point unit (x87), Multi Media Extension (MMX) and Streaming SIMD Extensions (SSE)
                           gdt.hThe Global Descriptor Table (GDT)
                           hpet.hThe High Precision Event Timer (HPET)
                           idt.hInterrupt Descriptor Table (IDT) containing the entry points for interrupt handling
                           ioapic.hIOAPIC abstracts the access to the I/O APIC
                           ioapic_registers.hHelper structures for interacting with the I/O APIC
                           ioport.hIOPort provides access to the x86 IO address space
                           keydecoder.hKeyDecoder decodes a keystroke to the corresponding Key object
                           lapic.hLAPIC abstracts access to the Local APIC
                           lapic_registers.hStructures and macros for accessing the local APIC
                           mousedecoder.hMouseDecoder decodes a mouse movement
                           pic.hHandle (disable) the old Programmable Interrupt Controller (PIC)
                           pit.hThe old/historical Programmable Interval Timer (PIT)
                           ps2controller.hPS/2 Controller (Intel 8042, also known as Keyboard Controller)
                           rtc.hReal Time Clock to retrieve the current date & time
                           serial.hCommunication via the Serial interface (RS-232)
                           system.hGeneral System functionality (reboot)
                           textmode.hTextMode provides a basic interface to display a character in VGA-compatible text mode
                           textwindow.hTextWindow provides virtual output windows in text mode
                           tsc.hTimeStamp Counter (TSC)
                           ▼ object
                           bbuffer.hContains a bounded buffer
                           key.hKey, an abstraction for handling pressed keys and their modifiers
                           outputstream.hThis file contains the OutputStream
                           percore.hPerCore wrapper for core local variables
                           pointer.hPointer, the Mouse state
                           queue.hSimple Queue (for elements inheriting from Queue::Node)
                           stringbuffer.hStringbuffer composes single characters into a buffer
                           time.hDateTime structure with conversation to unix timestamp format
                           ▼ sync
                           bell.hBell, a synchronization object for sleeping
                           bellringer.hBellringer that manages and activates time-triggered activities
                           semaphore.hSemaphore for synchronization of threads
                           spinlock.hContains the class Spinlock
                           ticketlock.hContains the class Ticketlock
                           waitingroom.hContains the class Waitingroom
                           ▼ syscall
                           guarded_bell.hGuardedBell, a guarded interface for Bell
                           guarded_keyboard.hGuardedKeyboard, a guarded interface for Keyboard
                           guarded_scheduler.hGuardedScheduler, a guarded interface for Scheduler
                           guarded_semaphore.hGuardedSemaphore, a guarded interface for Semaphore
                           ▼ test-stream
                           console_out.hConsole output (for the voluntary C++ exercise only)
                           file_out.hFile output (for the voluntary C++ exercise only)
                           ▼ thread
                           assassin.hAssassin handles IPIs triggered by Scheduler::kill
                           dispatcher.hDispatcher for Thread threads
                           idlethread.hIdleThread executed by the Scheduler if no other Thread is ready
                           scheduler.hScheduler to manage the threads
                           thread.hThread abstraction required for multithreading
                           wakeup.hWakeUp allows to activate sleeping cores
                           ▼ user
                           ► app2
                           kappl.hKeyboardApplication to test the input
                           ▼ utils
                           math.hGeneral purpose math functions
                           size.hTemplate function to determine the length of an array
                           string.hGeneral purpose String functions
                           types.hDefinition of standard integer types with specified widths and their limits
                          Friedrich-Alexander-Universität
                          Erlangen-Nürnberg

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