# Presentation: 489996

## PS Grundlagen wissenschaftlichen Arbeitens

- Gruppe 2

## Themen:

- Datenkompression
- Peter Mihalik
- Betriebssysteme
- Christoph Friedl
- Verteilte Systeme
- Thomas Hofbauer

- Datenkompression

## Datenkompression

- Wieso überhaupt Datenkompression?
- Hauptverwendung: Transport von Nachrichten über Netze.
- Nachrichten: Daten unterschiedlicher Typen
- Netze: z.B. das Internet

## Datenkopression

- Es ist nicht möglich beliebige Dateien sinnvol zu komprimieren.
*Kompressionsgrad:*
- Datenvolumenurspr. / Datenvolumenkompr.

## Datenkompression

- 2 Typen von Kompression:
**Verlustfreie** (Daten, Programmcode)
**Verlustbehaftete** (Bilder, Töne)

## Datenkompression

- Vier wichtigsten Kriterien des Kompresionsverfahrens sind:
*Kompressionsrate*
*Zeitaufwand (Kompress., Dekompress.)*
*Hardware/Software Aufwand*
*Standardisierung des Verfahrens*

## Modellierung

- Modellgenauigkeit
- Adaptivität
**Statisch**
**Dynamisch**

## Umformungen der Quelle

- Erweiterung
- Differenzbildung
- Lauflängencodierung (RLC)
- Strukturierung

## Verlustfreie Codierung

- Huffman-Algorithmus
- Arithmetische Codierung
- Lempel-Ziv-Codierung

## Verlustbehaftete Codierung

**Audio** (eindimensionale Tonschwingung)
**Festbild** (zweidimensional; horizontale*vertikale Auflösung)
**Video** (dreidimensional; Festbild*Zeit)

## Betriebssysteme

- Christoph Friedl

## BetriebssystemeEinleitung

- Abstraktion
- Kapselung von Hardware vor Benutzer
- Schnittstelle
- API application programming interface; der Programmierer nutzt hiermit die Dienste des Betriebssystems
- Verwaltung von Betriebsmitteln/Prozessen
- Benutzerschutz
- Bedienschnittstelle
- Grafische Benutzeroberfläche oder Kommando-Interpretier (shell)

**Notes:**
Diese themen werden im vortrag behandelt und genauer erklärt

## BetriebssystemeProzessverwaltung

- Monoprozessor
- nur ein Prozess zu einem Zeitpunkt verarbeiten
- Prozesse können 3 wichtige Zustände haben
**rechenbereit**
**rechnend**
**abgeblockt**; ein anderer Prozess wird abgearbeitet

## BetriebssystemeProzesskommunikation

- Prozesse in getrennten Speicherbereichen müssen kooperieren; bestimmte Kommunikationsmechanismen sind notwendig
- Kommunikation erfolgt über:
- gemeinsame **Dateien**
- gemeinsame **Speicherbereiche**; gemeinsame Variable, Pufferbereiche, ...
**Pipes**; Kommunikationskanal zwischen zwei Prozessen

## BetriebssystemeAblaufplanung

- Vergabe von Betriebsmitteln an Prozesse nach verschiedenen Zielen:
**Auslastung der Betriebsmittel**; minimierte Rechenzeiten
**Durchsatz**; viele Prozesse in kurzer Zeit
**Antwortzeiten**; Arbeitszeit des Anwenders minimieren
- Zuteilungsstrategien:
**Eingangsreihenfolge**; FCFS, first come, first served
**prioritätsbasiertes** Verfahren; je höher die Priorität desto schneller ausgeführt

## BetriebssystemeSpeicherverwaltung

- Speicherverwaltung **ohne** Mehrprozessbetrieb ohne großen Aufwand realisierbar
- Speicherverwaltung **mit** Mehrprozessbetrieb; besondere Lösungen erforderlich:
- Dynamische Freispeicherverwaltung -** **swapping; Prozesse auslagern
- Dynamische Adress- und Speicherverwaltung; den Adressbereich der Prozesse verändern

## BetriebssystemeEin-/Ausgabe

