Mit der Rate monotonische Terminplanung

In der Informatik ist mit der Rate monotonische Terminplanung ein Terminplanungsalgorithmus verwendet in Realtime Betriebssysteme mit einer Terminplanungsklasse des statischen Vorrangs. Die statischen Prioritäten werden auf der Grundlage von der Zyklus-Dauer des Jobs zugeteilt: Je kürzer die Zyklus-Dauer ist, desto höher der Vorrang des Jobs ist.

Diese Betriebssysteme sind allgemein Vorkaufs- und haben deterministische Garantien hinsichtlich Ansprechzeiten. Rate-Monostärkungsmittel-Analyse wird in Verbindung mit jenen Systemen verwendet, um Terminplanungsgarantien für eine besondere Anwendung zur Verfügung zu stellen.

Einführung

Eine einfache Version der mit der Rate monotonischen Analyse nimmt an, dass Fäden die folgenden Eigenschaften haben:

  • Keine gemeinsame Betriebsmittelnutzung (teilen Prozesse Mittel, z.B eine Hardware-Quelle, eine Warteschlange oder jede Art des Semaphor-Blockierens oder blockierungsfrei nicht (beschäftigt - wartet))
  • Deterministische Termine sind Perioden genau gleich
  • Statische Prioritäten (erwirbt die Aufgabe mit dem höchsten statischen Vorrang, der runnable sofort ist, alle anderen Aufgaben durch Vorkaufsrecht)
  • Statische Prioritäten haben gemäß der Rate-Monostärkungsmittel-Vereinbarung zugeteilt (Aufgaben mit kürzeren Perioden/Terminen werden höhere Prioritäten gegeben)
  • Zusammenhang-Schalter-Zeiten und andere Faden-Operationen sind frei und haben keinen Einfluss auf das Modell

Es ist ein mathematisches Modell, das eine berechnete Simulation von Perioden in einem geschlossenen System enthält, wo gemeinsamer Antrag und Time-Sharing-Planer scheitern, den Terminplanungsbedarf sonst zu decken. Planende Blicke des Monostärkungsmittels der Rate auf ein Lauf-Modellieren aller Fäden im System und bestimmen, wie viel Zeit erforderlich ist, um die Garantien für den Satz von fraglichen Fäden zu entsprechen.

bewiesen, dass für eine Reihe n periodischer Aufgaben mit einzigartigen Perioden eine ausführbare Liste, die immer Termine einhalten wird, besteht, wenn die Zentraleinheitsanwendung unter einem spezifischen gebunden (abhängig von Zahl von Aufgaben) ist. Der Schedulability-Test auf RMS ist:

:

wo C die Berechnungszeit ist, ist T die Ausgabe-Periode (mit dem Termin eine Periode später), und n ist die Zahl von Prozessen, um auf dem Plan zu stehen. Zum Beispiel U  0.8284 für n = 2. Wenn die Zahl von Prozessen zur Unendlichkeit neigt, wird dieser Ausdruck neigen zu:

:

So ist eine Überschlagsrechnung, dass RMS im allgemeinen Fall alle Termine einhalten kann, wenn Zentraleinheitsanwendung 69.3 % ist. Die anderen 30.7 % der Zentraleinheit können dem niedrigeren Vorrang nicht Echtzeitaufgaben gewidmet werden. Es ist bekannt, dass ein zufällig erzeugtes periodisches Aufgabe-System alle Termine einhalten wird, wenn die Anwendung 85 % oder weniger ist, jedoch hängt diese Tatsache davon ab, die genaue Aufgabe-Statistik zu wissen (Perioden, Termine), der für alle Aufgabe-Sätze nicht versichert werden kann.

Die Rate-Monostärkungsmittel-Vorzugsanweisung ist das optimale Meinen dass, wenn ein statischer Vorzugsterminplanungsalgorithmus alle Termine einhalten kann, dann kann der Rate-Monostärkungsmittel-Algorithmus auch. Der mit dem Termin monotonische Terminplanungsalgorithmus ist auch mit gleichen Perioden und Terminen optimal, tatsächlich in diesem Fall sind die Algorithmen identisch; außerdem ist Termin-Monostärkungsmittel-Terminplanung optimal, wenn Termine weniger sind als Perioden.

Ein optimaler Terminplanungsalgorithmus des statischen Vorrangs, wenn Termine größer sind als Perioden, ist ein offenes Problem.

Das Vermeiden der Vorzugsinversion

In vielen praktischen Anwendungen werden Mittel geteilt, und der unmodifizierte RMS wird der Vorzugsinversion unterworfen sein und Gefahren festfahren. In der Praxis wird das durch das Einführen des Vorzugserbes gelöst. Alternative Methoden sind, Schloss freie Algorithmen zu verwenden oder das Teilen eines mutex/semaphore über Fäden mit verschiedenen Prioritäten zu vermeiden. Das ist, so dass Quellenkonflikte an erster Stelle nicht resultieren können.

