Vorlesung 1
This commit is contained in:
parent
67a96628c9
commit
51a5ad4cc1
@ -0,0 +1,171 @@
|
||||
# Einführung
|
||||
Betriebssysteme stecken nicht nur in Einzelplatzrechnern, sondern z.B. auch in:
|
||||
- Informationssystemen
|
||||
- Gesundheitswesen
|
||||
- Finanzdienstleister
|
||||
- Verkehrsmanagement-Systemen
|
||||
- Eisenbahn
|
||||
- Flugwesen
|
||||
- Kommunikationssystemen
|
||||
- Mobilfunk
|
||||
- Raumfahrt
|
||||
- eingebettetenSystemen
|
||||
- Multimedia
|
||||
- Fahrzeugsysteme
|
||||
- Sensornetze
|
||||
- ... $\rightarrow$ verschiedenste Anforderungen!
|
||||
|
||||
Konsequenz: Spezialbetriebssysteme für Anforderungen wie ...
|
||||
- Robustheit
|
||||
- Echtzeitfähigkeit
|
||||
- Energieeffizienz
|
||||
- Sicherheit
|
||||
- Adaptivität
|
||||
- ...
|
||||
|
||||
Gegenstand dieser Vorlesung: Konstruktionsrichtlinien für solche ,,High-End Betriebssysteme''
|
||||
|
||||
## Funktionale und nichtfunktionale Eigenschaften
|
||||
- Beispiel: Autokauf ,,Mit unserem Fahrzeug können Sie einkaufen fahren!''
|
||||
- Beispiel: Handykauf ,,Mit unserem Telefon können Sie Ihre Freunde und Familie anrufen!''
|
||||
|
||||
- Anforderungen (Requirements)
|
||||
- Funktionale und nichtfunktionale Eigenschaften (eines Produkts, z.B. Softwaresystems) entstehen durch Erfüllung von funktionalen und nichtfunktionalen Anforderungen
|
||||
- funktionale Eigenschaft
|
||||
- legt fest, was ein Produkt tun soll.
|
||||
- Bsp Handykauf: Das Produkt soll Telefongespräche ermöglichen.
|
||||
- eine nichtfunktionale Eigenschaft (NFE)
|
||||
- legt fest, wie es dies tun soll, also welche sonstigen Eigenschaften das Produkt haben soll.
|
||||
- Bsp Handykauf: Das Produkt soll klein, leicht, energiesparend, strahlungsarm, umweltfreundlich,... sein.
|
||||
- andere Bezeichnungen nichtfunktionaler Eigenschaften
|
||||
- Qualitäten bzw. Qualitätsattribute (eines Software-Produkts):
|
||||
- Nichtfunktionale Anforderungen bzw. Eigenschaften eines Software-Systems bzw. -Produkts oft auch als seine Qualitäten bezeichnet.
|
||||
- einzelne realisierte Eigenschaft ist demzufolge ein Qualitätsattribut (quality property) dieses Systems bzw. Produkts.
|
||||
- Weitere in der Literatur zu findende Begriffe in diesem Zusammenhang:
|
||||
- Non-functionalrequirements/properties
|
||||
- Constraints
|
||||
- Quality ofservice(QoS) requirements
|
||||
- u.a.
|
||||
- ,,~ilities''
|
||||
- im Englischen:nichtfunktionale Eigenschaften eines Systems etc. informell auch als seine „ilities“ bezeichnet, hergeleitet von Begriffen wie
|
||||
- Stability
|
||||
- Portability
|
||||
- ...
|
||||
- im Deutschen: ( ,,itäten'',,,barkeiten'', ... möglich aber sprachästhetisch fragenswert)
|
||||
- Portab-ilität , Skalier-barkeit, aber: Offen-heit , Performanz, ...
|
||||
|
||||
## Konsequenzen für Betriebssysteme
|
||||
### Hardwarebasis
|
||||
Einst: Einprozessor-Systeme
|
||||
|
||||
Heute:
|
||||
- Mehrprozessor-Systeme
|
||||
- hochparallele Systeme
|
||||
- neue Synchronisationsmechanismen erforderlich
|
||||
- $\rightarrow$ unterschiedliche Hardware und deren Multiplexing aufgrund unterschiedlicher nichtfunktionaler Eigenschaften
|
||||
|
||||
### Betriebssystemarchitektur
|
||||
Einst: Monolithische und Makrokernel-Architekturen
|
||||
|
||||
Heute:
|
||||
- Mikrokernel(-basierte) Architekturen
|
||||
- Exokernelbasierte Architekturen ( Library-Betriebssysteme )
|
||||
- Virtualisierungsarchitekturen
|
||||
- Multikernel-Architekturen
|
||||
- $\rightarrow$ unterschiedliche Architekturen aufgrund unterschiedlicher nichtfunktionaler Eigenschaften
|
||||
|
||||
### Ressourcenverwaltung
|
||||
Einst: sog. Batch-Betriebssysteme: Stapelverarbeitung von Jobs (FIFO, Zeitgarantie: irgendwann)
|
||||
|
||||
Heute:
|
||||
- Echtzeitgarantien für Multimedia und Safety-kritische Anwendungen (Unterhaltung, Luft-und Raumfahrt, autonomes Fahren)
|
||||
- echtzeitfähige Scheduler, Hauptspeicherverwaltung, Ereignismanagement, Umgangmit Überlast und Prioritätsumkehr ...
|
||||
- $\rightarrow$ unterschiedliche Ressourcenverwaltung aufgrund unterschiedlicher nichtfunktionaler Eigenschaften
|
||||
|
||||
### Betriebssystemabstraktionen
|
||||
- zusätzliche Abstraktionen und deren Verwaltung ...
|
||||
- ... zur Reservierung von Ressourcen ($\rightarrow$ eingebettete Systeme)
|
||||
- ... zur Realisierung von QoS-Anforderungen ($\rightarrow$ Multimediasysteme)
|
||||
- ... zur Erhöhung der Ausfallsicherheit ($\rightarrow$ verfügbarkeitskritische Systeme)
|
||||
- ... zum Schutz vor Angriffen und Missbrauch ($\rightarrow$ sicherheitskritische Systeme)
|
||||
- ... zum flexiblen und modularen Anpassen des Betriebssystems ($\rightarrow$ hochadaptive Systeme)
|
||||
- $\rightarrow$ höchst diverse Abstraktionen von Hardware aufgrund unterschiedlicher nichtfunktionaler Eigenschaften
|
||||
|
||||
### Betriebssysteme als Softwareprodukte
|
||||
- Betriebssystem:
|
||||
- eine endliche Menge von Quellcode, indiziert durch Zeilennummern: MACOSX = $\{0, 1, 2, ..., 4399822, ...\}$
|
||||
- ein komplexes Softwareprodukt ...welches insbesondere allgemeinen Qualitätsanforderungen an den Lebenszyklusvon Softwareprodukten unterliegt!
|
||||
- an jedes Softwareprodukt gibt es Anforderungen an seine Nutzung und Pflege $\rightarrow$ Evolutionseigenschaften
|
||||
- diese können für Betriebssysteme höchst speziell sein (Korrektheitsverifikation, Wartung, Erweiterung, ...)
|
||||
- $\rightarrow$ spezielle Anforderungen an das Softwareprodukt Betriebssystem aufgrund unterschiedlicher nichtfunktionaler Eigenschaften
|
||||
|
||||
## NFE von Betriebssystemen
|
||||
Funktionale Eigenschaften (= Funktionen, Aufgaben) ... von Betriebssystemen:
|
||||
- Betriebssysteme: sehr komplexe Softwareprodukte
|
||||
- Ein Grund hierfür: besitzen Reihe von differenzierten Aufgaben - also funktionale Eigenschaften
|
||||
|
||||
Grundlegende funktionale Eigenschaften von Betriebssystemen:
|
||||
1. **Hardware-Abstraktion** (Anwendungen/Programmierern eine angenehme Ablaufumgebung auf Basis der Hardware bereitstellen)
|
||||
2. **Hardware-Multiplexing** (gemeinsame Ablaufumgebung zeitlich oder logisch getrennt einzelnen Anwendungen zuteilen)
|
||||
3. **Hardware-Schutz** (gemeinsame Ablaufumgebung gegen Fehler und Manipulation durch Anwendungen schützen)
|
||||
|
||||
Nichtfunktionale Eigenschaften (Auswahl) von Betriebssystemen:
|
||||
- Laufzeiteigenschaften
|
||||
- Sparsamkeit und Effizienz
|
||||
- Robustheit
|
||||
- Verfügbarkeit
|
||||
- Sicherheit (Security)
|
||||
- Echtzeitfähigkeit
|
||||
- Adaptivität
|
||||
- Performanz
|
||||
- Evolutionseigenschaften
|
||||
- Wartbarkeit
|
||||
- Portierbarkeit
|
||||
- Offenheit
|
||||
- Erweiterbarkeit
|
||||
|
||||
Klassifizierung: Nichtfunktionale Eigenschaften unterteilbar in:
|
||||
1. Laufzeiteigenschaften (execution qualities)
|
||||
- zur Laufzeit eines Systems beobachtbar
|
||||
- Beispiele: ,,security'' (Sicherheit), ,,usability'' (Benutzbarkeit), ,,performance''
|
||||
(Performanz), ...
|
||||
2. Evolutionseigenschaften (evolution qualities)
|
||||
- charakterisieren (Weiter-) Entwicklung- und Betrieb eines Systems
|
||||
- Beispiele: ,,testability'' (Testbarkeit), ,,extensibility'' (Erweiterbarkeit) usw.
|
||||
- liegen in statischer Struktur eines Softwaresystems begründet
|
||||
|
||||
## Inhalte der Vorlesung
|
||||
Auswahl sehr häufiger NFE von Betriebssystemen:
|
||||
- Sparsamkeit und Effizienz
|
||||
- Robustheit
|
||||
- Verfügbarkeit
|
||||
- Sicherheit (Security)
|
||||
- Echtzeitfähigkeit
|
||||
- Adaptivität
|
||||
- Performanz
|
||||
|
||||
Diskussion jeder Eigenschaft: (Bsp.: Echtzeitfähigkeit)
|
||||
- Motivation, Anwendungsgebiete, Begriffsdefinition(en) (Bsp.: Multimedia- und eingebettete Systeme)
|
||||
- Mechanismen und Abstraktionen des Betriebssystems (Bsp.: Fristen, Deadline-Scheduler)
|
||||
- unterstützende Betriebssystem-Architekturkonzepte (Bsp.: Mikrokernel)
|
||||
- ein typisches Beispiel-Betriebssystem (Bsp.: QNX)
|
||||
- Literaturliste
|
||||
|
||||
|
||||
# Sparsamkeit und Effizienz
|
||||
# Robustheit und Verfügbarkeit
|
||||
# Sicherheit
|
||||
# Echtzeitfähigkeit
|
||||
# Adaptivität
|
||||
# Performanz und Parallelität
|
||||
# Zusammenfassung
|
||||
|
||||
|
||||
# Literatur
|
||||
|
||||
- NFE in Betriebssystemen
|
||||
- Eeles, Peter; Cripps, Peter: The Process of Software Architecting
|
||||
- Funktionale Eigenschaften eines Betriebssystem
|
||||
- Tanebaum, Andrews; Bos, Herbert: Modern Operating Systems
|
||||
- Tanebaum, Andrews; Woodhull, Alberts: Operating Systems Design and Implementation
|
||||
- Stallings, William: Operating Systems: Internals and Design Principles
|
Loading…
Reference in New Issue
Block a user