Software zur Simulation von Multitaskingalgorithmen Michael Böhm – BSZW Rodewisch
Gliederung Einleitung Ziel Lösung Ergebnisse Demonstration –Round Robin –Round Robin mit Prioritäten –Lotterie
Einleitung Multitasking = Nebenläufigkeit Wichtige Aufgabe eines OS Scheinbar parallele Prozesse –Prozesse rechnen abwechselnd –Wechsel nicht bemerkbar –20 – 30 ms Kooperatives & prämentives MT Wichtigste Bestandteile: –CPU –Zeitgeber –Betriebssystem mit Scheduler
Ziel Entwicklung eines Programms visuelle Darstellung mehrerer Multitasking-Algorithmen Einsatz im Unterricht
Lösung Recherche –Funktionelle Einheiten –Algorithmen –Darstellung Entwicklung der Programmoberfläche Programmtechnische Implementation Borland Delphi 7 Testung
Ergebnisse multitasking.exe Grafische Oberfläche Darstellung der funktionellen Einheiten Simulation von 3 Algorithmen: –Round Robin –Round Robin mit Prioritäten –Lotterie
Ergebnisse – Auswahlmenü5 – Prozesse bearbeiten9 – Schedulerdaten13 – animierte Simulation 2 – Panel Betriebssystem6 – Erklärungsfeld10 – aktiver Prozess14 – Timerintervall 3 – Panel Scheduler7 – Schedulerdaten11 – Signal15 – Zeitgeber 4 – Prozesstabelle8 – Warteschlange12 – Schrittweise Sim.16 – CPU mit aktivem Prozess
Ergebnisse Schritt für Schritt: –Darstellung der einzelnen Schritte –Ausführliche Erklärung –Verstehen der einzelnen Einheiten Simulation: –Gesamtzusammenhang –Geschwindigkeit beliebig wählbar
Demonstration Round Robin Intervall erreicht IRQ senden Prozess liste Zeitgeber Betriebs- system IRQ empfangen Scheduler aufrufen Scheduler gestartet Aktualisieren der Warteschlange Warte- schlange Warteschlange aktuell Senken der Restrechenzeit Scheduler daten
Betriebs- system Restrechenzeit gesenkt Prüfung der Restrechenzeit Scheduler daten xor Restrechenzeit > 0 Restrechenzeit <= 0 Pausierung des akt. Prozesses Prozess ans Ende der WS stellen Andere Prozesse aufrücken Obersten Prozess starten Pausiert WS aktualisiert Prozess gestartet Scheduler daten Warteschlange CPU
Demonstration Round Robin mit Prioritäten Intervall erreicht IRQ senden Prozess liste Zeitgeber Betriebs- system IRQ empfangen Scheduler aufrufen Scheduler gestartet Aktualisieren der Warteschlange Warte- schlange Warteschlange aktuell Senken der Restrechenzeit Scheduler daten
Betriebs- system Restrechenzeit gesenkt Prüfung der Restrechenzeit Scheduler daten xor Restrechenzeit > 0 Restrechenzeit <= 0 Senken der Priorität um 1 Prüfen der Priorität gesenkt Prozess hat höchste Priorität xor Alle Prozesse haben Priorität 0 Wiederherstellen der ursprüngl. Priotität Prozessliste Warteschlange Priorität wiederhergestellt
Prozess hat nicht höchste Priorität Aktiven Prozess pausieren Scheduler daten Betriebs- system Pausiert Prozess gestartet Scheduler daten Warteschlange CPU Nächst wichtigeren Prozess starten
Demonstration Lotterie Intervall erreicht IRQ senden Prozess liste Zeitgeber Betriebs- system IRQ empfangen Scheduler aufrufen Scheduler gestartet Aktualisieren der Warteschlange Warte- schlange Warteschlange aktuell Senken der Restrechenzeit Scheduler daten
Betriebs- system Restrechenzeit gesenkt Prüfung der Restrechenzeit Scheduler daten xor Restrechenzeit > 0 Restrechenzeit <= 0 Ziehen einer Zufallszahl Zufallszahl gezogen Warteschlange Gewinner ermitteln Gewinner ermittelt Aktiven Prozess pausieren Pausiert Prozess gestartet Gewinnerprozess starten Scheduler daten CPU
Vielen Dank für ihre Aufmerksamkeit