|
|
Zeile 48: |
Zeile 48: |
| ** Welche Arten fallen dir ein? | | ** Welche Arten fallen dir ein? |
| ** Welche positiven bzw. negativen Aspekte sind für die einzelnen Anwenderarten zu unterscheiden? | | ** Welche positiven bzw. negativen Aspekte sind für die einzelnen Anwenderarten zu unterscheiden? |
| </p>
| |
| </loop_task>
| |
| </loop_area>
| |
| </p>
| |
| <br />
| |
| == Die Statistik der Kontextwechsel unter Windows ==
| |
| <p>
| |
| Um einmal ein Gefühl für Kontextwechsel zu bekommen, insbesondere im Hinblick auf deren Häufigkeit, zeigt das folgende Video einige Hintergründe unter einem handelsüblichen Microsoft Windows 7.
| |
| </p>
| |
|
| |
| <p>
| |
| <loop_area icon="Video.png" icontext="Video">
| |
| <loop_media type="video" title="Kontextwechsel unter Windows 7" description="http://youtu.be/43yVqPTmsLo" copyright="CC-BY" index=true show_copyright=true>
| |
| {{#ev:youtube|43yVqPTmsLo|700}}
| |
| </loop_media>
| |
| </loop_area>
| |
| </p>
| |
|
| |
| <br />
| |
| === Aufgabe 2 ===
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="Perfmon unter Windows">
| |
| <p>
| |
| Arbeitest du auch gerade mit einem Windows-Betriebssystem?<br />
| |
| Dann dürfte auch bei dir das Systemprogramm perfmon.exe verfügbar sein.<br />
| |
| <small>(''Perfmon'' ist übrigens die Abkürzung für ''Performance Monitor''.)</small>
| |
| </p>
| |
| <p>
| |
| * Starte perfmon.exe (wie im [http://youtu.be/43yVqPTmsLo Video] gezeigt) und finde heraus, wieviele Kontextwechsel pro Sekunde gerade auf deinem System stattfinden!
| |
| </p>
| |
| <p>
| |
| * Wie verändert sich die Anzahl der Kontextwechsel pro Sekunde, wenn du mehrere Programme startest und gleichzeitig ein YouTube-Video abspielst oder beispielsweise einen Radio-Stream über den Browser abrufst?
| |
| </p>
| |
| <p>
| |
| <small>Falls du gerade kein Windows-System zur Hand hast, brauchst du diese Aufgabe natürlich nicht zu bearbeiten ;-)</small>
| |
| </p> | | </p> |
| </loop_task> | | </loop_task> |
Zeile 90: |
Zeile 54: |
|
| |
|
| <br /> | | <br /> |
| == Die Statistik der Kontextwechsel unter Linux ==
| |
| <p>
| |
| Auch Linux bietet (mindestens) eine Möglichkeit, um die Anzahl der Kontextwechsel pro Sekunde statistisch zu erfassen. Dies geschieht mit Hilfe des ''vmstat''-Kommandos. Ein Aufruf von
| |
| </p>
| |
| <p>
| |
| :''vmstat 1 10''
| |
| </p>
| |
| <p>
| |
| sorgt beispielsweise dafür, dass alle ''1'' Sekunden eine aktuelle Statistik ausgegeben wird, die Ausgabe wird ''10'' mal wiederholt.
| |
| </p>
| |
| <p>
| |
| [[File:cs-linux.jpg|cs-linux.jpg]]
| |
| </p>
| |
| <p> | | <p> |
| In der Spalte ''cs'' unter ''system'' ist die aktuelle Zahl an Kontextwechseln pro Sekunde protokolliert (cs = context switch).
| | == So geht es weiter: == |
| </p> | | </p> |
| <p> | | <p> |
| <small>Weiterführende Informationen zum ''vmstat''-Kommando liefert die zugehörige Manpage:<br /> | | <loop_area type="arrangement"><loop_toc> </loop_toc></loop_area> |
| http://unixhelp.ed.ac.uk/CGI/man-cgi?vmstat</small>
| |
| </p> | | </p> |
|
| |
|
Kontextwechsel
Zunächst die Definition:
Definition: Kontextwechsel
Definition
Unter einem Kontextwechsel (engl. context switch) oder genauer einem Prozess-Kontextwechsel auf der CPU versteht man alle erforderlichen Tätigkeiten, um einen gerade auf der CPU aktiven Prozess A, durch einen anderen Prozess B zu ersetzen.
Diese Tätigkeiten werden vom Steuerwerk der CPU in Zusammenarbeit mit dem Betriebssystem durchgeführt.
Erforderliche Tätigkeiten
Zu den erforderlichen Tätigkeiten gehören unter anderem:
- Sichere alle notwendigen Registerinformationen des scheidenden Prozesses A an einer bekannten Stelle (damit sie von dort später wiederhergestellt werden können).
- Lade alle notwendigen Registerinformationen des neuen Prozesses B in die entsprechenden Register auf der CPU.
- Lade alle notwendigen Befehle und Daten des neuen Prozesses B in den Cache.
Es ist leicht verständlich, dass jeder Kontextwechsel eine gewisse Zeit für seine Durchführung beansprucht.
Aufgabe 1
Aufgabe
Diskutiere in deiner Lerngruppe:
- Ist die in einen (bzw. mehrere) Kontextwechsel investierte Zeit positiv oder negativ im Hinblick auf die Bedürfnisse eines Anwenders an das Gesamtsystem?
- Gibt es verschiedene "Arten von Anwendern", die hier berücksichtigt werden sollten?
- Welche Arten fallen dir ein?
- Welche positiven bzw. negativen Aspekte sind für die einzelnen Anwenderarten zu unterscheiden?
So geht es weiter:
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png