Entwickler von eingebetteten Systemen und Echtzeitanwendungen können heutzutage aus einer Vielzahl von Betriebssystemen wählen. Um die Entscheidung für ein
bestimmtes Betriebssystem zu treffen, ist es notwendig, sein Zeitverhalten vorhersagen zu können, welches maßgeblich von der verwendeten Schedulingstrategie abhängt.
Die vorliegende Diplomarbeit präsentiert eine Methode, Parameter, die im Zusammenhang mit dem Scheduling stehen, zu messen und die Scheduler verschiedener Betriebssysteme in einer Simulationssoftware auf Basis von SystemC nachzubilden.
----------------------------------------------
Today developers of embedded systems and real-time applications have the choice between various operating systems to use as platform. Therefore, being able to predict
the OS' behavior, which is significantly dependent on its scheduling policy, is crucial.
This thesis describes an approach how to measure scheduling related parameters and shows the possibility to emulate different schedulers by means of a simulator written
in SystemC.
Inhaltsverzeichnis
- 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äemptives 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
Zielsetzung und Themenschwerpunkte
Die Diplomarbeit befasst sich mit der Analyse und Simulation des Schedulingverhaltens von Betriebssystemen. Ziel ist es, eine Methode zu entwickeln, um die Performance von Schedulern verschiedener Betriebssysteme zu messen und zu simulieren. Diese Methode soll es ermöglichen, die Wahl des richtigen Betriebssystems für eingebettete Systeme und Echtzeitanwendungen zu erleichtern.
- Scheduling-Analyse und -Simulation von Betriebssystemen
- Messung von Scheduling-Parametern
- Modellierung von Schedulern in SystemC
- Anwendung der Methode auf verschiedene Betriebssysteme (Windows XP, QNX, Linux)
- Bewertung der Ergebnisse und Verifikation der Simulation
Zusammenfassung der Kapitel
Die Arbeit beginnt mit einer Einleitung, die die Motivation und Zielsetzung der Arbeit sowie den Aufbau erläutert. Kapitel 2 behandelt die Grundlagen von Betriebssystemen, das Prozessmodell und verschiedene Schedulingstrategien. Kapitel 3 gibt einen Überblick über den Stand der Technik, indem es verschiedene Ansätze zur Modellierung und Simulation von Betriebssystemen und deren Schedulern beleuchtet.
Kapitel 4 beschreibt die entwickelten Methoden zur Scheduling-Analyse und -Simulation. Dabei werden die Vorbetrachtungen, die Methode selbst und die Fehlerbetrachtung erläutert. Außerdem werden Testverfahren für die Analyse und Simulation vorgestellt. Kapitel 5 geht in die Details der Implementierung, insbesondere der Messung und Auswertung von Scheduling-Parametern sowie der Simulation des Schedulingverhaltens in SystemC.
In Kapitel 6 werden die Ergebnisse der Analyse und Simulation für die Betriebssysteme Windows XP, QNX und Linux vorgestellt und interpretiert. Kapitel 7 bewertet die Ergebnisse und überprüft die Validität der Simulation. Abschließend fasst Kapitel 8 die Ergebnisse der Arbeit zusammen und gibt einen Ausblick auf zukünftige Arbeiten.
Schlüsselwörter
Betriebssystem, Scheduling, Scheduling-Analyse, Scheduling-Simulation, SystemC, Echtzeitbetriebssystem, eingebettete Systeme, Windows XP, QNX, Linux, Performance-Analyse, Zeitverhalten, Modellierung, Simulation.
Häufig gestellte Fragen
Was ist Scheduling in Betriebssystemen?
Scheduling ist das Verfahren, nach dem ein Betriebssystem entscheidet, welcher Prozess oder Thread wann und wie lange die CPU nutzen darf.
Warum wird SystemC für die Simulation verwendet?
SystemC ermöglicht die Modellierung und Simulation von Hardware-Software-Systemen auf hoher Abstraktionsebene, was besonders für eingebettete Systeme wichtig ist.
Wie unterscheiden sich die Scheduler von Windows, Linux und QNX?
Während Windows und Linux für allgemeine Anwendungen optimiert sind, nutzt das Echtzeitbetriebssystem QNX präemptive Prioritäten, um deterministisches Zeitverhalten zu garantieren.
Was ist ein Prozesswechsel (Context Switch)?
Ein Prozesswechsel ist der Vorgang, bei dem der Zustand eines laufenden Prozesses gespeichert und der eines neuen geladen wird, was Zeit (Overhead) kostet.
Warum ist die Vorhersage des Zeitverhaltens wichtig?
In Echtzeitsystemen (z. B. ABS im Auto) müssen Aufgaben innerhalb fester Zeitgrenzen erledigt werden; ein falsches Scheduling kann hier fatale Folgen haben.
- Quote paper
- Diplom-Informatiker Tobias Groß (Author), 2006, Analyse und Simulation des Schedulingverhaltens von Betriebssystemen mit Hilfe von SystemC, Munich, GRIN Verlag, https://www.grin.com/document/75185