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