METHOD OF COORDINATING A PLURALITY OF PROCESSES UNDER THE CONTROL OF A MICROPROCESSOR

Abstract: 1. A method of coordinating a plurality of processes by using a single central computer (MR), wherein the processes comprise user processes (AP) which are realised by user programmes and in-output processes (EAP) which are realised by in-output programmes, wherein the computer (MR) sends an instruction, which is part of the user programme, to an order handling unit (AA) which is part of a sequence control unit (ABS), wherein the order handling unit (AA) interprets the instruction, wherein the corresponding in-output unit carries out the in-output instruction, wherein the order handling unit (AA) is informed of the complete execution of the in-output instruction wherein in the event of a wait instruction (WA, EAW) which is part of the user programme, the order handling unit (AA) only continues the user programme when expected messages are present, and wherein if a further user process (AP) is in the waiting position and the expected messages are present, said user process is continued, characterised in that a microcomputer is used as a computer (MR), that in the event of an in-output instruction (EA, EAW) the order handling unit (AA) calls up an appropriate in-output initiator (EE) which is part of the in-output programme, that following the termination of partial operations the in-output unit sends interruption requests (IN) to an interruption distribution unit (UV) which is part of the sequence control unit (ABS), that the interruption distribution unit (UV) transfers the interruption request (IN) to the appropriate in-output interruption processing unit (UB) which is part of the in-output programme, and that the interruption requests (IN) which are assigned to the in-output programme of the first user process (AP) are processed by the order handling unit (AA) during the processing of the further user process (AP).

