## 📘 **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 ---