Das Deaktivieren des Vorkaufsrechts

  • Und Primitive, die Zentraleinheitsunterbrechungen in einem Echtzeitkern (MicroC/OS-II (allgemein geschrieben als uC/OS-II) Kern), schließen
  • Die Familie von Primitiven, die die Blockierung von Gerät-Unterbrechungen (FreeBSD 5.x/6.x), verschachteln

Vorzugserbe

Beispiele von Vorzugserbe-Algorithmen schließen (vom einfachsten bis kompliziertsten) ein:

  • http://rt.wiki.kernel.org/index.php/Main_Page enthält eine Durchführung dieses Algorithmus, der ein Teil der Echtzeitanstrengung von Linux im Kern ist, den kompletten Kern von Linux völlig Vorkaufs-zu machen
  • Das grundlegende Vorzugserbe-Protokoll, das bis zu einer hohen Vorzugsaufgabe wartet, bittet um ein Schloss, das durch eine Aufgabe des niedrigen Vorrangs gehalten ist, und erhöht dann den niedrigen Vorzugsaufgabe-Vorrang bis zum hohen Vorzugsniveau, bis das Schloss veröffentlicht wird
  • Das höchste Schließfach-Protokoll, das verlangt, dass Off-Lineanalyse aller Aufgabe-Konflikte einen "Decke-Vorrang" findet
  • Das Vorzugsdecke-Protokoll, das eine Erhöhung des grundlegenden Vorzugserbes ist, das einen "Decke-Vorrang" jedem Semaphor zuteilt, das der Vorrang des höchsten Jobs ist, der jemals auf dieses Semaphor zugreifen wird. Ein Job kann dann keinen niedrigeren Vorrang kritische Abteilung durch Vorkaufsrecht erwerben, wenn sein Vorrang niedriger ist als der Decke-Vorrang für diese Abteilung.

Vorzugserbe-Algorithmen können durch zwei Rahmen charakterisiert werden. Erstens, ist das Erbe faul (nur wenn notwendig) oder unmittelbar (Zunahme-Vorrang, bevor es einen Konflikt gibt). Zweit ist das Erbe optimistisch (erhöhen Sie einen minimalen Betrag), oder pessimistisch (Zunahme durch mehr als der minimale Betrag):

In der Praxis gibt es keinen mathematischen Unterschied (in Bezug auf die Systemanwendung von Liu-Layland gebunden) zwischen den faulen und unmittelbaren Algorithmen, und die unmittelbaren Algorithmen sind effizienter, um durchzuführen, und so sind sie diejenigen, die durch die meisten praktischen Systeme verwendet sind.

Das grundlegende Vorzugserbe-Protokoll kann das gekettete Blockieren, d. h. eine fast willkürlich lange Verzögerung von der Zeit erzeugen eine hohe Vorzugsaufgabe bittet um eine kritische Abteilung, bis ihm gedient wird. Die anderen Protokolle versichern, dass am grössten Teil eines niedrigeren Vorrangs kritische Abteilung fertig sein muss, bevor die hohe Vorzugsaufgabe seine kritische Abteilung bekommt.

Das Vorzugsdecke-Protokoll ist in VxWorks Echtzeitkern verfügbar, aber wird selten ermöglicht.

Ein Beispiel des Gebrauchs des grundlegenden Vorzugserbes ist mit dem "Bahnbrecher-Rücksetzen-Programmfehler von Mars" verbunden, der auf Mars durch das Ändern der Entwicklungsfahnen für das Semaphor geheftet wurde, um das Vorzugserbe zu ermöglichen.

Beispiel

Die Anwendung wird sein:

:

Die genügend Bedingung für Prozesse, unter denen wir beschließen können, dass das System schedulable ist, ist:

:

Seitdem

Aber erinnern Sie sich, diese Bedingung ist nicht eine notwendige. So können wir nicht sagen, dass ein System mit der höheren Anwendung nicht schedulable mit diesem Terminplanungsalgorithmus ist.

Siehe auch

  • Deos, eine Zeit und Raum hat Echtzeitbetriebssystem verteilt, das einen Arbeitsrate-Monostärkungsmittel-Planer enthält.
  • Termin-Monostärkungsmittel, planend
  • Dynamischer Vorrang, planend
  • Frühster Termin, zuerst planend
  • RTEMS, eine offene Quelle Echtzeitbetriebssystem, das einen Arbeitsrate-Monostärkungsmittel-Planer enthält.
  • Terminplanung (der Computerwissenschaft)

Weiterführende Literatur

.
  • , Kapitel 6.

Links


Qing (Begriffserklärung) / Weltführer
Impressum & Datenschutz