•  Back 
  •  Das Programmformat 
  •  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-File5.5.1  Die Programmflags                                           TOS

Bei den Programmflags handelt es sich um einen Bitvektor innerhalb des 
Programmheaders, der wie folgt aufgebaut ist:

 Bits   Bedeutung

    0   Fastload-Flag. Wenn dieses Bit gesetzt ist, wird der Heap 
        nicht gelöscht, sondern lediglich das BSS-Segment 
        vorinitialisiert.
    1   Wenn dieses Bit gesetzt ist, darf das Programm in das schnelle 
        Alternate-RAM geladen werden.
    2   Wenn dieses Bit gesetzt ist, dürfen Speicheranforderungen per 
        Malloc aus dem Alternate-RAM bedient werden.
    3   reserviert, sollte Null sein.
        Wird für die Shared Library benutzt.
  4-7   Speicherschutz-Modus
         0 = Privat:
                         Nur der Prozess selbst, und das 
                         Betriebssystem kann auf den Speicher 
                         zugreifen.
         1 = Global:
                         Der Speicher ist völlig ungeschützt, und 
                         daher kann von allen Programmen auf diesen 
                         zugegriffen werden.
         2 = Super;
                         Auf den Speicher kann von allen Prozessen 
                         zugegriffen werden, die im Supervisor-Modus 
                         arbeiten.
         3 = Nur lesbar;
                         Jeder Prozess kann aus dem Speicher lesen; 
                         das Schreiben ist jedoch nur dem Prozess 
                         selbst, sowie dem Betriebssystem erlaubt.
 8-11   reserviert, sollte Null sein.
   12   Shared-Text. Wenn dieses Bit gesetzt ist, darf das Text- 
        Segment des Programms geshared werden. Wenn ein derartiges 
        Programm beispielsweise 3-mal gestartet wird, dann existieren 
        3 verschiedene DATA- und BSS-Segmente, aber nur ein 
        gemeinsames Text-Segment. Achtung: Das Bit sollte nur gesetzt 
        werden, wenn das Programm keine absoluten Zugriffe auf das 
        DATA- oder BSS-Segment durchführt.
 13-27  reserviert, sollte Null sein.
 28-31  TPA-Größenfeld. Hier kann in Schritten zu 128 Kbyte festgelegt 
        werden, wieviel Speicher aus dem Alternate-RAM dem Programm 
        maximal zugeteilt werden soll, wenn der Rechner über mehr ST- 
        RAM als Alternate-RAM verfügt. Die 16 möglichen Werte stehen 
        für Angaben zwischen 128 Kbyte und 2MByte.

Querverweis: Programmheader   Programmstart und TPA