-
Beschreitungw
-
Erfindung : Verfahren zur Verbesserung des Antwortzeitverhaltens von
Prozeßrechnern* Die Erfindung betrifft ein Verfahren zur Verbesserung des Antwortzeitverhaltens
von Prozeßrechnern mit Betriebssystem.
-
Das Antwortzeitverhalten ist das wichtigste Leistungsmerkmal von Prozeßrechnern;
die Antwortzeiten sind bei dem in Prozeßrechnern vorliegenden Realzeitbetrieb möglichst
kurz zu halten.
-
Stand der Technik: Es ist bekannt, daß für den sicheren und einfachen
Betrieb eines Prozeßrechners ein Betriebssystem vorteilhaft ist. Die für den Ablauf
des Betriebssystems nötige Rechenzeit hat allerdings einen negativen Einfluß auf
das Antwortzeitverhalten des Prozeßrechners. Eine Verschlechterung des Antwortzeitverhaltens
durch den Ablauf von Prozessen 2.Art (Schale) des Betriebssystems kann zwar im allgemeinen
dadurch umgangen werden daß die entsprechende Leistung des Betriebssystems bereits
vor der zeitkritischen Phase angefordert und erbracht wird ( z.B. : Prozesse werden
rechtzeitig geladen und resident im Arbeitsspeicher gehalten ) ; jedoch hat der
Ablauf des Betriebssystemkerns* (Prozesse 1. Art des Betriebssystems) in zweifacher
Hinsicht einen bisher unvermeidbaren negativen Einfluß auf das Antwortzeitverhalten
in besonders zeitkritischen Fällen 1. Antwortzeiten der Rechenprozesse Die für den
Ablauf des Betriebssystemkerns nötige Rechenzeit ist für die Rechenprozesse verloren
und hemmt deren Arbeitsfortschritt und verzögert deren Fertigstellung.
-
2. Reaktionszeiten auf Unterbrechungswünsche Während des Ablaufs von
Funktionen des Betriebssystemkerns ist (zumindest teilweise) Unterbrechungssperre
nötig, so daß Unterbrechungswünsche nur verzögert behandelt werden können. ( Selbstverständlich
könnte man auch während des Ablaufs von Betriebssystemkernfunktionen Unterbrechungen
zulassen, wenn die zugehörigen Unterbrechungsantwortprogramme keinen Gebrauch von
Daten und Funktionen des Betriebssystemkerns machten; man muß jedoch bei Prozeßrechnern
in der Praxis zulassen, * Alle Begriffe werden im Sinne von VDI/VDE-Richtllnle 3554
(Entwurf, 3.80), "Funktionelle Beschreibung von Prozeßrechner-8etriebssystemen",
verwendet.
-
daß auch aus Unterbrechungsantwortprogrammen Funktionen des Betriebssystemkerns
aufgerfufen werden können, weil nur so der Programmierer der Unterbrechungantwortprogramme
eine sichere Verbindung der Unterbrechungssignale zu den Rechenprozessen herstellen
kann.) Durch den Einsatz von Multiprozessor-Systemen kann zwar zusätzliche Rechenkapazität
bereitgestellt werden , und die Rechenprozesse und die Prozesse 2. Art des Betriebssystems
können auf die vorhandenen Prozessoren verteilt werden und teilweise parallel ablaufen.
Auf jedem Prozessor bleibt aber in herkömmlichen Systemen der Kern des Betriebssystems
( und damit auch die beschriebene Problematik bezüglich des Antwortzeitverhaltens
) erhalten; die Ursache hierfür ist offenbar, daß gerade bei Prozeßrechnern der
Betriebssystemkern aufs engste mit den Rechenprozessen verbunden ist : Es muß nämlich
jeder Rechenprozeß Zugang zum Betriebssystemkern haben, damit er mit den anderen#
Rechenprozessen geordnet zusammenarbeiten kann, was erforderlich ist, weil ja alle
Rechenprozesse an der gleichen Aufgabe (technischer Prozeß) arbeiten. Damit ist
bei Prozeßrechnern ständige Kommunikation und Synchronisation der Rechenprozesse#nötig,
die über den Betriebssystemkern abgewickelt wird.
-
Zusammenfassend läßt sich also bisher der negative Einfluß des Betriebssystemkerns
auf das Antwortzeitverhalten bei Prozeßrechnern nicht vermeiden, auch nicht durch
den Einsatz von Multiprozessoren.
-
Aufgabe: Der Erfindung liegt die Aufgabe zugrunde, bei Prozeßrechnern
den negativen Einfluß des Betriebssystemkerns auf das Antwortzeitverhalten weitestgehend
zu vermeiden.
-
Lösung: Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß für
den Ablauf des Betriebssystemkerns des Prozeßrechners ein eigener, zusätzlicher
Prozessor, der mit dem Prozeßrechner mit der Möglichkeit zu schneller Kommunikation
verbunden ist, verwendet wird.
-
Für eine geeignete Durchführung dieses Verfahrens wird folgende weitere
Ausgestaltung vorgeschlagen Der Prozessor, auf dem der Betriebssystemkern abläuft
(im folgenden kurz Betriebssystemprozessor genannt), unterbricht den Prozeßrechner
immer dann,
wenn entsprechend der Strategie des Betriebssystems
ein anderer Rechenprozeß fortgesetzt werden soll und führt die die Prozessorzuteilung
für den gewtinschten Rechenprozeß durch, gegebenenfalls mit geringfügiger Unterstützung
durch den Prozeßrechner. Umgekehrt wird jeder Aufruf einer Betriebssystemkernfunktion
am Prozeßrechner sofort dem Betriebssystemprozessor Ubermittelt; hierzu werden die
Betriebssystemkernfunktlonen in zwei Gruppen eingeteilt, in solche , die den aufrufenden
Rechenprozeß sicher nicht in den Zustand Wwartend Ueberführen (Beispiel: Semaphoroperation
V), und in solche, die den aufrufenden Rechenprozeß möglicherweise in den Zustand
"wartend" überführen (Beispiel: Semaphoroperation P). Im ersteren Fall werden Aufrufe
von Betriebssystemkernfunktlonen sofort zum Betriebssystemprozessor abgesetzt, und
der Aufrufer setzt seine Tätigkeit fort; der Betriebssystemprozessor wird den ablaufenden
Rechenprozeß jedoch eventuell mit Ende des Ablaufs der aufgerufenen Betri ebssystemkernfunkti
on unterbrechen und einen anderen Rechenprozeß fortsetzen. Im letzteren Fall jedoch
wird der Aufrufer sofort beim Aufruf angehalten , und ein anderer Rechenprozeß kann
vorübergehend fortgesetzt werden; mit Ende des Ablaufs der aufgerufenen Betriebssystemkernfunktion
wird dann eventuell vom Betriebssystemprozessor wieder die Fortsetzung eines anderen
Rechenprozesses , eventuell auch des vorübergehend angehaltenen Aufrufers, erzwungen.
-
Alle zum Betriebssystemprozessor abgesetzten Aufrufe von Betriebssystemkernfunktionen
werden zweckmäßigerweise dort nötigenfalls in einer Eingangswarteschlange gespeichert;
damit ist der Betriebssystemprozessor immer bereit,Aufrufe von Betriebssystemkernfunktionen
anzunehmen und der Prozeßrechner kann nicht durch den Betriebssystemprozessor aufgehalten
werden, solange irgendein lauffähiger Rechenprozeß vorhanden ist.
-
Das beschriebene Verfahren ist offenkundig auch auf Multiprozessoren
anwendbar, wobei jedoch die Möglichkeit besteht, für jeden Prozessor einen zusätzlichen
Prozessor für den Ablauf des Betriebssystemkerns zu verwenden, oder auch, Gruppen
von Prozessoren zusammenzufassen,'iufld jeder Gruppe nur einen zusätzlichen Prozessor
für den Ablauf der Betriebssystemkerne zuzuordnen.
-
Vorteile: Die mit der Erfindung erzielbaren Vorteile bestehen insbesondere
darin, daß sich das Antwortzeitverhalten von Prozeßrechnern mit Betriebssystem verbessert;
es verkürzen sich dle#Ablaufzelten von Rechenprozessen, dadurch
daß
die für den Ablauf des Betriebssystemkerns nötige Rechenzeit von den Rechenprozessen
ausgenützt werden kann; ferner verbessern sich die Reaktionszeiten auf Unterbrechungswünsche,
da die während des Ablaufs des Betriebssystemkerns nötigen Ununterbrechbarkei tsphasen
am Prozeßrechner entfallen; diese sofortige Reaktion auf Unterbrechungswtinsche
ist auch sichergestellt, wenn in dem zugehörigen Unterbrechungsantwortprogramm eine
Funktion des Betriebssystemkerns aufgerufen werden soll.
-
Durch die Zweiteilung Rechenprozeß - Betriebssystemkern können ferner
Prozessoren mit jeweils für ihre Tätigkeit speziell geeigneten Befehlssätzen eingesetzt
werden, was sowohl die Prbgrammerstellung erleichtert als auch die Abläufe von Rechenprozessen
und Betriebssystemkern weiter beschleunigt.
-
Ausführungsbeispiele: Das beschriebene Verfahren läßt sich beispielsweise
auf folgenden Anordnungen durchführen : 1. Gemeinsamer Speicher Prozeßrechner und
Betriebssystemprozessor sind über einen gemeinsamen Speicher verbunden. Dieser dient
zur Aufnahme der Parameter von Aufrufen von Betriebssystemkernfunktlonen einerseits
und zur Ablage von Information über lauffähige Rechenprozesse andererseits und ermöglicht
so die Kommunikation zwischen den beiden Prozessoren. Der gemeinsame Speicher kann
relativ klein sein, wenn beide Prozessoren zusätzlich private Speicher zur Verfugung
haben.
-
2. Gemeinsamer Bus Bei Prozeßrechnern mit Bus-Struktur wird der Betriebssystemprozessor
ebenfalls an den Bus des Prozeßrechners angeschlossen; die Kommunikation erfolgt
dann über den gemeinsamen Bus durch Zugriff auf den Speicher des Prozeßrechners.
Wieder ist ein zusätzlicher privater Speicher des Betrlebssystemprozessors, der
nicht über den gemeinsamen Bus angesprochen wird und zur Ablage der Daten und des
Programmcodes des Betriebssystemkerns dient, vorteilhaft, weil dadurch die Busbelastung
gering ist (Nur für die Kommunikation zwischen den beiden Prozessoren wird der Bus
von beiden Prozessoren benötigt).
-
In beiden Beispielen wird ein zusätzliches Signal mit der Möglichkeit,
den jeweils anderen Prozessor zu unterbrechen, für die Kommunikation vorteilhaft
sein (z.B. zur Festlegung von Anfang und Ende einer Kommunikationsphase).
-
Die beschriebenen Anordnungen lassen sich mit den heutigen elektronischen
Bauteilen unschwer realisieren.
-
Für beide Beispiele wird ferner vorgeschlagen, für den Betriebssystemprozessor
einen Prozessor mit einem speziellen Befehlssatz, der für Betriebssystemabläufe
besonders geeignet ist, zu verwenden; beispielsweise wird man auf Befehle für Gleitkomma-Rechenoperationen
verzichten können und dafür spezielle Befehle zur Listenverarbeitung vorsehen.