**Ein-/Ausgabe;** eine der wichtigsten Aufgaben in Betriebssystemen:
**Ansteuerung** der E-/A Geräte; Systemintern, z.B. über das Bios
**Verständigung** von Programmen und E-/A Geräten sicherstellen
**Koordination**, wenn mehrere Anwendungen das gleiche Gerät benutzen

## BetriebssystemeDateisystem

**Aufgaben des Dateisystems:**
**Abstraktionsmechanismus**; Daten im Betriebssystem dem Anwender zugänglich machen
**Schutz** der Daten vor unbefugten Lese- und Schreibaktionen
- Verschiedene Systeme; verschiedene  **physische Datenstrukturen;** legen fest, wie Daten auf der Festplatte gespeichert werden
**Logische Datenstruktur;** für den Anwender sichtbar und auch wichtiger; ordnet Verzeichnisse und Dateien; hält Informationen für Lese und Schreiberlaubnis

## BetriebssystemeSchutzmechanismen

**Schutzmechanismen** sollen verhindern:
**beabsichtigten Bedrohungen** wie Spionage oder Computervieren
**unbeabsichtigte Bedrohungen** wie falsche Bedienung oder auch fehlerhafte Programme
- Entwurfsprinzipien für **Sicherheitsmaßnahmen**
- Sicherheitskonzept muss übersichtlich sein
- das Konzept muss geschlossen sein
- Zugriff auf Betriebsmittel so gering wie möglich halten
- Die Benutzbarkeit darf nicht unzumutbar einge- schränkt werden

**Notes:**
Über verschiedene Angriffsmöglichkeiten sprechen: würmer trojaner backdoors viren...

## BetriebssystemeEchtzeitbetriebssysteme

- Zum Einsatz in **technischen Systemen** vorgesehen; Anforderungen:
**Reaktionszeit** des Computers ist **bekannt;** Aktionen dürfen vom Betriebssystem nicht wesentlich verzögert werden
- Arbeiten auf Rechnern mit **beschränkten Betriebs- mitteln**
**Stabil im Dauerbetrieb** arbeiten

## BetriebssystemeVerteilte Rechensysteme

- Ein **verteiltes System** besteht aus mehreren Computern; Verteilt organisierte Funktionen:
- Dateisystem
- Benutzerverwaltung
- gemeinsame Daten
- Idealfall: Das verteiltes System verhält sich wie ein **Einzelsystem**

## BetriebssystemeBetriebssysteme für parallele Rechensysteme

- Architektur des Betriebssystems hängt von der Architektur des Rechensystems ab:
**Symmetrische Multiprozessoren:** ein gemeinsamer Speicher liegt vor; alle Prozessoren greifen darauf zu
**Lokale Speicher**: Zustandsinformationen werden verteilt; die Betriebssysteme arbeiten **unabhängig voneinander**

## BetriebssystemeArchitekturen von Betriebssystemen

- Unterschiedliche Anforderungen - unterschiedliche Architekturen:
**Das Betriebssystem als Programmbibliothek:** nur einen Satz von Funktionen zur Verfügung
**Das Betriebssystem als Scheduler:** Das Betriebs-system besteht im wesentlichen aus der Prozess-verwaltung
**Das Betriebssystem als privilegierte Instanz: **System hat die Kontrolle über die Betriebsmittel; Programme verwenden Dienste des Systems

**Notes:**
Erster punkt: bsp: e-ausgabe und dateisystem
Letzter punkt: Grundlage von mehrbenutzersystemen

## Verteilte Systeme

## Was ist ein verteiltes System?

*Definition:*
- 	Ein **verteiltes (Software–) System **ist ein System das aus mehreren Komponenten
- 	besteht, die auf vernetzten Rechnern installiert sind und das seinen Benutzern
- 	als einheitliches zusammenhängendes System gegenüber tritt.

## Was ist ein verteiltes System?

*Einheitliches System*
- 	Die Aufteilung in Komponenten ist für den Benutzer transparent.
*Vernetzte Rechner*
- 	Die Komponenten kommunizieren durch Nachrichtenaustausch. Es gibt keinen gemeinsamen Speicher oder andere gemeinsamen Ressourcen.

## Warum verteilte Systeme?

