## 📘 **Zusammenfassung: VB Zuverlässigkeit und Virtualität – Computerarchitektur**

---

### 🔒 **Zuverlässigkeit (Dependability)**

#### 🛑 Begriffe

- **Fault:** Fehler in einem Bauteil (temporär oder permanent)
    
- **Failure:** System liefert nicht die spezifizierte Leistung
    
- **MTTF (Mean Time To Failure):** mittlere Betriebsdauer bis zum Ausfall
    
- **MTTR (Mean Time To Repair):** mittlere Reparaturzeit
    
- **MTBF (Mean Time Between Failures):** MTTF+MTTRMTTF + MTTR
    
- **Verfügbarkeit (Availability):**
    
    Availability=MTTFMTTF+MTTRAvailability = \frac{MTTF}{MTTF + MTTR}
- Verbesserungen:
    
    - **MTTF erhöhen:** Fehlervermeidung, Fehlertoleranz
        
    - **MTTR verringern:** bessere Diagnose & Reparaturprozesse
        

---

### 🧮 Fehlererkennung & Korrektur

#### ✅ Hamming-Codes

- **Hamming-Distanz 3:** Single Error Correction (SEC), Double Error Detection (DED)
    
- SEC/DED:
    
    - Erkennt bis zu 2 Fehler
        
    - Korrigiert einen Fehler
        
- ECC DRAM: Schützt 64 Bit mit zusätzlichen 8 Bit (insg. 72 Bit)
    

---

### 🖥 Virtualisierung

#### 📦 Virtuelle Maschinen (VMs)

- Host-System emuliert Gastbetriebssystem & Hardware
    
- Vorteile:
    
    - Isolation mehrerer Gäste
        
    - Bessere Ressourcennutzung
        
    - Sicherheit & Zuverlässigkeit
        
- Beispiele:
    
    - **System-VMs:** VMware, VirtualBox
        
    - **Language-VMs:** JavaVM
        
    - **Container (lightweight):** Docker
        

#### ⚙ Virtual Machine Monitor (VMM)

- Verwaltet die Zuordnung von virtuellen zu physischen Ressourcen
    
- Traps bei privilegierten Instruktionen
    
- Emuliert Timer & I/O-Geräte für Gäste
    

---

### 🗺 Virtueller Speicher (Virtual Memory)

#### 🧱 Grundlagen

- Nutzt Hauptspeicher als Cache für Festplatte
    
- Programme erhalten eigenen **virtuellen Adressraum**
    
- **Page Table:** Zuordnung virtueller zu physischer Adressen
    
- **Page Fault:** Seite nicht im Speicher → OS lädt sie nach
    

#### 🚀 Optimierungen

- **Translation Lookaside Buffer (TLB):** Cache für Seitentabelleneinträge
    
- **LRU (Least Recently Used):** Ersetzt selten genutzte Seiten
    
- **Write-Back Cache:** Schreibt geänderte Seiten nur bei Ersetzung zurück
    

---

### 🔥 Speicherhierarchie & Multiprozessoren

#### 🏎 Cache-Kohärenz

- Problem: mehrere Caches → inkonsistente Daten
    
- Lösungen:
    
    - **Snooping-Protokolle:** Caches überwachen Busaktivitäten
        
    - **Directory-based Protokolle:** zentrale Verzeichnisse verwalten Status
        
- **Memory Consistency:** Sicherstellen, dass alle Prozessoren Änderungen sehen
    

---

### ⚠️ Fallacies & Pitfalls

- Schlechte Speicherlokalität (z. B. Spaltenweise Iteration)
    
- Geringe Assoziativität bei vielen Kernen → Konfliktmisses
    
- VM-Implementierung auf ISAs ohne Virtualisierungs-Support erschwert
    

---

### 📜 Fazit

✅ **Fast memories are small, large memories are slow → Memory Hierarchy mit Caching notwendig**  
✅ Zuverlässigkeit durch Fehlertoleranz & Fehlerkorrektur verbessern  
✅ Virtualisierung & Virtual Memory: Schlüsseltechnologien moderner Systeme  
✅ Multiprozessorsysteme benötigen Kohärenzprotokolle

---

### 📝 Für die Klausur merken

✅ Unterschied Fault ↔ Failure ↔ Error  
✅ Hamming-Codes: SEC/DED, ECC  
✅ Vorteile/Nachteile von Virtualisierung  
✅ Virtual Memory: Page Table, TLB, Page Fault Handling  
✅ Cache-Kohärenz: Snooping vs. Directory-Protokolle  
✅ Bedeutung von LRU & Write-Back Caches

---