Description: Verfahren zum Koordinieren einer Mehrzahl von Prozessen unter Verwendung eines Mikrorechners Die Erfindung bezieht sich auf ein Verfahren zum Koordinieren einer Mehrzahl von Prozessen unter Verwendung eines Mikrorechners, insbesondere in einer Textstation, bei der die Prozesse durch Anwenderprogramme realisierte Anwenderprozesse und durch 3in-Ausgabeprogramme realisierte #in-Ausgabeprozesse umfassen. Textstationen werden als Teilnehmerstationen für den neuen Telekommunikationsdienst wTeletex" eingesetzt. Im Vergleich zu den bekannten Fernschreibmaschinen zeichnet sich "Teletex" durch quantitative und qualitative Verbesserung für den Benutzer aus, wie z.B. durch höhere Ubertragungsgeschwindigkeit, durch grösseren Zeichenvorrat und freizügige Textformatierung. AuBerdem haben die Textstationen neben der Kommunikationsfähigkeit auch Eigenschaften von Speicherschreibmaschinen mit Texte rbeitungsmöglichkeiten. Die Textstationen vereinigen in sich zwei charakteristische Funktionskomplexe und zwar den Komplex der Funktionen zur Lokalarbeit und den Kom- plex der Funktionen zur Textkommunikation. Unter Lokalarbeit wird dabei die Texterstellung, die Textspeicherung und die Textbearbeitung verstanden. Die Hauptfunktion des Komplexes Kommunikation sind das Empfangen, das Senden und das Zwischenspeichern von Textdaten. Der für das Empfangen bzw. Senden erforderliche Verbindungsaufbau und -abbau sowie die Textübertragung laufen dabei weitgehend automatisch ab. Ein Leistungsmerkmal der Textstation ist es, dass die Vorgänge der Textübermittlung simultan zu den Vorgängen der Lokalarbeit ablaufen können. Die lokale Schreibarbeit, die wegen des dezentralen Ein- satzes der Textstation im Büro zeitlich dominiert, darf nicht durch die Kommunikationstätigkeiten gestört werden. Die Steuerung der Textstation ist hierarchisch organisiert. Die übergeordneten Verarbeitungs- und Koordi nierungsfunktionen werden von einem zentralen Mikrorechner wahrgenommen. Die Steuerung und die Überwachung der verschiedenen Ein-Ausgabegeräte, wie Tastatur, Drucker, Bildschirm, Sekundärspeicher und Vbertragungseinrich- tungen, werden durch periphere Mikrorechner realisiert, die dem zentralen Mikrorechner untergeordnet sind. Eine Hauptaufgabe des zentralen Mikrorechners ist es, sämtliche Ein-Ausgabevorgänge zu koordinieren und die anwendungsbestimmenden Funktionen zur Lokalarbeit und Kommunikation zu realisieren. Es wäre denkbar, die gegebenenfalls parallel ablaufenden Funktionen, wie Lokalarbeit, Kommunikation und Ein Ausgabevorgänge durch den Einsatz mehrerer parallel arbeitender Mikroprozessoren zu realisieren. Eine derartige Realisierung erfordert Jedoch einen verhältnismässig grossen Aufwand. Mehrere Mikroprozessoren erhöhen den schaltungstechnischen Aufwand und zusätzlich ist ein Programmaufwand für die Koordinierung der Mikroprozessoren untereinander erforderlich. Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zum Koordinieren einer Mehrznh1 von Prozessen unter Verwendung eines Mikrorechners anzugeben, das es ermöglicht, dass sowohl Anwenderprozesse als auch Ein Ausgabeprozesse quasi-simultan ablaufen und das einen geringen Aufwand erfordert. Erfindungsgemäss wird die Aufgabe bei dem Verfahren der eingangs genannten Art gelöst durch folgende Verfahrensschritte: a) der Mikrorechner richtet einen Befehl, der Teil des Anwenderprogramms ist, an eine Auftragsabwicklung, die Teil einer Ablaufsteuerung ist, b) die Auftragsabwicklung interpretiert den Befehl, c) im Fall eines Ein-Ausgabebefehls ruft die Auftragsabwicklung eine zuständige Ein-Ausgabeeinleitung auf, die Teil des Ein-Ausgabeprogramms ist, d) die entsprechende Ein-Ausgabeeinheit führt den Sin- Ausgabebefehl aus, e) nach dem Abshluss von Teiloperationen richtet die Ein Ausgabeeinheit Unterbrechungsanforderungen an eine Unterbrechungsverteilung, die Teil der Ablaufsteuerung ist, f) die Unterbrechungsverteilung leitet die Unterbrechungsanforderung an die entsprechende Ein-Ausgabeunterbrechungsbehandlung weiter, die Teil des Ein-Ausgabeprogramms ist, g) die vollständige Ausführung des Ein-Ausgabebefehls wird der Auftragsabwicklung mitgeteilt, h) im Falle eines Wartebefehls, der Teil des Anwenderprogramms ist, setzt die Auftragsabwicklung das Anwenderprogramm erst dann fort, wenn erwartete Meldungen vorliegen, i) falls ein weiterer Anwenderprozess sich im Wartezustand befindet und dort die erwarteten Meldungen vorliegen, wird dieser fortgesetzt, k) )diedie Unterbrechungsanforderungen, die dem Ein-Ausgabe- programm des ersten Anwenderprozesses zugeordnet sind, werden auch während der Bearbeitung des weiteren Anwenderprozesses durch die Auftragsabwicklung bearbeitet. Das Verfahren gemäss der Erfindung hat den Vorteil, dass die Funktionen zur Steuerung und Koordinierung der Anwender- und Ein-Ausgabeprozesse zentralisiert werden. Dadurch entstehen einheitliche Schnittstellen und Koordi nierungsregeln zwischen den Anwender- und Ein-Ausgabeprozessen. Die Anwender- und. die Ein-Ausgabeprozesse werden von Koordinierungsaufgaben befreit und können somit unabhängig voneinander konzipiert werden. Der Kern des Verfahrens wird durch die Ablaufsteuerung gebildet, die den Mikroprozessor im Mikrorechner Je nach Bedarf den einzelnen Anwender- und Ein-Ausgabeprozessen zuteilt oder entzieht. Die Ablauf steuerung arbeitet dabei entsprechend einer Kombination der beknnnten Sreignis- behandlungsmethoden, nämlich der Unterbrechungsmethode und der Abfragemethode. Das Verfahren kann daher als kombiniertes Unterbrechungs/Abfrageverfahren zur Koordinierung von parallelen Prozessen betrachtet werden. Zum Erreichen einer definierten Ausgangsstellung und einer definierten Endstellung ist es vorteilhaft, wenn die Ablaufsteuerung Teile enthält, die den Ablauf der Anwenderprozesse in der Textstation initialisieren und beenden; Um die Ausgangs stellungen auch in den Ein-Ausgabeeinhei ten einzustellen, ist es günstig, wenn in den Ein-Ausgabeprozessen Teile vorgesehen sind, die die Ein-Ausgabe- prozessoren initialisieren. Es ist möglich, die Ein-Ausgabebefehle und die Wartebefehle Jeweils getrennt vom Anwenderprogramm vorzusehen. Eine vorteilhafte Ausführung des Verfahrerswird jedoch erreicht, wenn im Anwenderprogramm Wartebefehle vorgesehen sind, die mit Ein-Ausgabebefehlen kombiniert sind. Um unerwünschte Verzögerungen im Nerfahrensablauf zu verhindern, ist es vorteilhaft, wenn der Unterbrechungsver teiler die Unterbrechungsanforderungen der Ein-Ausgabe- einheiten nach fest vorgesehenen Prioritäten verteilt. Die Ausführungen von Teiloperationen durch die Ein-Ausgabe einheiten werden der Ablaufsteuerung durch Unterbrechungsanforderungen mitgeteilt. Für die Durchführung des Verfahrens ist es Jedoch vorteilhaft, wenn eine Meldung, die den vollständigen Abschluss eines Ein-Ausgabeprozesses anzeigt, der Ablaufsteuerung mittels einer Datenschnittstelle mitgeteilt wird. Das Verfahren kann mit bekannten Mikrorechnern ohne weite- res durchgeführt werden, wenn die Ein-Ausgabebefehle und die Koordinierungsbefehle der Ablaufsteuerung in Form von besonderen ORG-Befehlen ausgebildet sind. Im folgenden wird eine Durchführung des Verfahrens gemäss der Erfindung anhand von Zeichnungen näher erläutert. Es zeigen: Figur 1 ein Blockschaltbild einer Textstation, Figyr-2reine schematische Darstellung der von der Text station auszuführenden Funktionen und der hierzu erforderlich Programme und Figur 3 ein Beispiel einer parallelen Bearbeitung von mehreren Prozessen. Die in Figur 1 dargestellte Textstation ist für den Telekommunikationsdienst ¯Teletex" vorgesehen. Mit Hilfe der Textstation können Texte eingegeben, be- und/oder verarbeitet werden und über eine Fernleitung FL zu einem fernen Teilnehmer übertragen werden. Die Texte können auch über die Fernleitung FL empfangen werden und an der Textstation ausgegeben werden. Der Kern der Steuerung der Textstation wird durch einen Mikrorechner MR gebildet. Die Funktionskomponenten des Mikrorechners MR sind eine Mikroprozessorsteuerung MS mit einem Mikroprozessor MP, ein-er Unterbrechungsschal- tung US zur Priorisierung der Anforderungen von Ein-Ausgabegeräten und mit einer Steuerung DM für den direkten Speicherzugriff der Ein-Ausgabegeräte. Weiterhin enthält der Mikrorechner MR einen Primärspeicher PSP, der in einen Programmspeicher PS und einen Arbeitsspeicher AS eingeteilt ist. Die Mikroprozessorsteuerung MS und der Primär speicher PSP sind über einen Systembus SB mit ein ander verbunden. An dem Systembus SB sind weiterhin Ein-Ausgabeeinheiten angeschlossen. Die Ein-Ausgabeein- heiten werden aus den Ein-Ausgabegeräten und entsprechenden Steuerungen gebildet, die die Verbindung zum Mikrorechner MR herstellen. Die Steuerungen sind zweckmässigerweise ebenfalls mit Hilfe von Mikrorechnern realisiert. Eine Tastatur TA ist über eine Tastatursteuerung TS am Systembus SB angeschlossen. Sie enthält die Tasten für die Eingabe von Texten, Bedienungstasten und Betriebsanzeigen. Ein Drucker DR, beispielsweise ein Typenscheibendrucker oder ein Matrixdrucker, ist über eine Druckersteuerung DS angeschlossen. Weiterhin enthält die Textstation eine Anzeigeeinheit AE, die mit einem Bildschirm versehen ist und eine zugehörige Bildschirmsteuerung BS. Zur lokalen Speicherung von Texten und zur Zwischenspeicherung von zu sendenden oder empfangenen Texten ist ein Sekundärspeicher SP vorgesehen, der über eine Speichersteuerung SS angeschlossen ist. Der Sekundärspeicher SS wird beispielsweise aus zwei Floppy-Disk-Laufwerken gebildet. Eine Ubertragungseinheit E, die über eine Kommunikationssteuerung ES am Systembus SB angeschlossen ist, stellt die Verbindung der Textstation zur Fernleitung FL her. Bei der Darstellung in Figur 2 sind die beiden Hauptfunktionen der Textstation, nämlich die Lokalarbeit LA und die Kommunikation KO ¯als getrennte Einheiten dargestellt. Die Lokalarbeit LA umfasst die Texterstellung, die Textspeicherung und die Textbearbeitung. Die Texterstellung erfolgt mit Hilfe der Tastatur TA und die eingegebenen Texte werden entweder am Drucker DR ausgedruckt oder am Bildschirm der Anzeigeeinheit AE angezeigt. Die Texte können gleichzeitig im Sekundärspeicher SP gespeichert werden. Die wesentlichen Funktionen der Textbearbeitung sind die sog. Sofortkorrektur und das Redigieren der Texte. Die Hauptfunktionen des Komplexes Kommunikation K0 sind das Empfangen, das Senden und das Zwischenspeichern von Texten. Das Zwischenspeichern erfolgt im Sekundärspeicher SP. Durch das Zwischenspeichern der empfangenen Texte wird die Forderung erfüllt, dass beim Empfang oder beim Senden eines Textes die Lokalarbeit LA nicht unterbrochen werden muss. Die Lokalarbeit LA und die Kommunikation K0 stellen, dynamisch betrachtet, Anwenderprozesse AP dar. Zur Ausführung der Anwenderprozesse AP sind Ein-Ausgabeprozesse EAP erforderlich. Diese Ein-Ausgabeprozesse EAP sind die Tastatur-Ein-Ausgabe TEA, die Drucker-Ein-Ausgabe DEA, die Bildschirm-Sin-Ausgabe BEA, die Speicher-Ein-Ausgabe SEA und die Kommunikations-Ein-Ausgabe KEA. Den Anwenderprozessen LA¯und E0 können nun verschiedene Ein Ausgabeprozesse EAP zugeordnet werden. Die Anwenderprozesse LA bzw. K0 können parallel (quasi-simultan) zu einem oder mehreren Ein-Ausgabeprozessen EAP ablaufen. Auch können die beiden Anwenderprozesse LA und K0 parallel zueinander ablaufen. Die Koordinierung der Prozesse und die Zuordnung des Mikrorechners MR zu den verschiedenen Prozessen erfolgt unter Verwendung einer Ablaufsteuerung ABS, die zusammen mit den Ein-Ausgabesteuerun- gen EAP das Betriebssystem des Mikrorechners MR darstellen. Die Programmkomponenten der Ablaufsteuerung ABS sind die Ablaufinitialisierung Al, die Auftragsabwicklung AA, die Unterbrechungsverteilung UV und die Ablaufbeendigung AB. Die Ablaufinitialisierung Al sorgt für den programmtechnischen Ablauf des zentralen Mikrorechners MR, wenn die Textstation aus dem Bereitzustand in den Arbeitszustand versetzt wird, was entweder durch das lokale Einschalten über die Tastatur TA oder durch einen#ommen- den Ruf über die Fernleitung FL durch die Ubertragungs- einheit UE ausgelöst werden kann. Die Auftragsabwicklung AA entschlüsselt die logischen Ein-Ausgabe- und die Koordinierungsbefehle der#Anwendungsprnzesse AP, veran lasst die physikalischen Sin-Ausgabeaktivitäten der Ein- Ausgabeprozesse und verständigt die Anwenderprozesse über deren Abschluss. Als Voraussetzung dafür realisiert sie auch die Funktionen zur 3Crozesskoordini erung und zur Betriebsmittelverwaltung, d.h. Zuteilung oder Entzug des Mikrorechners MR. Unter Prozesskoordinierung ist hier die Organisation des Zusammenwirkens der Anwenderprozesse AP mit den Ein-Ausgabeprozessen und der Anwenderprozesse LA bzw. K0 untereinander gemeint. Dabei kannsich ein An- wenderprozess LA oder KO quasi-gleichzeitig der Dienste mehrerer Ein-Ausgabeprozesse EAP bedienen sowie quasisimultan zum anderen Anwenderprozess ablaufen, was einer Parallelarbeit entspricht. Unter Betriebsmittelverwal- tung sind die Funktionen zur Verwaltung des Mikroprozessors MP im Mikrorechner MR und der Ein-Ausgabegeräte zu verstehen. Mit Hilfe der Buchführung über die Verfüg- barkeit werden die genannten Betriebsmittel den einzelnen Prozessen dynamisch zugeteilt bzw. entzogen. Die Unterbrechungsverteilung UV interpretiert die Unterbrechungsanforderungen der einzelnen Ein-Ausgabegeräte und verteilt sie auf die zuständigen Ein-Ausgabeprozesse. Die Aufgabe der Ablaufbeendigung AB ist die Uberführung der Textstation aus dem Arbeitszustand in den Bereitzustand. Das geschieht immer dann, wenn sich alle Prozesse während einer festgelegten Zeit im Ruhezustand befinden. Die Ablaufkomponenten der Ein-Ausgabeprozesse EAP sind die Ein-Ausgabeinitialisierung EI, die Ein-Ausgabeeinleitung EE und die Unterbrechungsbehandlung UB. Die Ein Ausgabeinitialisierung versorgt Jeweils die peripheren Gerätesteuerungen mit den Arbeitsparametern und versetzt sie in den Grundzustand. Die Ein-Ausgabeeinleitung EE startet die durch den Jeweiligen Ein-Ausgabeauftrag bestimmten Ein-Ausgabeoperationen. Dabei werden die logischen Ein-Ausgabeaufträge der Anwenderprozesse interpretiert und in die erforderlichen Schnittstellenbefehle für die Gerätesteuerungen umgesetzt. Die Unterbrechnngsbe- handlung UB bedient die gerätespezifischen Unterbrechungsanforderungen und schliesst die auftragsabhängigen Ein Ausgabeoperationen ab. Die Progrnmmkomponenten arbeiten bei dem Ablauf des Verfahrens folgendermassen zusammen: Nach dem Einschalten und Rücksetzen läuft das Programm des Mikrorechners MR mit der Ablaufinitialisierung Al an. Diese ruft die Prozeduren zur Ein-Ausgabeinitialisierung EI der einzelnen Gerätesteuerungen nacheinander auf. Anschliessend startet sie die Anwenderprozesse AP. Die Anwenderprozesse AP nehmen die Dienste des Betriebssystems mit Hilfe von logischen Ein-Ausgabe- und Koordinierungsaufträgen in Anspruch. Sämtliche Aufträge werden mittels eines standardisierten Betriebssystemaufrufs, des ORG-Befehls, an die Auftragsabwicklung AA gerichtet. Diese interpretiert Jeden Auftrag und im Falle eines Ein-Ausgabeauftrages ruft sie die zuständige Prozedur zur Ein-Ausgabeeinlei- tng EE auf. Nach der Einleitung der Ein-Ausgabeoperation arbeitet die angesprochene Gerätesteuerung zeitweise selbständig und meldet den Abschluss von Teiloperationen mit Hilfe son Unterbrechungsanforderungen. Diese werden mittels der Unterbrechungsverteilung W an die zuständige Ein-Ausgabe- tnterbrechungsbehandlung' UB weitergeleitet. Erst der Abschluss einer kompletten Sin-Ausgabeoperation wird der Auftragsabwicklung AA mit Hilfe einer Datenschnittstelle der Ablaufsteuerung ABS mitgeteilt. Daraufhin quittiert die Auftragsabwicklung AA den Auftrag dem entsprechenden Anwenderprozess AP. Befinden sich die beiden Anwenderprozesse LA bzw. KO für längere Zeit im Grundzustand, in dem sie keine Aufträge mehr absetzen, aktiviert die Auftragsabwicklung AA die Ablaufbeendigung AB, die den Mikrorechner MR ausschaltet und die Textstation in den Bereitschaftszustand versetzt. Das Anwenderprogramm ruft das Betriebssystem mit Hilfe des ORG-Befehls auf. Bei dem ORG-Befehl werden mehrere Parameter übergeben, insbesondere die Auftragskennung und der Wartemodus. Die Auftragskennung spezifiziert die Art des Auftrags. Es wird dabei zwischen Ein-Ausgabeaufträgen und Koordinierungsaufträgen unterschieden. Bei den Ein- Ausgabeaufträgen werden die entsprechenden Ein-Ausgabeein- heiten angesprochen. Die Koordinierungsaufträge ermöglichen die Bestimmung der Art des Zusammenwirkens der Anwenderprozesse AP mit den Ein-Ausgabeprozessen EAP und der Anwenderprozesse untereinander. Der wichtigste Koordinierungsauftrag ist der Warteauftrag. Mit Hilfe des Warteauftrags definiert der Anwenderprozess AP die Zustände, in denen er bereit ist, Fertigmeldungen von Ein-Ausgabeprozessen und/oder Verständigungsmeldungen vom anderen Anwenderprozess AP zu akzeptieren. Bei einem Ein-Ausgabeauftrag ist normalerweise der Modus "Rein Warten" vorgesehen, so dass der aufrufende Anwenderprozess AP simultan zur Ausführung der eingeleiteten Ein-Ausgabe- operation ablaufen soll. Eine Angabe "Warten implizit bei einem Ein-Ausgabeauftrag bedeutet, dass der Anwenderprozess AP sofort in den Wartezustand versetzt werden soll, indem er auf den Abschluss einer Ein-Ausgabeoperation war tet. Den Modus "Warten explizit" verwendet der Anwenderprozess AP dann, wenn er mit Hilfe des gesonderten Koordi nierungsaufrufes der Ablauf steuerung mitteilt, dass er auf den Abschluss einer oder mehrerer Ein-Ausgabeoperationen bzw. auf die Verständigung vom anderen Anwenderprozess AP warten muss. Weitere Einzelheiten des Verfahrens werden zusammen mit dem in Figur 3 dargestellten Ablaufdiagramm beschrieben, Bei dem in Figur 3 dargestellten Diagramm ist der quasisimultane Ablauf von zwei Anwenderprozessen API und AP2 und von zwei Ein-Ausgabeprozessen EAPI und EAP2 dargestellt. Die Zeitachse verläuft in vertikaler Richtung von oben nach unten und der Ablauf der Bearbeitung der Prozesse ist Jeweils durch Pfeile dargestellt. Die Prozesszustände sind kreisförmig eingezeichnet. Diese Zustände sind ¯ablaufend" A, ¯unterbrochen" U, ¯wartend" W und "inaktiv" 1. In der linken Spalte sind die Anwenderprozesse AP dargestellt, in der mittleren Spalte sind die Koordini erungsaktivität en für die Pro z e ssums chaltung durch die Ablaufsteuerung ABS dargestellt und die rechte Spalte zeigt die Ein-Ausgabeprozesse EAP. Der Anwenderprozess AP1 steuert beispielsweise einen Ausgabevorgang zum Drucken von Texten am Drucker DR. Der Anwenderprozess API enthält einen Ein-Ausgabebefehl EA, der den Ausgabeauftrag an die Auftragsabwicklung AA der Ablaufsteuerung ABS übergibt. Unter der Voraussetzung, dass der Ein-Ausgabebefehl EA den Wartemodus "kein Wartenn verwendet, wird von der Auf tragsabwicklung AA der logische Zustand des Anwenderprozesses API als ¯ablaufend" A notiert, damit er unmittelbar nach der Ein-Ausgabeeinleitung ES fortgesetzt wird. Zur Einleitung der Ausgabeoperation wird der zuständige Ein Ausgabeprozess EAP1, der bisher ¯inaktiv" I war, von der Auftragsabwicklung AA aktiviert. Er übergibt den ersten Befehl an die periphere Druckersteuerung DS und geht in den Zustand "wartenden W über, indem er die Steuerung an die Auftragsabwicklung AA zur#!ckgibt. Diese wiederum setzt den Anwenderprozess API fort. Der Anwenderprozess AP1 läuft somit parallel zur eingeleiteten Ein-Ausgabeoperation und zwar echt simultan in bezug auf den Steuerprozess im peripheren Mikrorechner der Drucker steuerung DS, Jedoch quasi-simultan in bezug auf den aktivierten internen Ein-Ausgabeprozess, da den Prozessen des zentralen Mikrorechners MR nur ein Mikroprozessor MP als Betriebsmittel zur Verfügung steht. Das wirkt sich so aus, dass der ablaufende Anwenderprozess API durch die Teilabläufe des parallelen Ein-Ausgabeprozesses EAPI bedarfsweise unterbrochen wird. Bei der Operation ¯Drucken Textzeile" geschieht das beispielsweise einmal pro Zeichen, wobei die periphere Druckersteuerung DS die einzelnen Zeichen mit#Hilfe von Unterbrechungsanforderun- gen IN anfordert. Der Unterbrechungsverteiler UV unter bricht den Anwenderprozess AP1 und ruft Jedesmal die zuständige Unterbrechungsbehandlung UB auf zum Zweck der geräte spezifischen Unterbrechungsbehandlung VB und setzt anschliessend den unterbrochenen Anwenderprozess API fort. Zu einem bestimmten Zeitpunkt muss der Anwenderprozess API den Abschluss des Druckvorgangs abfragen, da dies die Voraussetzung für seinen weiteren Ablauf ist. Diese Tatsache teilt er dem Betriebssystem mit Hilfe des Befehls zarten explizit" WA mit. Aufgrund der Prozesszustandsnotierung erkennt die Auftragsabwicklung AA, dass der Druckerausgabeprozess noch nicht abgeschlossen ist, also der- aufrufende Anwenderprozess AP1 in den Wartezustand W versezt werden muss. Nun kann ein anderer Anwenderprozess AP2, der sich im Wartezustand W befand, fortgesetzt werden und zwar vorausgesetzt, dass seine Fortsetzungsbedingung inzwischen erfüllt wurde. Jetzt läuft der Anwenderprozess AP2 parallel zum Ein-Ausgabeprozess EAP1 ab. Auch er wird durch die Unterbrechungsanforderungen IN der Druckersteuerung DB unterbrochen, Im Fall der letzten Unterbrechungsbehandlung UB eines Druckvorgangs hinterlegt der Ein-Aus- gabeprozess EAP1 eine Fertigmeldung in eine# Zustands- datenbereich der Auftragsabwicklung AA. Anschliessend geht er in den Zustand "inaktiv" I über, wodurch der unterbrochene Anwenderprozess AP2 fortgesetzt wird. Dieser wiederum tätigt einen anderen Ein-Ausgabebefehl EAW, der den Wartemodus nimplizites Warten" verwendet. Die ge wünschte Ein-Ausgabeoperation eines Ein-Ausgabeprozesses EAP2 wird zwar eingeleitet, der aufrufende Anwenderprozess AP2 wird Jedoch sofort in den Wartezustand W versetzt. Die Auftragsabwicklung AA prüft daraufhin, ob die Fortsetzungsbedingung für den Anwenderprozess API erfüllt ist. Sie findet. im Zustandsdatenbereich die Fertigmeldung des abgeschlossenen Ein-Ausgabeprozesses EAP1 vor und setzt daraufhin den wartenden SuwenderprozeX AP1 fort. An diesem Beispiel wurde dargestellt, wie die Komponenten der Ablaufsteuerung ABS das Zusammenwirken Jeweils eines Anwenderprozesses AP mit einem Ein-Ausgabeprozess EAP koordinieren. Im allgemeinen ist es jedoch möglich und notwendig, dass ein Anwenderprozess AP mit mehreren parallel ablaufenden Ein-Ausgabeprozessen EAP und zusätzlich bzw. alternativ mit einem anderen Anwenderprozess AP zu sammenarteitet. Das dargestellte Koordinierungsprinzip ist Jedoch qualitativ unabhängig von der Ancnhl der zu koordinierenden parallel ablaufenden Prozesse. Unter Verwendung der Auftragsabwicklung AA und der Unterbrechungsverteilung UV wird die verfügbare Verarbeitungs kapazität des Mikroprozessors MP zeitgerecht an die Ein Ausgabeprozesse EAP und an die Anwenderprozesse AP verteilt. Die Dringlichkeit der Aufgaben der unterschiedlichen Prozesse wird dabei dadurch berücksichtigt, dass der Mikroprozessor MP entsprechend fest vorgegebenen Prioritäten den verschiedenen Ein-Ausgabeprozessen EAP zugeteilt wird. Dies erfolgt unter Verwendung des Unter brechungsverteilers UV. Die Zuteilung des Mikrorpozessors MP erfolgt bei dem'Verfahren ereignisbezogen und nicht zyklisch zeitbezogen. Das heisst, dass nur beim Auftreten von bedeutenden externen oder internen Ereignissen Zuteilungsentscheidungen getroffen werden. Die externen Ereignisse sind die Unterbrechungsanforderungen IN der Ein-Ausgabesteuerungen und die internen Ereignisse sind die Betriebssystemaufrufe der Anwenderprozesse AP und die Fertigmeldungen der Ein-Ausgabeprozesse waP. Den Anwenderprozessen AP wird der Mikroprozessor MP abhängig von ihren. Zuständen und den programmtechnisch erstellten Ablaufpositionen zugeteilt. Die zuständige Verwaltungskomponente ist die Auftragsabwicklung AA, die nach Jedem Systemaufruf entscheidet, ob eine Fortsetzung des Anwenderprozesses AP möglich ist und eine Prozessumschaltung notwendig ist. Darüber hinaus kann der Mikroprozessor MP einem Anwenderprozessor AP Jederzeit entzogen werden. Ein Ein-Ausgabeprozess EAP belegt den Mikroprozessor MP so lange, bis er entweder durch ein Ereignis mit höherer Priorität unterbrochen wird oder von sich aus den Mikroprozessor MP freigibt. 7 Patentansprüche 3 Figuren