*Verteilte Anwendungen*
- 	Manche Anwendungen sind naturgemäß verteilt, z.B. E-Mail
*Verteilte Funktionalit**ä**t*
- 	Komponenten unterschiedlicher Funktionalität arbeiten zusammen, z.B. File–Server und Client

## Warum verteilte Systeme?

*Lastverteilung*
- 	Die gleiche Funktionalität wird auf mehrere Komponenten verteilt, um die Leistung zu erhöhen.
-  *Risikoverteilung*
- 	Die Ausfallwahrscheinlichkeit kann durch Replikation gesenkt werden.

## Beispiele für verteilte Systeme

*Internet*
- 	Verteiltes weltweites System von gleichberechtigten Rechnern die Nachrichten austauschen und Kommunikationsverbindungen aufbauen.
*Intranet*
- 	Internet–Technologie in abgegrenzten (Firmen–) Netzen.

## Beispiele für verteilte Systeme

*Das Web*
- 	Verteiltes System von Clients (Browser) und Servern (Web–Server) die Daten zur
- 	Verfügung stellen und abrufen.
*Klassische Transaktionssysteme*
- 	Flug–, Hotel–, Bahn–, Reisebuchungssysteme, ...
*Klassische und neu**e**re Handelssysteme*
- 	Handelssysteme: für Aktien (z.B. Xetra), Rohstoffe, Frachtkapazität,E–Shops,...

## Problemstellungen

*Koordination*
- 	Die Komponenten agieren *nebenl**ä**ufig *und müssen dementsprechend synchronisiert werden. (Ohne gemeinsamen Speicher und ohne gemeinsame Uhr!)
*Fehler*
- 	Einzelne Komponenten können ausfallen, ohne dass das Gesamtsystem ausfällt. D.h.: Das
- 	Gesamtsystem muss weiterarbeiten, auch bei Ausfall einzelner Komponenten.
*Heterongenit**ä**t*
- 	Komponenten auf unterschiedliche Plattformen und in unterschiedlichen Implementierungstechniken müssen interagieren.
*Sicherheit*
- 	Die notwendige Kommunikation der Komponenten erhöht ihre Gefährdung.

## Herausforderungen

*Transparenz*
- 	 Aspekte:
- 	_**Zugriff:**_ Nutzung einer Ressource ohne Wissen darüber, 	ob sie lokal oder entfernt ist
-    _**Ort:**_ Nutzung ohne Wissen über die genaue Position
-    _**Nebenläufigkeit**_: Nutzung ohne Rücksicht auf andere 	Nutzer
-    _**Replikation:**_ Nutzung eines Systems von vielen, als sei
-        es das einzige
-    _**Fehler:**_ Nutzung ohne Wissen/Beachtung von Fehlern. 	(z.B. Automatische Wiederholung)
-    _**Mobilität:**_ Nutzung ohne Beachtung der Bewegung (z.B. 	Handy)
-    _**Leistung:**_ Automatische Anpassung des Systems an die 	Last
-    _**Skalierung:**_ Nutzung des Systems verändert sich nicht 	mit dessen Wachstum

## Herausforderungen

*Offenheit*
**	****– ****	**Interoperalität: Komponenten 	unterschiedlicher Technologie/ 	Hersteller kooperieren
**	****– ****	**Portierbarkeit: Komponenten können 	auf andere Plattformen transferiert 	werden

## Herausforderungen

*Skalierbarkeit*
- 	Skalierbarkeit: Das System kann ohne Modifikation vergrößert werden.
- 	Dimensionen der Skalierbarkeit:
**	****– **Größe: Benutzer, Komponenten, etc.
**	****– **Ausdehnung: lokal, regional, weltweit
**	****– **Adminstrativ: ein, mehrere, viele
- 	   verantwortliche Betreiber

## Architektur verteilter Systeme

*Schicht–Architektur*
**	****– **Grundidee: Das System besteht aus mehreren 	Schichten die jeweils aufeinander aufbauen
-      **– **Schichten liefern der nächst höheren Schicht
-         	einen *Dienst*
**	****– **Dieser Dienst kann mit Hilfe des Dienstes der 	darunter liegenden Schicht implementiert werden