Übungen zu BST (SS 2015)
Auflistung der Klassen
Hier folgt die Aufzählung aller Klassen, Strukturen, Varianten und Schnittstellen mit einer Kurzbeschreibung:
[Detailebene 12]
ACPI_Subsystem | |
System_Description_Table | |
APIC_Structure | |
Local_APIC_Structure | |
IO_APIC_Structure | |
Int_Source_Override_Structure | |
MADT | |
RSDT | |
XSDT | |
RSDP | |
APICSystem | Abstraktion für die Erkennung und das Booten eines PCs mit APIC |
App1 | |
App2 | |
Application | Die Klasse Application definiert die einzige Anwendung von OO-Stubs |
Bell | Synchronisationsobjekt zum Schlafenlegen für eine bestimmte Zeitspanne |
Bellringer | Verwaltung und Anstoßen von zeitgesteuerten Aktivitäten |
Buzzing_Loop | |
CGA_Screen | Abstraktion des CGA-Textmodus |
CGA_Stream | Darstellung verschiedener Datentypen auf dem Bildschrim |
CPU | Implementierung einer Abstraktion fuer den Prozessor |
DFR | Destination Format Register |
Dispatcher | Implementierung des Dispatchers |
Gate | Klasse von Objekten, die in der Lage sind, Unterbrechungen zu behandeln |
Guard | Synchronisation des BS-Kerns mit Unterbrechungen |
Guarded_Bell | Schnittstelle von Anwendungsthreads zu Bell-Objekten |
Guarded_Keyboard | Systemaufrufschnittstelle zur Tastatur |
Guarded_Scheduler | Systemaufrufschnittstelle zum Scheduler |
Guarded_Semaphore | Systemaufrufschnittstelle zum Semaphor |
ICR_H | Interrupt Command Register High |
ICR_L | Interrupt Command Register Low |
IdleThread | Thread, der immer dann läuft, wenn eine CPU nichts zu tun hat |
IO_Port | Die IO_Port-Klasse dient dem Zugriff auf die Ein-/Ausgabeports des PC |
IOAPIC | Abstraktion des IO-APICs, der zur Verwaltung der externen Interrupts dient |
IOAPICID | ID des IO-APICs |
IOAPICRegister | Union über die einzelnen Registertypen des IO-APICs |
IOREDTBL_H | Eintrag in der IO Redirection Table. |
IOREDTBL_L | Eintrag in der IO Redirection Table |
Key | Abstraktion für eine Taste bestehend aus ASCII-Code, Scancode und Modifierbits |
scan | Scan-Codes einiger spezieller Tasten |
Keyboard | Die Klasse Keyboard stellt die Abstraktion der Tastatur dar |
Keyboard_Controller | Abstraktion für den Tastaturcontroller des PCs |
Keyboard_Loop | |
LAPIC | Abstraktion des in der CPU integrierten local APICs |
LAPICID_P | Local APICID Register für P6 und Pentium |
LAPICID_P4 | Local APIC ID Register für Pentium IV und spätere |
LAPICRegister | |
LAPICVER | Local APIC Version Register |
LDR | Logical Destination Register |
Locker | Die Klasse Locker dient dem Schutz kritischer Abschnitte |
Loop | |
Math | Die Klasse Math implementiert mathematische Hilfsfunktionen |
mpct_bus | Bus Entry Intel MP Spec, p. 4-10 |
mpct_int | I/O Interrupt Entry |
mpct_ioapic | IOAPIC Entry |
mpct_processor | Processor Entry |
mpcth | MP config table header |
mpfps | MP floating pointer structure |
O_Stream | Die Aufgaben der Klasse O_Stream entsprechen im Wesentlichen denen der Klasse ostream der bekannten C++ IO-Streams-Bibliothek |
Panic | Standardunterbrechungsbehandlung |
PIT | Programmable Interval Timer(PIT) |
Plugbox | Abstraktion einer Interruptvektortabelle |
Queue | Die Klasse Queue realisiert eine einfach verkettete Liste von Objekten mit next Zeiger |
QueueEntry | Verkettungszeiger zum Einfügen eines Objektes in eine einfach verkettete Liste |
Scheduler | Implementierung des Schedulers |
Secure | Die Klasse Secure dient dem bequemen Schutz kritischer Abschnitte |
Semaphore | Semaphore werden zur Synchronisation von Threads verwendet |
Spinlock | Mit Hilfe eines Spinlocks kann man Codeabschnitte serialisieren die echt nebenläufig auf mehreren CPUs laufen |
Stringbuffer | Die Klasse Stringbuffer dient dazu, einzelne Zeichen zu längeren Texten zusammenzustellen, die dann an einem Stück verarbeitet werden können |
SVR | Spurious Interrupt Vector Register |
system_configuration | |
Thread | |
Ticketlock | Mit Hilfe eines Ticketlocks kann man Codeabschnitte serialisieren, die echt nebenläufig auf mehreren CPUs laufen |
Toc | Die Klasse Toc dient dazu, bei einem Koroutinenwechsel die Werte der nicht-flüchtigen Register zu sichern |
TPR | Task Priority Register |
Waitingroom | Liste von Threads, die auf ein Ereignis warten |
WakeUp | Interruptbehandlungsobjekt, um in MPStuBS schlafende Prozessoren mit einem IPI zu wecken, falls neue Threads aktiv wurden |
Watch | Interruptbehandlung für Timerinterrupts |