CAPICSystem | Abstraktion für die Erkennung und das Booten eines PCs mit APIC |
CCGA_Screen::Attribute | Struktur 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 > | |
CBellringer | Verwaltung und Anstoßen von zeitgesteuerten Aktivitäten |
CCGA_Screen::Cell | Struktur für ein Zeichen im CGA Textmodus |
▼CCGA_Screen | Abstraktion des CGA-Textmodus |
CCGA_Stream | Darstellung verschiedener Datentypen auf dem Bildschirm |
CCPU | Implementierung einer Abstraktion fuer den Prozessor |
Cdebug_context | Gesicherter Debug-Unterbrechungskontext |
CDFR | Destination Format Register |
▼CDispatcher | Der Dispatcher lastet Threads ein und setzt damit die Entscheidungen der Ablaufplanung durch |
CScheduler | Der 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 |
▼CGate | Klasse von Objekten, die in der Lage sind, Unterbrechungen zu behandeln |
CAssassin | Behandlung für einen "Killer"-IPI, also eine Nachricht, dass ein Thread beendet werden soll |
CConsole | Konsole (VT100) über serielle Schnittstelle.Mit Hilfe dieser Klasse kann ein VT100-kompatibles Anzeigeterminal über die serielle Schnittstelle verbunden werden |
▼CKeyboard | Die 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_Keyboard | Systemaufrufschnittstelle zur Tastatur |
CPanic | Standardunterbrechungsbehandlung |
CWakeUp | Interruptbehandlungsobjekt, um in MPStuBS schlafende Prozessoren mit einem IPI zu wecken, falls neue Threads aktiv wurden. Diese Interruptbehandlung soll explizit keinen Epilog nach sich ziehen |
CWatch | Interruptbehandlung für Timerinterrupts |
CGDTDescriptor | Diese Klasse beschreibt den Inhalt eines einzelnen GDT Eintrages |
CGlobalDescriptorTable | Diese 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 |
CGuard | Synchronisation des BS-Kerns mit Unterbrechungen |
CGuarded_Scheduler | Systemaufrufschnittstelle zum Scheduler |
CHarddisk | Simpler ATA Treiber, der 28bit Adressierung und polling über IOPorts verwendet |
CICR_H | Interrupt Command Register High |
CICR_L | Interrupt Command Register Low |
CIO_Port | Die IO_Port-Klasse dient dem Zugriff auf die Ein-/Ausgabeports des PC |
CIOAPIC | Abstraktion des IO-APICs, der zur Verwaltung der externen Interrupts dient |
CIOAPICID | ID des IO-APICs |
CIOAPICRegister | Union über die einzelnen Registertypen des IO-APICs |
CIOREDTBL_H | Eintrag in der IO Redirection Table. |
CIOREDTBL_L | Eintrag in der IO Redirection Table |
▼Cirq_context | Gesicherter Unterbrechungskontext (generischer Teil) |
Cirq_context_with_error_code | Gesicherter Unterbrechungskontext falls ein Fehlercode vorhanden ist |
Cirq_context_without_error_code | Gesicherter Unterbrechungskontext falls kein Fehlercode vorhanden ist |
CQueue< T, next_field >::Iterator | Ein Queue Iterator |
CKeyboard_Controller::kbd_cmd | Kommandos an die Tastatur |
CKeyboard_Controller::kbd_reply | Antworten der Tastatur |
CKey | Abstraktion für eine Taste bestehend aus ASCII-Code, Scancode und Modifierbits |
CKey_Decoder | Dekodierer für die empfangenen Tastaturcontrollercodes |
▼CKeyboard_Controller | Abstraktion für den Tastaturcontroller des PCs |
CKeyboard | Die 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 |
CLAPIC | Abstraktion des in der CPU integrierten local APICs |
CLAPICID_P | Local APICID Register für P6 und Pentium |
CLAPICID_P4 | Local APIC ID Register für Pentium IV und spätere |
CLAPICTimer_Control | LAPIC-Timer Control Register |
CLAPICVER | Local APIC Version Register |
CLDR | Logical Destination Register |
CMath | Die Klasse Math implementiert mathematische Hilfsfunktionen |
Cmpct_bus | Bus Entry Intel MP Spec, p. 4-10 |
Cmpct_int | I/O Interrupt Entry |
Cmpct_ioapic | IOAPIC Entry |
Cmpct_processor | Processor Entry |
Cmpcth | MP config table header |
Cmpfps | MP floating pointer structure |
CNull_Stream | Die Klasse Null_Stream ignoriert alle mittels Streamoperator übergebenen Daten |
CPlugbox | Abstraktion 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 > | |
▼CWaitingroom | Liste von Threads, die auf ein Ereignis warten |
▼CBell | Synchronisationsobjekt zum Schlafenlegen für eine bestimmte Zeitspanne |
CGuarded_Bell | Schnittstelle von Anwendungsthreads zu Bell-Objekten |
▼CSemaphore | Semaphore werden zur Synchronisation von Threads verwendet |
CGuarded_Semaphore | Systemaufrufschnittstelle 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::scan | Scan-Codes einiger spezieller Tasten |
CSecure | Die Klasse Secure dient dem bequemen Schutz kritischer Abschnitte |
▼CSerial | Serielle Schnittstelle.Mit Hilfe dieser Klasse kann man über die serielle Schnittstelle (COM1 - COM4) einfach mit der Außenwelt kommunizieren |
CConsole | Konsole (VT100) über serielle Schnittstelle.Mit Hilfe dieser Klasse kann ein VT100-kompatibles Anzeigeterminal über die serielle Schnittstelle verbunden werden |
CGDB_Stub | GDB 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 |
CSpinlock | Mit Hilfe eines Spinlocks kann man Codeabschnitte serialisieren, die echt nebenläufig auf mehreren CPUs laufen |
CGDB_Stub::state | Struktur mit dem Systemzustands nach Traps |
▼CStringbuffer | Die Klasse Stringbuffer dient dazu, einzelne Zeichen zu längeren Texten zusammenzustellen, die dann an einem Stück verarbeitet werden können |
▼CO_Stream | Die Aufgaben der Klasse O_Stream entsprechen im Wesentlichen denen der Klasse ostream der bekannten C++ IO-Streams-Bibliothek |
CCGA_Stream | Darstellung verschiedener Datentypen auf dem Bildschirm |
CConsole | Konsole (VT100) über serielle Schnittstelle.Mit Hilfe dieser Klasse kann ein VT100-kompatibles Anzeigeterminal über die serielle Schnittstelle verbunden werden |
CConsoleOut | Ausgabe auf der Konsole |
CFileOut | Ausgabe in eine Datei |
CSVR | Spurious Interrupt Vector Register |
▼CThread | Der Thread ist das Objekt der Ablaufplanung |
CApplication | Die Klasse Application definiert eine Anwendung für OO-Stubs |
CFPS | Die Klasse Application definiert eine Anwendung für OO-Stubs |
CIdleThread | Thread, der immer dann läuft, wenn eine CPU nichts zu tun hat |
CKeyboardApplication | Die Klasse KeyboardApplication definiert eine Anwendung für OO-Stubs |
CTicketlock | Mit Hilfe eines Ticketlocks kann man Codeabschnitte serialisieren, die echt nebenläufig auf mehreren CPUs laufen |
Ctoc | Die Struktur toc dient dazu, bei einem Koroutinenwechsel die Werte der nicht-flüchtigen Register zu sichern |
CTPR | Task Priority Register |
▼CVESAScreen | Abstraktion einer VESA Grafikkarte |
▼CVESAGraphics | Treiber für die VESAGrafikkarte |
CGuarded_VESAGraphics | Schnittstelle der Anwendung zur Verwendung von Guarded_VESAGraphics |