160 likes | 292 Views
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
E N D
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 1 2 3 16 4 15 5 14 13 6 12 7 8 9 10 11 1 – Auswahlmenü 5 – Prozesse bearbeiten 9 – Schedulerdaten 13 – animierte Simulation 2 – Panel „Betriebssystem“ 6 – Erklärungsfeld 10 – aktiver Prozess 14 – Timerintervall 3 – Panel „Scheduler“ 7 – Schedulerdaten 11 – Signal 15 – Zeitgeber 4 – Prozesstabelle 8 – Warteschlange 12 – 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
DemonstrationRound Robin Intervall erreicht Zeitgeber IRQ senden IRQ empfangen Scheduler aufrufen Betriebs-system Prozessliste Schedulergestartet Aktualisieren derWarteschlange Warte-schlange Warteschlangeaktuell Senken derRestrechenzeit Schedulerdaten
Betriebs-system Restrechenzeitgesenkt Prüfung derRestrechenzeit Schedulerdaten xor Restrechenzeit> 0 Restrechenzeit<= 0 Pausierung desakt. Prozesses Warteschlange Pausiert Prozess ans Endeder WS stellen CPU WS aktualisiert Andere Prozesseaufrücken WS aktualisiert Obersten Prozessstarten Schedulerdaten Prozess gestartet
DemonstrationRound Robin mit Prioritäten Intervall erreicht Zeitgeber IRQ senden IRQ empfangen Scheduler aufrufen Betriebs-system Prozessliste Schedulergestartet Aktualisieren derWarteschlange Warte-schlange Warteschlangeaktuell Senken derRestrechenzeit Schedulerdaten
Betriebs-system Restrechenzeitgesenkt Prüfung derRestrechenzeit Schedulerdaten xor Restrechenzeit> 0 Restrechenzeit<= 0 Senken derPriorität um 1 gesenkt Prüfen derPriorität xor Prozess hathöchste Priorität Prozessliste Wiederherstellender ursprüngl. Priotität Alle Prozessehaben Priorität 0 Warteschlange Prioritätwiederhergestellt
Betriebs-system Prozess hat nichthöchste Priorität Aktiven Prozesspausieren Schedulerdaten Warteschlange Pausiert Nächst wichtigerenProzess starten CPU Prozess gestartet Schedulerdaten
DemonstrationLotterie Intervall erreicht Zeitgeber IRQ senden IRQ empfangen Scheduler aufrufen Betriebs-system Prozessliste Schedulergestartet Aktualisieren derWarteschlange Warte-schlange Warteschlangeaktuell Senken derRestrechenzeit Schedulerdaten
Betriebs-system Restrechenzeitgesenkt Prüfung derRestrechenzeit Schedulerdaten xor Restrechenzeit> 0 Restrechenzeit<= 0 Ziehen einerZufallszahl Warteschlange Zufallszahlgezogen Gewinnerermitteln CPU Gewinnerermittelt Aktiven Prozesspausieren Schedulerdaten Pausiert Gewinnerprozessstarten Prozess gestartet