Diplomarbeit, 2006
116 Seiten, Note: 1,0
1 Einleitung
1.1 Motivation der Arbeit
1.2 Zielsetzung
1.3 Aufbau der Arbeit
2 Grundlagen
2.1 Aufgaben von Betriebssystemen
2.2 Das Prozessmodell
2.3 Scheduling
2.3.1 Prozesswechsel
2.3.2 Strategien
3 Stand der Technik
3.1 Cheddar
3.2 FORTISSIMO
3.3 YASA 2
3.4 RTOS Modellierung auf Systemebene
3.5 Scheduling Simulation in SystemC
3.6 Automatische Codegenerierung
3.7 Statische Timinganalyse mit GROMIT
3.8 Fast Timed Software Model
3.9 Zusammenfassung
4 Methode zur Scheduling-Analyse und Simulation
4.1 Scheduling-Analyse
4.1.1 Vorbetrachtungen
4.1.2 Methode
4.1.3 Fehlerbetrachtung
4.1.4 Testverfahren
4.2 Simulation
4.2.1 Hardwareressourcen
4.2.2 Prozesse und Threads
4.2.3 Scheduling
4.2.4 Software-Hardware-Kommunikation
4.2.5 Anwendung auf die Schedulingsimulation
5 Details zur Implementierung
5.1 Messung und Auswertung
5.1.1 Fehlgeschlagene Versuche
5.1.2 Realisierte Zeitmessung
5.1.3 Das Messprogramm
5.1.4 Programmaufruf und Kommandozeilenparameter
5.1.5 Besonderheiten der Betriebssysteme
5.2 Simulation
5.2.1 Hardwareressourcen
5.2.2 Betriebssystem
5.2.3 Anwendung der libsystemcos
6 Ergebnisse
6.1 Windows XP
6.1.1 Interpretation der Messergebnisse
6.1.2 Der Schedulingalgorithmus
6.1.3 Modellierung und Simulation
6.2 QNX
6.2.1 Auswertung der Messergebnisse
6.2.2 Modellierung und Simulation
6.3 Linux
6.3.1 Auswertung der Messergebnisse
6.3.2 Modellierung und Simulation
6.4 Zusammenfassung
7 Bewertung der Ergebnisse
7.1 Vorbetrachtungen
7.1.1 FCFS
7.1.2 Prämptives Prioritätsscheduling
7.1.3 Round-Robin
7.2 Verifikationsmethode
7.2.1 Vorüberlegung
7.2.2 Mathematische Grundlagen
7.3 Ergebnis der Verifikation
7.3.1 Windows XP
7.3.2 QNX
7.3.3 Linux
8 Zusammenfassung und Ausblick
8.1 Rückblick
8.2 Zukünftige Arbeit
Das Hauptziel dieser Arbeit ist die Entwicklung eines Verfahrens zur abstrakten Analyse und Simulation des Scheduling-Verhaltens beliebiger Betriebssysteme, um Entwicklern eingebetteter Systeme bei der Auswahl geeigneter Plattformen und Parameter zu unterstützen. Die Forschungsfrage konzentriert sich darauf, wie das Zeitverhalten von Betriebssystem-Schedulern mit SystemC-basierten Simulationsmodellen präzise nachgebildet werden kann.
4.1.2 Methode
Prinzipiell sind zwei Vorgehensweisen denkbar, mit denen sich die Prozesse in einem System beobachten lassen. Zum einen könnte man einen Beobachter-Prozess starten, der alle relevanten Daten über das Scheduling im System sammelt. Zum anderen kann jeder Prozess im System Daten sammeln, die aus seiner Sicht verfügbar sind.
Die erste Idee hat allerdings den gravierenden Nachteil, dass dieser Beobachter-Prozess die globale Übersicht über das Geschehen im Betriebssystem haben muss. Er braucht eine direkte Verbindung zum Scheduler, was meistens nicht gewährleistet werden kann, gerade wenn die Quellen nicht frei zugänglich sind. Angenommen, das Betriebssystem stellt genügend Informationen zur Verfügung, so müsste der Beobachter diese jedoch in relativ kurzen Zeitabständen abfragen (Polling) und verfälscht durch den erhöhten Aufwand das Ergebnis, da er selbst ja auch Rechenzeit beansprucht. Im Fall des Linux-Kernels könnte man einen Beobachter-Prozess beispielsweise als Modul installieren, welches relativ einfach Zugriff auf die internen Daten des Kernels hätte. Da die Methode jedoch allgemein anwendbar sein soll, scheidet dieser Weg aus.
Die letztendlich verwendete Methode geht mit Hilfe des zweiten Ansatzes vor und lässt spezielle Testprozesse die notwendigen Daten sammeln. Dazu muss erst einmal eine idealisierte Testumgebung geschaffen werden: Das zu testende Betriebssystem muss so „sauber“ wie möglich sein. Das bedeutet, dass bestenfalls nur der Betriebssystemkern und die Testprozesse laufen. Während des Messlaufs dürfen keine Ein-/Ausgabeoperationen stattfinden, idealerweise treten nicht einmal Interrupts auf. Im Verlauf der Tests hat sich gezeigt, dass es ausreichend ist, so viele Prozesse wie möglich nach dem Start des Betriebssystems wieder zu beenden. Im Fall von Linux konnte ein minimales System gestartet werden, das nur aus dem Kernel und einer Shell besteht.
1 Einleitung: Beschreibt die Motivation zur Analyse von Scheduling-Verhalten und definiert das Ziel der Arbeit, ein allgemeines Simulationsverfahren zu etablieren.
2 Grundlagen: Führt in die wesentlichen Konzepte von Betriebssystemen, das Prozessmodell und verschiedene Scheduling-Strategien ein.
3 Stand der Technik: Gibt einen Überblick über bestehende Ansätze und Tools wie Cheddar, FORTISSIMO und YASA zur Simulation und Modellierung von Schedulern.
4 Methode zur Scheduling-Analyse und Simulation: Erläutert die methodische Vorgehensweise bei der Erfassung von Prozessdaten und den Aufbau der Simulationsbibliothek.
5 Details zur Implementierung: Dokumentiert die technische Realisierung der Messung in realen Systemen sowie die Integration in die Simulationsumgebung.
6 Ergebnisse: Präsentiert die erhobenen Messdaten und die daraus abgeleiteten Simulationsmodelle für Windows XP, QNX und Linux.
7 Bewertung der Ergebnisse: Verifiziert die erzielte Genauigkeit der Simulationsmodelle anhand des Kolmogorow-Smirnow-Tests.
8 Zusammenfassung und Ausblick: Zieht ein Fazit über die erreichten Ziele und diskutiert potenzielle Erweiterungen für zukünftige Forschungsarbeiten.
Betriebssystem, Scheduling, Simulation, SystemC, Scheduling-Strategie, Prozessmodell, Echtzeitsysteme, Zeitverhalten, Burst Time, Windows XP, QNX, Linux, libsystemcos, Leistungsanalyse, Hardware-Software-Co-Simulation.
Die Arbeit beschäftigt sich mit der Analyse und Simulation des Scheduling-Verhaltens von verschiedenen Betriebssystemen, um deren Zeitverhalten besser vorhersagbar zu machen.
Die Arbeit verknüpft die Bereiche Betriebssystemarchitektur, Scheduling-Algorithmen, Zeitmessung und System-Level-Simulation unter Verwendung von SystemC.
Ziel ist es, ein abstraktes Verfahren zu entwickeln, mit dem sich das Scheduling beliebiger Betriebssysteme vermessen und in einer Simulationssoftware nachbilden lässt.
Es wird eine messbasierte Methode verwendet, bei der Testprozesse ihre Zeitparameter aufzeichnen; diese Daten werden anschließend statistisch aufbereitet und in Simulationsmodelle überführt.
Der Hauptteil gliedert sich in die methodische Konzeption, die technische Implementierung der Mess- und Simulationsumgebung sowie die praktische Anwendung auf Windows XP, QNX und Linux.
Scheduling, Simulation, SystemC, Echtzeitfähigkeit, Betriebssystem-Verhalten und statistische Modellvalidierung.
SystemC bietet mächtige Konstrukte zur Modellierung von Hardware und Nebenläufigkeit, was es ideal für die systemnahe Simulation von Betriebssystemkomponenten macht.
Die Validierung erfolgte durch den statistischen Kolmogorow-Smirnow-Test, mit dem nachgewiesen wurde, dass die Verteilungen der Messdaten und Simulationsergebnisse keine signifikanten Unterschiede aufweisen.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

