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