•  Back 
  •  SE-Protokoll 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - das Betriebssystem
Author      : 
Version     : tos.hyp (5. März 2013)
Subject     : Programmieren/Atari
Nodes       : 3001
Index Size  : 93602
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Titel
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File15.9.1  Kontaktaufnahme                                            TOS

Die Kontaktaufnahme läuft wie folgt ab:

Die Shell verschickt nach dem Start die Nachricht SE_INIT. Als Antwort 
erhält sie darauf die Nachricht ES_OK. Aus den Bitfeldern in den bei- 
den Nachrichten kann die Shell nun ableiten, welche Kommandos sie an 
den Editor schicken kann und welche Kommandos vom Editor zu erwarten 
sind. Wenn die Shell nicht mehr am SE-Protokoll teilnehmen will (z.B. 
weil sie beendet wird), dann schickt sie die Nachricht SE_QUIT an den 
Editor.

Der Editor verschickt nach dem Start die Nachricht ES_INIT. Als Ant- 
wort erhält sie darauf die Nachricht SE_OK. Aus den Bitfeldern in den 
beiden Nachrichten kann der Editor nun ableiten, welche Kommandos er 
an die Shell schicken kann und welche Kommandos von der Shell zu er- 
warten sind. Wenn der Editor nicht mehr am SE-Protokoll teilnehmen 
will (z.B. weil er beendet wird), dann schickt er die Nachricht 
ES_QUIT an die Shell.

Bleibt die Frage, an wen Shell und Editor diese Nachrichten schicken 
sollen. Das SE-Protokoll ist sinnvoll am ehesten unter einem 
Multitasking-System einsetzbar, dort wird normalerweise die AES- 
Funktion appl_search() zur Verfügung stehen. Shell und Editor sollten 
also einfach ihre jeweilige Init-Nachricht an alle Prozesse (außer an 
Systemprozesse) schicken.

Andere Möglichkeiten:

   ∙ Wenn die Shell den Namen ihres Editors kennt, kann sie sich na- 
     türlich auch darauf beschränken, SE_INIT nur an diesen zu 
     schicken.

   ∙ Wenn die Funktion appl_search() nicht zur Verfügung steht, bietet 
     sich das XAcc-Protokoll zur Kontaktaufnahme an: Shell und Editor 
     sollten ihre Init-Nachrichten dann einfach an jeden Prozeß 
     schicken, der sich per XAcc anmeldet. Das XAcc-Protokoll sieht 
     außerdem noch eine maschinenlesbare Kennung des Programmtyps 
     (XDSC) vor, so daß man u.U. sogar erkennen kann, ob es sich bei 
     dem Kommunikationspartner um eine Shell (Kennung `PE' für "Pro- 
     gramming Environment") oder um einen Editor (Kennung `ED' für 
     "Text Editor") handelt.