Claims: PatentanswrEche 1. Verfahren zum Koordinieren einer Mehrzahl von Prozessen unter Verwendung eines Mikrorechners, insbesondere in einer Textstation, bei der die Prozesse durch Anwenderprogramme realisierte Anwenderprozesse und durch Ein Ausgabeprogramme realisierte Ein-Ausgabeprozesse umfassen, gekennzeichnet durch folgende Verfahrens schritte: a) der Mikrorechner (MR) richtet einen Befehl, der Teil des Anwenderprogramms ist, an eine Auftragsabwicklung (AA), die Teil einer Ablaufsteuerung (ABS) ist, b) die Auftragsabwicklung (AA) interpretiert den Befehl, c) im Fall eines Ein-Ausgabebefehls (EA,EAW) ruft die Auftragsabwicklung (AA) eine zuständige Ein-Ausgabeleitung (EE) auf, die Teil des Ein-Ausgabeprogramms ist, d) die entsprechende Ein-Ausgabeeinheit führt den Ein Ausgabebefehl aus, e) nach dem Abschluss von Teiloperationen richtet die Ein# Ausgabeeinheit Unterbrechungsanforderungen (IN) an eine Unterbrechungsverteilung (UV), die Teil der Ablaufsteuerung (ABS) ist, f) die Unterbrechungsverteilung (UV) leitet die Unter brechungsanforderung (IN) an die entsprechende Ein-Ausgabeunterbrechungsbehandlung (UB) weiter, die Teil des Bin-Ausa beprogramms ist, g) die vollständige ffusführung des Ein-Ausgabebefehls wird der Auftragsabwicklung (AA) mitgeteilt, h) im Falle eines Wartebefehls (WA, RAD), der Teil des Anwenderprogramms ist, setzt die Auftrags abwicklung (AA) das Anwenderprogramm erst dann fort, wenn erwartete Meldungen vorliegen, i) falls ein weiterer Anwenderprozess (AP) sich im Wartezustand befindet und dort die erwarteten Meldungen vorliegen, wird dieser fortgesetzt, k) die Unterbrechungsanforderungen (IN), die dem Ei - Ausgabeprogramm des ersten Anwenderprozesses zugeordnet sind, werden auch während der Bearbeitung des weiteren Anwenderprozesses (AP) durch die Auftragsabwicklung (AA) bearbeitet. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Ablaufsteuerung (ABS) Teile (AI, AB) enthält, die den Ablauf der Anwenderprozesse CAP) in der Textstation initialisieren und beenden. 3. Verfahren nach Anspruch 1 oder Anspruch 2, dadurch gekennzeichnet, dass in den Ein-Ausgabeprozessen (EAP) Teile (EI) vorgesehen sind, die die Ein-Ausgabeprozessoren initiali- sieren. 4. Verfahren: nach einem der Ansprüche 1 bis 3, d a d u r ch g e k e n n z e iXc h n e t dass im Anwenderprogramm Wartebefehle vorgesehen sind, die mit einem Ein-Ausgabebefehl (RAW) kombiniert sind. 5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Unterbrechungsverteilung (UV) die Unter brechungsanforderungen (IN) der Ein-Ausgabeeinheiten nach fest vorgegebenen Prioritäten verteilt. 6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass eine Meldung, die den vollständigen Abschluss eines Ein-Ausgabeprozesses (EAP) anzeigt, der Ablaufsteuerung (ABS) mittels einer Datenschnittstelle mitgeteilt wird. 7. Verfahren nach einem der Ansprüche 1 bis 6, d a d u r c h g e k e n n z e i c h n e t , dass die Ein-Ausgabebefehle (RA, EAW) und die Koordinierungsbefehle (WA, EAW) der Ablaufsteuerung (ABS) in Form von besonderen ORG-Befehlen mitgeteilt werden.

Inventors: NEUREITER, NORBERT, ING.GRAD., STOJADINOVIC, ZELJKO, DIPL.-ING.
Applicants: SIEMENS AKTIENGESELLSCHAFT
Application year: 1981
Main classification: G06F9
IPC codes: G06F9