27 - 4.2 Einleitung: Fallstudie zur Motivation [ID:15248]
50 von 144 angezeigt

Ich möchte nun an einem kleinen Beispiel zeigen, im Rahmen einer Fallstudie zeigen,

warum es wichtig sein kann zu ergründen, welches Laufzeitverhalten eines Programms,

das wir selbst geschrieben haben, durch welche Funktion innerhalb des Rechensystems verursacht

wird. Das spielt dann das Betriebssystem schon eine wichtige Rolle. Wir werden aber auch sehen,

dass nicht nur allein das Betriebssystem für bestimmte Effekte, die wir gleich darstellen,

verantwortlich sind. Das Beispiel ist ein einfaches Programm, was durchaus speicherintensiv und auch,

wenn man so wie rechenintensiv halt ist, es geht um eine Matrix-Operation. Betriebssystemseitig

könnte man sagen, das ist ein Beispiel, was im Bereich der Speicherwaldung verankert ist und

Fragen der Speicherbelegung letztendlich ergründet. Wir werden in zwei Teilen vorgehen. Erst werde ich

das Programm selbst vorstellen und dann die Laufzeitergebnisse präsentieren, die dieses

Programm auf verschiedene Rechensysteme geliefert hat. Und die werden wir dann halt im zweiten Teil

analysieren, um die Effekte dann halt eben doch entsprechend halt herauszuarbeiten und zu begründen.

Nun, es geht eigentlich um die Untersuchung eines bestimmten Phänomens beim Ablauf einer

Matrix-Operation. Da gehen wir ganzheitlich ran. Das heißt, wir schauen uns also insgesamt den

Programmablauf an und versuchen dann aufgrund dieser Ergebnisse mit Expertenwissen, wenn man so

will, herauszufinden, welche Elemente, einzelne Elemente, denn für welche Effekte, die wir sehen,

verantwortlich sind. Und das ist schon ein Stück weit in die Richtung, dass wir versuchen eben auch

die Funktionsweise von Betriebssystemen zu verstehen. Indem wir das nämlich tun, sind wir auch in der

Lage eben bestimmte Effekte, Erscheinungen beim Ablauf von Programmen innerhalb eines Rechensystems

besser zu begreifen und demzufolge auch die Bedeutung besser einschätzen zu können. Das

gilt nur nicht nur für Betriebssysteme, aber insbesondere eben auch für Betriebssysteme.

Es geht darum, Eigenschaften von Betriebssystemen zu erkennen. Das ist so eine generelle Sichtweise.

Wir haben ja typischerweise zwei Arten von Eigenschaften, die man eigentlich immer

auseinanderhalten muss. Es ist einmal die sogenannten funktionalen Eigenschaften und die

nicht funktionalen Eigenschaften. Nun bezogen auf Betriebssysteme sind typische funktionalen

Eigenschaften verankert in der Verwaltung von Betriebssystemen. So kann man das allgemein

betrachten. Wir werden im Verlauf der Vorlesung natürlich da denn die Sachen noch ein bisschen

weiter differenziert betrachten. Aber es geht schlichtweg ja um die Verwaltung von Prozessoren,

von Speicher, von Peripherie für eine bestimmte Anwendungsdomäne. Das sind die Funktionen,

wie so ein Dateisystem, eine Prozessverwaltung, eine Speicherverwaltung als so ein funktionales

Merkmal, eine funktionale Eigenschaft gilt. Und indem jetzt diese Systemfunktionen denn

zur Ausführung gebracht werden und als Programme ablaufen, fällt eben Zeit an. Wird Energie

verbraucht durch die Hardware, benötigt man mehr oder weniger viel Speicherplatz. Dies sind

der nicht funktionalen Eigenschaften eines Betriebssystems zum Beispiel. Allgemein bezogen

auf eine Implementierung eines Programms geht es eigentlich mit den nicht funktionalen

Eigenschaften immer um die Gütemerkmale einer bestimmten Implementierung. Wenn die

funktionalen Eigenschaften stattfinden, wenn die erbracht werden von den Betriebssystemen,

dann resultiert daraus ein bestimmtes Systemverhalten. Zeitliches Verhalten etwa. Und häufig ist es

wichtig zu erkennen, ob denn dieses Systemverhalten, was man wahrnimmt, nun ein Fehler des Systems

ist oder eben eine Eigenschaft, ein Feature. Also man möchte Bugs von Features unterscheiden

können. Das ist schon deshalb sehr wichtig, weil man sehr häufig in der Lage ist, um

Erkante Fehler herumprogrammieren zu können und die dann damit letztendlich zu kaschieren,

sodass die auf einer höheren Ebene gar nicht mehr in Erscheinung treten. Es ist aber so,

dass wenn wir jetzt nicht funktionale Eigenschaften haben, Laufzeit-Eigenschaften von Betriebssystemen

zum Beispiel, die nicht zum Anwendungsfall passen, dann wird man da auch kaum herumprogrammieren

können. Ein typischer Fall ist eben, wenn wir Echtzeit-Anwendungen haben, die ganz klare

und vielleicht sogar harte Anforderungen an bestimmte Laufzeit-Zeiteigenschaften des

Betriebssystems besitzen, dann wird man mit nicht echtzeitfähigem Betriebssystem kaum

erfolgreich sein können und diese Anwendung erfolgreich zur Ausführung bringen können.

Nun, worum geht es hier? Es geht um die Vorbelegung einer n-Kreuz-n-Matrix, also ein zweidimensionales

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

00:15:42 Min

Aufnahmedatum

2020-05-07

Hochgeladen am

2020-05-07 18:46:06

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen