• 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
    • 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)
    • Sommersemester 2026
      • Applied Software Architecture
      • Betriebssystemsicherheit
      • Betriebssystemtechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verlässliche Echtzeitsysteme
      • Verteilte 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

              Dokumentation

              • machine
              Namespaces | Functions | Constants
              core.cc File Reference
              #include "machine/core.h"
              #include "machine/apic.h"
              #include "machine/lapic.h"
              + Include dependency graph for core.cc:

              Namespaces

              namespace  Core
               Implements an abstraction for CPU internals.
               

              Functions

              void Core::init ()
               Initialize this CPU core.
               
              void Core::exit ()
               Deinitialize this CPU core.
               
              unsigned Core::getID ()
               Get the ID of the current CPU core using LAPIC::getID() with an internal lookup table.
               
              unsigned Core::count ()
               Get number of available CPU cores.
               
              unsigned Core::countOnline ()
               Get number of successfully started (and currently active) CPU cores.
               
              bool Core::isOnline (uint8_t core_id)
               Check if CPU core is currently active.
               

              Constants

              const unsigned long CPU_CORE_STACK_SIZE = 4096
               Initial size of CPU core stacks.
               
              static unsigned char cpu_core_stack [Core::MAX *CPU_CORE_STACK_SIZE]
               Reserved memory for CPU core stacks.
               
              unsigned char * cpu_core_stack_pointer = cpu_core_stack
               Pointer to stack memory.
               
              static unsigned Core::cores = 0
               Number of available CPU cores.
               
              static unsigned Core::core_id [255]
               Lookup table for CPU core IDs with LAPIC ID as index.
               
              static unsigned Core::online_cores = 0
               Number of currently online CPU cores.
               
              static bool Core::online_core [Core::MAX]
               Lookup table for online CPU cores with CPU core ID as index.
               

              Variable Documentation

              const unsigned long CPU_CORE_STACK_SIZE = 4096

              Initial size of CPU core stacks.

              Used during startup in boot/startup.asm

              unsigned char cpu_core_stack[Core::MAX *CPU_CORE_STACK_SIZE]
              static

              Reserved memory for CPU core stacks.

              unsigned char* cpu_core_stack_pointer = cpu_core_stack

              Pointer to stack memory.

              Incremented during startup of each core (bootstrap and application processors) in boot/startup.asm

              Friedrich-Alexander-Universität
              Erlangen-Nürnberg

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