AdvancedOperating Systems€¦ · § Sparsamkeit:Die Eigenschaft eines Systems, seine Funktion mit...
Transcript of AdvancedOperating Systems€¦ · § Sparsamkeit:Die Eigenschaft eines Systems, seine Funktion mit...
-
Peter AmthorFak. IA / FG VSBSTechnische Universität Ilmenauwww.tu-ilmenau.de/vsbs
Advanced Operating Systems
Kapitel 8: Zusammenfassung
Peter AmthorWintersemester 2019/20
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–2
■ Funktionale und nichtfunktionale Eigenschaften(Kapitel 1)
§ Funktionale Eigenschaften: beschreiben, was ein (Software)-Produkt tun soll
§ Nichtfunktionale Eigenschaften: beschreiben, wie funktionale Eigenschaften realisiert werden, also welche sonstigen Eigenschaften das Produkt haben soll
• … unterteilbar in:1. Laufzeiteigenschaften (zur Laufzeit sichtbar)2. Evolutionseigenschaften (beim Betrieb sichtbar:
Erweiterung, Wartung, Test usw.) Nicht-funktionale
Eigen-schaften
FunktionaleEigenschaften
Ausgangspunkt: Nichtfunktionale Eigenschaften …
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–3
Roadmap:
… von Betriebssystemen
Sparsamkeit und Effizienz
Robustheit und Verfügbarkeit
Sicherheit
Echtzeitfähigkeit
Adaptivität
Performanz und Parallelität
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–4
§ Sparsamkeit: Die Eigenschaft eines Systems, seine Funktion mit minimalem Ressourcenverbrauch auszuüben.
§ Effizienz: Der Grad, zu welchem ein System oder eine seiner Komponenten seine Funktion mit minimalem Ressourcenverbrauch ausübt. à Ausnutzungsgrad begrenzter Ressourcen
Die jeweils betrachtete(n) Ressource(n) muss/(müssen) dabei spezifiziertsein!
■ sinnvolle Möglichkeiten bei Betriebssystemen:
1. Sparsamer Umgang mit Energie, z.B. energieeffizientes Scheduling2. Sparsamer Umgang mit Speicherplatz (Speichereffizienz)3. Sparsamer Umgang mit Prozessorzeit4. ...
Kapitel 2: Sparsamkeit und Effizienz
NFE
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–5
■ Energieeffizienz: (Abschnitt 2.2)Sparsamkeit mit Energie als heute extrem wichtigen Ressource, mit nochmals gesteigerter Bedeutung bei mobilen bzw. vollständig autonomen Geräten
■ Maßnahmen:
1. Hardware-EbeneØ momentan nicht oder nicht mit maximaler Leistung benötigte
Ressourcen in energiesparenden Modus bringen: abschalten, Standby, Betrieb mit verringertem Energieverbrauch (abwägen gegen verminderte Leistung).(Geeignete Hardware wurde/wird ggf. erst entwickelt)
2. Software-Ebene...
Sparsamkeit mit Energie
NFE
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–6
■ Maßnahmen:
2. Software-Ebeneneue Komponenten entwickeln, die in der Lage sein müssen:• Bedingungen zu erkennen, unter denen ein energiesparender
Modus möglich ist;• Steuerungs-Algorithmen für Hardwarebetrieb so zu
gestalten, dass Hardware-Ressourcen möglichst lange ineinem energiesparenden Modus betrieben werden.
• Energie-Verwaltungsstrategien: energieeffizientes Scheduling zur Vermeidung von Unfairness und Prioritätsumkehr
Beispiele: energieeffizientes Magnetfestplatten-Prefetching, energiebewusstes RR-Scheduling
Sparsamkeit mit Energie
NFE
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–7
■ Betrachtet: (Abschnitt 2.3)Sparsamkeit mit Speicherplatz mit besonderer Wichtigkeit für physisch beschränkte, eingebettete und autonome Geräte
■ Maßnahmen Hauptspeicherauslastung:
1. Algorithmus und Strategie z.B.:Ø Speicherplatz sparende Algorithmen zur Realisierung gleicher
Strategien
2. Speicherverwaltung von Betriebssystemen:Ø physische vs. virtuelle SpeicherverwaltungØ speichereffiziente RessourcenverwaltungØ Speicherbedarf des KernelsØ direkte Speicherverwaltungskosten
Sparsamkeit mit Speicherplatz
NFE
Task1
Task2
Task3
Task4
✗
✗
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–8
■ Nicht betrachtet: Sparsamkeit mit Prozessorzeità 99 % Überschneidung mit NFE Performanz
Sparsamkeit mit Speicherplatz
NFE
■ Maßnahmen Hintergrundspeicherauslastung:
1. Speicherbedarf des Betriebssystem-Images2. dynamische Shared Libraries3. VMM-Auslagerungsbereich4. Modularität und Adaptivität des Betriebssystem-Images
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–9
■ Robustheit: Zuverlässigkeit unter Anwesenheit externer Ausfälle
Kapitel 3: Robustheit und Verfügbarkeit
NFE
fault error failure
Aktivierung(activation)
Ausbreitung(propagation)
Fehler fehlerhafter Zustand Ausfall
✗ ✗
✗
✗
✗
sekundäre Ausfälle
à Robustheit: Isolationsmechanismen
Kernel
IPC FS Treiber✗✗✗
IPCIPC...
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–10
■ Erhöhung der Robustheit durch Isolation:◆ Maßnahmen zur Verhinderung der Fehlerausbreitung:
1. Adressraumisolation: Mikrokernarchitekturen (Kapitel 3),
2. kryptografische HW-Unterstützung: Intel SGX (Kapitel 4) und3. Virtualisierungsarchitekturen (Kapitel 6)
■ Erhöhung der Robustheit durchBehandlung von Ausfällen: Micro-Reboots
Robustheit
NFEµKernel
¬alive;reboot
µKernel
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–11
■ Korrektheit: Eigenschaft eines Systems sich gemäß seiner Spezifikation zu verhalten (unter der Annahme, dass bei dieser keine Fehler gemacht wurden).
■ Maßnahmen (nur angesprochen):1. diverse Software-Tests:
§ können nur Fehler aufspüren, aber keine Fehlerfreiheit garantieren!
2. Verifizierung:§ Durch umfangreichen mathematischen Apparat wird Korrektheit der
Software bewiesen.§ Aufgrund der Komplexität ist Größe verifizierbarer Systeme (bisher?)
begrenzt. § Betriebssystem-Beispiel: verifizierter Mikrokern seL4
Vorbedingung für Robustheit: Korrektheit
NFE
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–12
■ Verfügbarkeit: Der Anteil an Laufzeit eines Systems, in dem dieses seine spezifizierte Leistung erbringt.
■ angesprochen: Hochverfügbare Systeme
■ Maßnahmen zur Erhöhung der Verfügbarkeit:
1. Robustheitsmaßnahmen2. Redundanz3. Redundanz4. Redundanz5. Ausfallmanagement
Verfügbarkeit
NFE
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–13
■ Sicherheit (IT-Security): Schutz eines Systems gegen Schäden durch zielgerichtete Angriffe, insbesondere in Bezug auf die Informationen, die es speichert, verarbeitet und kommuniziert.
Ø Sicherheitsziele:1. Vertraulichkeit (Confidentiality)2. Integrität (Integrity)3. Verfügbarkeit (Availability)4. Authentizität (Authenticity)5. Verbindlichkeit (Non-repudiability)
Kapitel 4: Sicherheit
NFE
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–14
Security Engineering
NFE
■ Sicherheitspolitik: Regeln zum Erreicheneines Sicherheitsziels.◆ hierzu formale Sicherheitsmodelle:
• IBAC, TE, MLS (, RBAC, ABAC, NI, …)• DAC, MAC
■ Sicherheitsmechanismen: Implementierungder Durchsetzung einer Sicherheitspolitik.◆ Zugriffssteuerungslisten (ACLs)
◆ SELinux
Sicherheitsziele
Sicherheitspolitik
Sicherheitsarchitektur
Sicherheitsmechanismen
-rw- rw- r-- 1 amthor vsbs 397032 2017-11-19 12:12 paper.pdf
socketsfile systemsprocessmanagement
Systemweites Ressourcenmanagement
Prozessor-ressourcen
Speicher-ressourcen
Kommunikations-ressourcen
Application Programmer‘s Interface (API)
. . . Sec. Server
PolitikPM FS Sockets
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–15
Security Engineering
NFE
■ Sicherheitsarchitektur: Platzierung, Struktur und Interaktion von Sicherheitsmechanismen.◆ wesentlich: Referenzmonitorprinzipien (4.7.1)
- RM1: Unumgehbarkeità vollständiges Finden aller Schnittstellen
- RM2: Manipulationssicherheit à Sicherheit einer Sicherheitspolitik selbst
- RM3: Verifizierbarkeit à wohlstrukturierte und per Design kleine TCBs
Sicherheitsziele
Sicherheitspolitik
Sicherheitsarchitektur
Sicherheitsmechanismen
Subjekt Objekt
Autorisierungs-mechanismus
Sicherheitspolitik
Zugriffsversuch
Entscheidung
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–16
■ Echtzeitfähigkeit: Fähigkeit eines Systems auf eine Eingabe innerhalb eines spezifizierten Zeitintervalls eine korrekte Reaktion hervorzubringen.
■ Maximum dieses relativen Zeitintervalls: Frist d
Kapitel 5: Echtzeitfähigkeit
NFE
t
Input Output
Zeitintervall Δt
d
maximales Zeitintervall Δtmax
System verhält sich korrekt System verhält sich fehlerhaft
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–17
1. echtzeitfähige Scheduling-Algorithmen für Prozessoren (5.4.1)Ø zentral: garantierte Einhaltung von FristenØ wichtige Probleme: Prioritätsumkehr (5.4.2), Überlast (5.4.3), kausale
Abhängigkeit (5.4.6)
2. echtzeitfähige Interrupt-Behandlung (5.4.4)Ø zweiteilig: asynchron registrieren, geplant bearbeiten
3. echtzeitfähige Speicherverwaltung (5.4.5)Ø Primärspeicherverwaltung, VMM (Pinning)Ø Sekundärspeicherverwaltung, Festplattenscheduling
Integration von Echtzeitfähigkeit
NFE
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–18
■ Adaptivität: Eigenschaft eines Systems, so gebaut zu sein, dass es ein gegebenes (breites) Spektrum nichtfunktionaler Eigenschaften unterstützt.
■ Beobachtung: Adaptivität i.d.R. als komplementär und synergetisch zu anderen NFE:
◆ Sparsamkeit
◆ Robustheit
◆ Sicherheit
◆ Echzeitfähigkeit
◆ Performanz
◆ Wartbarkeit und Portierbarkeit
Kapitel 6: Adaptivität
NFE
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–19
■ Zielstellungen:
◆ Exokernel: (6.2){ Adaptivität } ∪ { Performanz, Echtzeitfähigkeit, Wartbarkeit, Sparsamkeit }
◆ Virtualisierung: (6.3){ Adaptivität } ∪ { Wartbarkeit, Sicherheit, Robustheit }
◆ Container: (6.4){ Adaptivität } ∪ { Wartbarkeit, Portabilität, Sparsamkeit }
Adaptive Systemarchitekturen
NFE
User-Space-Ressourcen
App
Exokernel
LibraryOS
HW
HV
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–20
■ Performanz (wie hier besprochen): Eigenschaft eines Systems, die für korrekte Funktion (= Berechnung) benötigte Zeit zu minimieren.
■ hier betrachtet: Kurze Antwort- und Reaktionszeiten
1. vor allen Dingen:Parallelisierung auf Betriebssystemebene zur weiteren Steigerung der Performanz/Ausnutzung von Multicore-Prozessoren (da Steigerung der Prozessortaktfrequenz kaum noch möglich)
2. weiterhin:Parallelisierung auf Anwendungsebene zur Verringerung der Antwortzeiten von Anwendungen und Grenzen der Parallelisierbarkeit (für Anwendungen auf einem Multicore-Betriebssystem).
Kapitel 7: Performanz und Parallelität
NFE
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–21
NFE
Mechanismen, Architekturen, Grenzen der Parallelisierung
■ Hardware:◆ Multicore-Prozessoren◆ Superskalarität
■ Betriebssystem:◆ Multithreading (KLTs) und Scheduling◆ Synchronisation und Kommunikation◆ Lastangleichung
■ Anwendung(sprogrammierer):◆ Parallelisierbarkeit eines Problems◆ optimaler Prozessoreneinsatz,
Effizienz
IF ID OF EX WB
IF ID OF EX WB
IF ID OF EX WB
IF ID OF EX WB
IF ID OF EX WB
IF ID OF EX WB
W R
f e d c b a
write(f) read(a)
5 10 15 20
1.0
Effizienz E
Bearbeitungszeit T Speed-up S
S(n)
E(n)
T(n)
n
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–22
■ Normalerweise:◆ Eine nichtfunktionale Eigenschaft bei IT-Systemen meist nicht
ausreichend• Beispiel: Was nützt ein Echtzeit-Betriebssystem – z.B. innerhalb
einer Flugzeugsteuerung – wenn es nicht auch verlässlich (robust) arbeitet?
■ interessante Frage: ◆ Welche nichtfunktionalen Eigenschaften mit Maßnahmen erreichbar, die
• in gleiche Richtung zielen, à synergetische NFE• gegenläufig wirken? à konträre NFE
Ø Zusammenhang nicht immer eindeutig u. offensichtlich, wie z.B. bei: „Sicherheit kostet (Lauf-) Zeit.“ (d.h. Performanz und Sicherheit sind konträre Eigenschaften)
Synergetische und konträre Eigenschaften
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–23
■ Potenzielle Ø Anwendungen (damit auch Betriebssysteme) für bestimmte Einsatzgebiete
brauchen oft mehrere nichtfunktionale Eigenschaften gleichzeitig –unabhängig davon, ob sich diese synergetisch oder nichtsynergetisch zueinander verhalten.
■ Beispiele: § Echtzeit und Verlässlichkeit:
SRÜ-Systeme in potentiell menschengefährdenden Einsatzgebieten (Atomkraftwerk, Flugzeugsteuerung, Hinderniserkennung an Fahrzeugen, ...)
§ Echtzeit und Sparsamkeit:Physikalische ressourcenbeschränkte, oft eingebettete, mobile Systeme (à smart phone, smart watch, smart home, smart metering, smart * …)
§ Robustheit und Sparsamkeit:unter unfreundlichen Umweltbedingungen eingesetzte [autonome] Systeme, (à Weltraumerkundung, Sensornetzwerke, …)
Notwendige NFE-Paarungen
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–24
Anschaulich: NFE und Architekturkonzepte
Makrokernel Mikrokernel Exokernel Virtualisierung Multikernel
Energieeffizienz (✓) ✗ ✗
Speichereffizienz ✗ (✓) (✓) ✗
Robustheit ✗ ✓ ✗ ✓
Verfügbarkeit ✗ (✓) (✓) (✓)
Korrektheit ✗ ✓ ✗ ✗ (✓)
Sicherheit ✗ ✓ ✗ ✓
Echtzeitfähigkeit (✓) (✓) ✓ ✗ ✗
Adaptivität ✗ (✓) ✓ ✓ (✓)
Wartbarkeit ✓ ✓ ✓
Performanz (✓) ✗ ✓ ✗ ✓
✓ ... Zieleigenschaft(✓) ... synergetische Eigenschaft✗ ... konträre Eigenschaft
Leere Zellen: keine pauschale Aussage möglich.
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–25
■ Fazit:
Breites und offenes Forschungsfeldà werden Sie aktiv!
ENDE Kap. 8
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–26
■ Basiswissen: Allgemeines zu NFEn, NFE-Ziele (Anwendungsbsp.), Probleme und derenLösungskonzepte (Strategien, Mechanismen, Architekturen)!◆ zu jeder NFE: Konzepte und Strategien der Mechanismen (Idee),
relevante System-Architekturen (Idee, Vor- und Nachteile)◆ z.B.: Warum Sicherheit? Wo? Welche BS-Probleme sind
zur Herstellung von Sicherheitseigenschaften zu lösen? Durchwelche Konzepte (z.B. Autorisierungsmechanismen, Referenzmonitor-Arch.) ist dies möglich?
■ Basiswissen plus (= für gute Noten):◆ Mechanismen: prinzipieller Ablauf von Algorithmen, praktische
Eigenheiten/Implementierungsprobleme◆ Beispiel-BSe (Idee, ggf. deren Aufbau)◆ Vergleichende Bewertung synergetischer und konträrer NFE anhand ihrer
jeweils relevanten Mechanismen und Architekturen (Stoffquerschnitt)
■ Tipp: Übungsstoff zu 90% aus diesen beiden Schwerpunktklassen
Prüfungsschwerpunkte
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–27
■ Spezialwissen (= für supergute Noten):◆ Sparsamkeit: Implementierung energiebewusstes RR◆ Robustheit: Details zu L4-Abstraktionen◆ Sicherheit: TCBs, ACL-Implementierung, Rechteausbreitung in
Zugriffsmatrizen, Konsistenz mit Informationsflussrelation, SELinux: grundlegende Politikregeln
◆ Echtzeit: RC Algorithmus über die „Idee“ hinausgehend, Strategien zur Sekundärspeicherverwaltung, Planbarkeitsanalyse mit Ulub (ÜB3/A3 b-d)
◆ Adaptivität: Details zur ExOS, XoK◆ Performanz: BKLs in µKernels (ÜB4/A3 d), Formeln zur Parallelisierbarkeit
Prüfungsschwerpunkte
AOS WS 2019/20 © P. Amthor, H.-A. Schindler 8–28
■ Zusatzwissen (= für‘s Leben, nicht für die Prüfung):◆ Sparsamkeit: Hardware-Maßnahmen (F. 2-18 … 2-20), Details zu DPM und
DVS◆ Robustheit: Verfügbarkeitsklassen in Zahlen◆ Sicherheit: Syntax zur Definition der SELinux-Politik◆ Echtzeit: Beweis: Obere Auslastungsgrenze bei EDF ◆ Adaptivität: Assembler-Beispiel zur sensiblen Instruktionen◆ Performanz: Berechnung des Optimums der Beschleunigungseffizienz,
Plan 9
Prüfungsschwerpunkte