•  Back 
  •  Programmierrichtlinen 
  •  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-File10.1  Drei wichtige Programmierregeln                              TOS

Da das Betriebssystem TOS relativ sauber in mehrere Schichten 
gegliedert ist, sollten alle Programmierer bei der Erstellung einer 
Applikation die folgenden drei Regeln im Hinterkopf behalten:

Niemals für eine Aufgabe Aufrufe verschiedener 
     Betriebssystemschichten vermischen. Beispiel: In GEM-Programmen 
     werden Maus und Tastatur per AES abgefragt, und nicht etwa über 
     das BIOS. Die Mißachtung dieser Regel kann zu Konflikten zwischen 
     den verschiedenen Schichten führen.

Niemals von irgendwelchen unsicheren Annahmen über interne 
     Zusammenhänge zwischen den einzelnen Schichten ausgehen. 
     Beispiel: Ein GEMDOS Laufwerk kann sowohl auf einem BIOS- als 
     auch auf einem MetaDOS Gerät liegen. Die Maus hängt normalerweise 
     am Tastaturchip, sie muss es aber nicht (neue Hardware, 
     Tastaturinterfaces etc.)

Immer nach Möglichkeit die höchste Betriebssystemschicht für eine 
     Aufgabe benutzen. Beispiel: Die zu benutzende Sprache könnte zwar 
     aus dem Betriebssystemheader ermittelt werden, besser ist es 
     jedoch, hierfür den _AKP-Cookie bzw. die Funktion appl_getinfo zu 
     benutzen.

Darüber hinaus existieren viele weitere Programmierregeln, die 
eigentlich bekannt sein sollten, aber leider immer noch nicht von 
allen Applikationen beachtet werden. Einige Beispiele:

   ∙ Nur soviel Speicherplatz belegen wie unbedingt nötig ist, damit 
     in einer Multitasking-Umgebung auch noch andere Prozesse 
     gestartet werden bzw. sinnvoll arbeiten können.

   ∙ Den Eintritt in den Supervisor-Modus so oft wie nur möglich 
     vermeiden, da er eigentlich nur für das Betriebssystem gedacht 
     ist, und in vielen Umgebungen kein Task-Switching stattfindet, 
     wenn sich ein Prozess in diesem Modus befindet.

   ∙ Niemals direkt in den Bildschirmspeicher schreiben, sondern 
     stattdessen auf die jeweiligen GEM-Funktionen (AES, VDI) 
     zurückgreifen.

   ∙ Niemals auf Speicher zugreifen der nicht dem eigenen Programm 
     gehört, oder für dieses zugänglich gemacht worden ist, da es in 
     Systemen mit Speicherschutz sonst zu einer Exception kommt. 
     Ferner sollte Speicher immer so alloziert werden, daß andere 
     Prozesse möglichst nicht auf diesen zugreifen können.