2 - Systemprogrammierung 2 [ID:10886]
50 von 735 angezeigt

Ja, hallo, guten Morgen. Willkommen zu unserer zweiten Vorlesung heute. Bevor ich jetzt somit

ja, dem ersten neuen Thema von Systemprogrammierung 2, nämlich der Prozessverwaltung, beginne,

kurz die Frage, gibt es irgendwelche organisatorischen Dinge noch zu klären?

Hat mit der Übungsanmeldung alles so geklappt, wie ich es dir vorgestellt habe, oder gibt

es etwas, wo ich das Problem lösen müsste noch?

Nicht?

Gut.

Ja, gut, jetzt hier mit den Übungsgruppen, es waren letztendlich auch weniger Anmeldungen,

wie wir gerechnet haben, während umgekehrt in der Systemprogrammierung 1 erheblich mehr

waren, wie wir gerechnet haben, aber gut, da konnten wir jetzt natürlich dann ganz praktisch

auch noch einen Übungsleiter umschieben und insofern müssten jetzt eigentlich beide Veranstaltungen

ganz gut bedient sein.

Gut, also, das erste große Kapitel von Systemprogrammierung 2 ist das Thema Prozessverwaltung und das

erste Thema in diesem Kapitel ist jetzt das Thema Einplanungskriterien, überhaupt das

Thema Einplanung erstmal.

Ich will ein bisschen was Grundsätzliches über Programm Fäden, also Threads sagen,

wie die so ablaufen, was man in Bezug auf Leistungsoptimierung in dem Rechner tun kann.

Dann geht es darum, wie man bei dieser Einplanung von Fäden arbeitet, welche Ebenen es gibt,

also so mittelfristig, langfristig, kurzfristig und was es mit dem Thema Verdrängung auf

sich hat und dann der dritte große Abschnitt ist dann, ja, auch wieder nach welchen Kriterien

macht man so eine Einplanung überhaupt.

Einerseits will man natürlich irgendwelche Kriterien für den Benutzer erfüllen, andererseits

hat man vielleicht auch System globale Kriterien, die man erfüllen möchte und dann gibt es

noch so verschiedene Betriebsarten, in denen Rechner arbeiten, in Bezug auch auf die Ziele,

die mit dem Rechenbetrieb einfach verbunden sind.

Schauen wir uns erstmal so ein paar grundsätzliche Fragen an.

Also die Einheit, die man einem Prozessor, einem Prozessorkern zuteilt, ist ein Faden,

Englisch Thread.

Hier hat sich der deutsche Begriff Faden inzwischen doch relativ weit, also auch über

Waschveranstaltungen hinaus sehr gut durchgesetzt und ja, diese Planung, wie man solches Rez

jetzt, wie man die CPU solchens Rez gibt, erfolgt letztendlich betriebsmittelorientiert.

Sie kann ereignungsgesteuert sein oder sie kann zeitgesteuert sein und das gucken wir

uns mal ein bisschen genauer an.

Also die Laufbereitschaft von einem Faden hängt letztendlich davon ab, ob all die Betriebsmittel,

die er für seinen Ablauf braucht, verfügbar sind.

Das wichtigste Betriebsmittel ist natürlich immer die CPU, aber es gehören natürlich

bei Betriebsmitteln auch solche Dinge dazu, dass er möglicherweise, dass der Speicher

verfügbar ist.

Es könnte sein, dass Speicherbereiche ausgelagert wurden, weil nicht genug Hauptspeicher zur

Verfügung steht und einzelne Bereiche, Pages ausgelagert werden und wenn der Speicher nicht

da ist, dann kann der Faden oder der Prozess nicht rechnen.

Andere Betriebsmittel können sein, irgendwelche Zwischenergebnisse, die von anderen Threads

erzeugt werden, die irgendwo dann in irgendwelchen Puffern vorhanden sein müssen, damit man eben

auf den weiter rechnen kann.

Das können also ganz unterschiedliche Sachen sein.

In dem Moment, wo diese Betriebsmittel, die der Faden braucht, zur Verfügung stehen,

kann man im Prinzip sofort diesen Faden einplanen.

Man kann es aber auch später machen, dass man also nur in fest vorgegangenen Zeitintervallens

sich überlegt, welche Fäden sind jetzt potenziell ablauffähig und dann halt eine Planung darüber

macht, in welcher Reihenfolge nehme ich die denn dran.

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

01:24:45 Min

Aufnahmedatum

2012-10-25

Hochgeladen am

2019-05-02 02:29:02

Sprache

de-DE

  • Grundlagen von Betriebssystemen (Adressräume, Speicher, Dateien, Prozesse, Koordinationsmittel; Betriebsarten, Einplanung, Einlastung, Virtualisierung, Nebenläufigkeit, Koordination/Synchronisation)
  • Abstraktionen/Funktionen UNIX-ähnlicher Betriebssysteme

  • Programmierung von Systemsoftware

  • C, Make, UNIX-Shell (Solaris, Linux, MacOS X)

Lernziele und Kompetenzen:

Die Studierenden

  • erwerben fundierte Kenntnisse über Grundlagen von Betriebssystemen

  • verstehen Zusammenhänge, die die Ausführungen von Programmen in vielschichtig organisierten Rechensystemen ermöglichen

  • erkennen Gemeinsamkeiten und Unterschiede zwischen realen und abstrakten (virtuellen) Maschinen

  • erlernen die Programmiersprache

  • entwickeln Systemprogramme auf Basis der Systemaufrufschnittstelle UNIX-ähnlicher Betriebssysteme

Einbetten
Wordpress FAU Plugin
iFrame
Teilen