This commit is contained in:
David Schirrmeister 2024-05-22 07:50:20 +02:00
parent 59cb40204f
commit 5a2ce97a55
9 changed files with 157 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 447 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 KiB

View File

@ -15,6 +15,8 @@
<toc-element topic="08_Threads.md"/>
<toc-element topic="09_Interprozesskommunikation.md"/>
<toc-element topic="10_Scheduling.md"/>
<toc-element topic="11_Energieeffizienz.md"/>
<toc-element topic="12_Virtualisierung.md"/>
</toc-element>
<toc-element toc-title="OOAD">
<toc-element topic="IntroductionOOAD.md"/>

View File

@ -0,0 +1,62 @@
# Energieeffizienz
## Energieverwaltung
- Frequenzskalierung der CPU
- Spannungs- und Frequenzanpassung
- [Stromsparmodi](#stromsparmodi-und-profile)
- Bildschirmhelligkeit und -abschaltung
- [Energieeffizientes Scheduling](#energieeffizientes-scheduling)
- [I/O Effizienz](#i-o-effizienz)
- Wärme- und Lüftermanagement
- [Netzwerkmanagement](#netzwerkmanagement)
- Energieprofile und -richtlinien
- Advanced Configuration and Power Interface (ACPI)
## Prozessor- und Gerätesteuerung
- Strategien und Mechanismen, um _Leistung und Energieeffizienz_
- von CPUs und anderen Hardwarekomponenten zu optimieren
- Moderne Betriebssysteme
- integrierte Mechanismen zur Steuerung von Hardwarekomponenten
## Energieeffizientes Scheduling
- CPU-Energieeffizienz maximieren durch Verteilung von Prozessen auf CPU-Kernen
- Kernzusammenlegung
- Dynamisches Kernabschalten
- Aufgabenplanung basierend auf Prozessoreigenschaften
- Scheduling basierend auf Workload Charakteristiken
- Adaptive Scheduling-Richtlinien
- Anpassung an Hardware-Topologie
## I/O-Effizienz
- Optimierung von Ein- und Ausgabeoperationen
- Effiziente Nutzung von Ressourcen und Reduzierung des Energieverbrauchs
- Batching von I/O-Operationen
- Asynchrone I/O
- Pufferung von Daten
- Intelligente Catching-Strategien
- Effizientes Dateisystem-Layout
- Adaptive Datenkompression
## Leistungsüberwachung und -profiling
- Bewertung und Analyse der Leistung eines Computers
- Engpässe identifizieren
- Ressourcennutzung optimieren
- Effizienz steigern
- Im Wesentlichen Werkzeuge für SysAdmins, Entwickler, Ingenieure
- Leistung von Computern und Anwendungen verstehen
- Bottlenecks beheben
## Netzwerkmanagement
- Planung, Implementierung, Überwachung, Optimierung von Netzwerkinfrastrukturen
- zusätzlich: Lastenausgleich, Netzwerkprotokolle & -standards
## Optimierung von Hintergrundprozessen
- Gewährleistung von Gesamtleistung, Stabilität, Effizienz
- Priorisierung
- Ressourcenzuweisung
- Zeitgesteuerte Ausführung
- Intelligente Aktivierung
- Parallelisierung
- Caching
## Stromsparmodi und -profile
- Funktionen müssen entsprechend der Anforderungen und Nutzungsmuster angepasst werden.

View File

@ -0,0 +1,90 @@
# Virtualisierung
> Technologie, die es ermöglicht mehrere virtuelle Instanzen auf einem einzigen
> physischen System auszuführen
>
> Spielt eine entscheidende Rolle bei der effizienten Nutzung von Ressourcen, der Erhöhung von
> Flexibilität und Skalierbarkeit sowie der Verbesserung der Verfügbarkeit von Anwendungen und Daten
## Vorteile der Virtualisierung
- **Ressourceneffizienz**
- mehrere VMs können auf einem physischen Server laufen
- **Isolation**
- VMs sind voneinander isoliert
- verbessert Stabilität und Sicherheit
- **Snapshot- und Wiederherstellungsfunktion**
- **Portabilität**
- VMs können auf verschiedenen physischen Servern verschoben und ausgeführt werden
## Virtualisierungstypen
### Hypervisor-basierte Virtualisierung
- [Hypervisor](https://www.youtube.com/watch?v=LMAEbB2a50M) (~Virtual Machine Monitor)
- wird direkt auf Hardware ausgeführt
- ermöglicht Ausführung mehrerer Betriebssysteme als VMs
#### Typ 1 (Bare-Metal-Hypervisor)
- direkte auf Hardware installiert
- benötigt kein Host-Betriebssystem
- _bspw.: VMware ESXi, Microsoft Hyper-V_
#### Typ 2 (Hosted-Hypervisor)
- Läuft auf Host-Betriebssystem
- _bspw: VMware Workstation, Oracle VirtualBox_
### Container-Virtualisierung
- Container teilen sich Kernel des Host-Betriebssystems
- bieten leichtgewichtige Möglichkeit Anwendungen zu isolieren und auszuführen
## Partitionierung von VMs
- Aufteilung einer _physischen oder virtuellen Ressource_ in mehrere logische Einheiten (Partitionen)
- ![image_248.png](image_248.png)
- können unterschiedliche Betriebssysteminstanzen/Anwendungen beherbergen
- Vorteile u.a. Ressourcenisolierung, verbesserte Sicherheit, bessere Verwaltbarkeit
## Hardware-Emulation
- Nachbildung oder Simulation von Hardware auf einer anderen Hardware- oder Softwareplattform
- Replikation von Hardware-Komponenten, Geräten oder ganzen Systemen auf einer virtuellen Ebene
- ![image_249.png](image_249.png)
- **Entwicklung neuer Hardware**
- Simulation von Hardware-Designs bevor tatsächliche Hardware erstellt wird
- **Fehlerbehebung und Debugging**
- Identifizierung von Fehlern in Hardware-Komponenten oder -Systemen
- **Testen von Software**
### Hardware-Emulator vs. Simulator
| **Emulator** | **Simulator** |
|-----------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
| Reproduziert Verhalten der tatsächlichen Hardware genau | Ahmt Verhalten von Hardware nach |
| arbeitet auf niedriger Ebene, indem er Hardwarekomponenten genau nachbildet | Arbeitet auf höherer Ebene, Konzentration auf Funktionalität statt exakter Nachbildung |
## Anwendungsvirtualisierung
- Einzelne anwendung in virtueller Umgebung ausführen, die alle benötigten Komponenten bereitstellt
- ![image_250.png](image_250.png)
- virtuelle Maschine befindet sich zwischen Anwendung und Betriebssystem
- _bspw.: Java Virtual Machine (JVM)_
## Betriebssystem-Virtualisierung
- [Container](https://www.youtube.com/watch?v=TvnZTi_gaNc) laufen unter ein und demselben BS-Kern
- mehrere abgeschottete, identische Systemumgebungen
- ![image_251.png](image_251.png)
- bei Start einer VM wird im Gegensatz kein zusätzliches BS gestartet
- Erzeugung isolierte Laufzeitumgebung
## Vollständige Virtualisierung
- Hypervisor bietet einer VM eine komplette virtuelle PC-Umgebung inkl. eigenem BIOS
- ![image_252.png](image_252.png)
- Gast-BS erhält eigene VM mit virtuellen Ressourcen
- Prozessor(en)
- Hauptspeicher
- Laufwerke
- Netzwerkkarten
- etc.
- Kern der Lösung ist Virtueller Maschinen-Monitor (VMM)
- Aufgabe ist Zuweisung der Hardwareressourcen an VMs
## Virtualisierungslösungen
- [docker](https://www.docker.com)
- [vmware](https://www.vmware.com)
- [virtualbox](https://www.virtualbox.org)
- [getutm (mac)](https://mac.getutm.app)

View File

@ -1,4 +1,7 @@
# Klassen Diagramme
https://www.hanser-elibrary.com/doi/epdf/10.3139/9783446431973
- Klassen werden als Boxen dargestellt mit
- Name
- Attribute