OOStuBS/MPStuBS
Klassenhierarchie

gehe zur grafischen Darstellung der Klassenhierarchie

Die Liste der Ableitungen ist -mit Einschränkungen- alphabetisch sortiert:
[Detailebene 1234]
 CAPICSystemAbstraktion für die Erkennung und das Booten eines PCs mit APIC
 CCGA_Screen::AttributeStruktur für [Farb]Attribute eines Zeichens
 CBBuffer< T, CAP >Die Klasse BBuffer implementiert einen "Bounded Buffer", also einen Puffer mit beschränkter Größe
 CBBuffer< char, 16 >
 CBellringerVerwaltung und Anstoßen von zeitgesteuerten Aktivitäten
 CCGA_Screen::CellStruktur für ein Zeichen im CGA Textmodus
 CCGA_ScreenAbstraktion des CGA-Textmodus
 CCGA_StreamDarstellung verschiedener Datentypen auf dem Bildschirm
 CCPUImplementierung einer Abstraktion fuer den Prozessor
 Cdebug_contextGesicherter Debug-Unterbrechungskontext
 CDFRDestination Format Register
 CDispatcherDer Dispatcher lastet Threads ein und setzt damit die Entscheidungen der Ablaufplanung durch
 CSchedulerDer Scheduler implementiert die Ablaufplanung und somit die Auswahl des nächsten Threads
 CFramebuffer< pixel_width, red_offset, green_offset, blue_offset, red_size, green_size, blue_size >Die Klasse Framebuffer kapselt die grundlegende Funktionalität, um den Inhalt eines Stück Speichers als Bitmap zu behandeln
 CGraphicsPrinter< pixel_width, red_offset, green_offset, blue_offset, red_size, green_size, blue_size >GraphicsPrinter implementiert die Zeichenmethoden, die von VESAScreen und schlussendlich VESAGraphics angeboten werden
 CGateKlasse von Objekten, die in der Lage sind, Unterbrechungen zu behandeln
 CAssassinBehandlung für einen "Killer"-IPI, also eine Nachricht, dass ein Thread beendet werden soll
 CConsoleKonsole (VT100) über serielle Schnittstelle.Mit Hilfe dieser Klasse kann ein VT100-kompatibles Anzeigeterminal über die serielle Schnittstelle verbunden werden
 CKeyboardDie Klasse Keyboard stellt die Abstraktion der Tastatur dar.Sie sorgt für die korrekte Initialisierung und vor allem für die Unterbrechungsbehandlung. Später wird Keyboard auch die Tastaturabfrage durch die Anwendung ermöglichen
 CGuarded_KeyboardSystemaufrufschnittstelle zur Tastatur
 CPanicStandardunterbrechungsbehandlung
 CWakeUpInterruptbehandlungsobjekt, um in MPStuBS schlafende Prozessoren mit einem IPI zu wecken, falls neue Threads aktiv wurden. Diese Interruptbehandlung soll explizit keinen Epilog nach sich ziehen
 CWatchInterruptbehandlung für Timerinterrupts
 CGDTDescriptorDiese Klasse beschreibt den Inhalt eines einzelnen GDT Eintrages
 CGlobalDescriptorTableDiese Struktur beschreibt einen GDT Zeiger. Er enthält die Länge der GDT in Bytes (minus 1 Byte) und den Pointer auf die GDT. Dieser Pointer wird zusammen mit lgdt verwendet
 CGuardSynchronisation des BS-Kerns mit Unterbrechungen
 CGuarded_SchedulerSystemaufrufschnittstelle zum Scheduler
 CHarddiskSimpler ATA Treiber, der 28bit Adressierung und polling über IOPorts verwendet
 CICR_HInterrupt Command Register High
 CICR_LInterrupt Command Register Low
 CIO_PortDie IO_Port-Klasse dient dem Zugriff auf die Ein-/Ausgabeports des PC
 CIOAPICAbstraktion des IO-APICs, der zur Verwaltung der externen Interrupts dient
 CIOAPICIDID des IO-APICs
 CIOAPICRegisterUnion über die einzelnen Registertypen des IO-APICs
 CIOREDTBL_HEintrag in der IO Redirection Table.
 CIOREDTBL_LEintrag in der IO Redirection Table
 Cirq_contextGesicherter Unterbrechungskontext (generischer Teil)
 Cirq_context_with_error_codeGesicherter Unterbrechungskontext falls ein Fehlercode vorhanden ist
 Cirq_context_without_error_codeGesicherter Unterbrechungskontext falls kein Fehlercode vorhanden ist
 CQueue< T, next_field >::IteratorEin Queue Iterator
 CKeyboard_Controller::kbd_cmdKommandos an die Tastatur
 CKeyboard_Controller::kbd_replyAntworten der Tastatur
 CKeyAbstraktion für eine Taste bestehend aus ASCII-Code, Scancode und Modifierbits
 CKey_DecoderDekodierer für die empfangenen Tastaturcontrollercodes
 CKeyboard_ControllerAbstraktion für den Tastaturcontroller des PCs
 CKeyboardDie Klasse Keyboard stellt die Abstraktion der Tastatur dar.Sie sorgt für die korrekte Initialisierung und vor allem für die Unterbrechungsbehandlung. Später wird Keyboard auch die Tastaturabfrage durch die Anwendung ermöglichen
 CLAPICAbstraktion des in der CPU integrierten local APICs
 CLAPICID_PLocal APICID Register für P6 und Pentium
 CLAPICID_P4Local APIC ID Register für Pentium IV und spätere
 CLAPICTimer_ControlLAPIC-Timer Control Register
 CLAPICVERLocal APIC Version Register
 CLDRLogical Destination Register
 CMathDie Klasse Math implementiert mathematische Hilfsfunktionen
 Cmpct_busBus Entry Intel MP Spec, p. 4-10
 Cmpct_intI/O Interrupt Entry
 Cmpct_ioapicIOAPIC Entry
 Cmpct_processorProcessor Entry
 CmpcthMP config table header
 CmpfpsMP floating pointer structure
 CNull_StreamDie Klasse Null_Stream ignoriert alle mittels Streamoperator übergebenen Daten
 CPlugboxAbstraktion einer Interruptvektortabelle
 CQueue< T, next_field >Die Klasse Queue realisiert eine einfach verkettete Liste von Objekten mit next Zeiger
 CQueue< Bell, &Bell::bellringer_link >
 CQueue< Gate >
 CQueue< Thread >
 CWaitingroomListe von Threads, die auf ein Ereignis warten
 CBellSynchronisationsobjekt zum Schlafenlegen für eine bestimmte Zeitspanne
 CGuarded_BellSchnittstelle von Anwendungsthreads zu Bell-Objekten
 CSemaphoreSemaphore werden zur Synchronisation von Threads verwendet
 CGuarded_SemaphoreSystemaufrufschnittstelle zum Semaphor
 CQueue< Thread, &Thread::queue_link >
 CQueueLink< T >Verkettungszeiger zum Einfügen eines Objektes in eine einfach verkettete Liste
 CQueueLink< Bell >
 CQueueLink< Gate >
 CQueueLink< Thread >
 CKey::scanScan-Codes einiger spezieller Tasten
 CSecureDie Klasse Secure dient dem bequemen Schutz kritischer Abschnitte
 CSerialSerielle Schnittstelle.Mit Hilfe dieser Klasse kann man über die serielle Schnittstelle (COM1 - COM4) einfach mit der Außenwelt kommunizieren
 CConsoleKonsole (VT100) über serielle Schnittstelle.Mit Hilfe dieser Klasse kann ein VT100-kompatibles Anzeigeterminal über die serielle Schnittstelle verbunden werden
 CGDB_StubGDB Remote Stub KlasseDiese Klasse ermöglicht ein entferntes Debuggen des Betriebssystems mit GDB auf echter Hardware (aber auch im Emulator), in dem sie einen Teil des GDB Remote Serial Protocols (RSP) implementiert, eigene Unterbrechungsbehandlungsroutinen für Traps installiert und über die serielle Schnittstelle kommuniziert
 CSpinlockMit Hilfe eines Spinlocks kann man Codeabschnitte serialisieren, die echt nebenläufig auf mehreren CPUs laufen
 CGDB_Stub::stateStruktur mit dem Systemzustands nach Traps
 CStringbufferDie Klasse Stringbuffer dient dazu, einzelne Zeichen zu längeren Texten zusammenzustellen, die dann an einem Stück verarbeitet werden können
 CO_StreamDie Aufgaben der Klasse O_Stream entsprechen im Wesentlichen denen der Klasse ostream der bekannten C++ IO-Streams-Bibliothek
 CCGA_StreamDarstellung verschiedener Datentypen auf dem Bildschirm
 CConsoleKonsole (VT100) über serielle Schnittstelle.Mit Hilfe dieser Klasse kann ein VT100-kompatibles Anzeigeterminal über die serielle Schnittstelle verbunden werden
 CConsoleOutAusgabe auf der Konsole
 CFileOutAusgabe in eine Datei
 CSVRSpurious Interrupt Vector Register
 CThreadDer Thread ist das Objekt der Ablaufplanung
 CApplicationDie Klasse Application definiert eine Anwendung für OO-Stubs
 CFPSDie Klasse Application definiert eine Anwendung für OO-Stubs
 CIdleThreadThread, der immer dann läuft, wenn eine CPU nichts zu tun hat
 CKeyboardApplicationDie Klasse KeyboardApplication definiert eine Anwendung für OO-Stubs
 CTicketlockMit Hilfe eines Ticketlocks kann man Codeabschnitte serialisieren, die echt nebenläufig auf mehreren CPUs laufen
 CtocDie Struktur toc dient dazu, bei einem Koroutinenwechsel die Werte der nicht-flüchtigen Register zu sichern
 CTPRTask Priority Register
 CVESAScreenAbstraktion einer VESA Grafikkarte
 CVESAGraphicsTreiber für die VESAGrafikkarte
 CGuarded_VESAGraphicsSchnittstelle der Anwendung zur Verwendung von Guarded_VESAGraphics