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-File11.14.2 Shutdown in MagiC TOS Unter MagiC funktioniert der Shutdown wie folgt: alle laufenden Programme erhalten eine AP_TERM-Nachricht die signalisiert, daß sie sich beenden sollen. Sind nach einer gewissen Zeit immer noch Programme im Speicher, so gibt SHUTDOWN eine Fehlermeldung aus. In der Datei SHUTDOWN.INF können Programmnamen (ohne Suffix wie ".prg" oder ".app") angegeben werden, die unkritisch sind und nicht zu einer Fehlermeldung durch SHUTDOWN führen sollen. Darüber hinaus sollten die folgenden Punkte beachtet werden: ∙ Wenn das System über Ctrl-Alt-Del beenden werden soll muss darauf geachtet werden daß der Bildschirm nicht gesperrt ist, d.h. daß z.B. nicht gerade ein Programm eine Dialogbox oder Alertbox auf dem Bildschirm bearbeitet. Weiterhin muß eine geeignete Shell (MAGXDESK, Thing) geladen sein, d.h. es darf kein Programm im "single mode" oder im Modus "Shell nicht resident" (z.B. per Alt-Doppelklick) geladen sein. ∙ Ist der Bildschirm gesperrt, wird nur der Writeback-Daemon beendet, d.h. der Cache zurückgeschrieben. Erst nach Freigeben des Bildschirms (d.h. nach Schließen der Dialogbox oder Alertbox) kann der Shutdown durchgeführt werden. ∙ Sollte das System derart abgestürzt sein, daß kein Shutdown mehr möglich ist, sollte Ctrl-Alt-Del ein zweites Mal betätigt werden. Dann wird ein Warmstart durchgeführt, ohne daß Programme beendet werden. ∙ Ist der "single mode" aktiv oder die Shell nicht geladen, wird ebenfalls nur der Writeback-Daemon beendet und der Cache zurückgeschrieben. Für den vollständigen Shutdown muß erst das laufende Programm beendet werden so daß die Shell wieder aktiv ist. Der Shutdown muss dann über den Menüpunkt Datei/Ausschalten durchgeführt werden. In MagiC 4 wurde der Shutdown Mechanismus wie folgt überarbeitet: Das AES schickt jetzt eine SHUT_COMPLETED-Nachricht mit msg[3] = 0 (d.h. 'Shutdown erfolglos beendet') und msg[4] = -1 (ungültige ap_id), wenn nur noch Programme im System sind, die nicht exlizit AP_TERM verstehen. Damit bricht ein Programm, das nur die MultiTOS- Spezifikation beherrscht, den Shutdown ab. SHUTDOWN.PRG dagegen wurde an die neue Spezifikation angepaßt, und funktioniert wie bisher, d.h. gibt den noch laufenden Programmen einen Timeout und gibt dann die Namen aller unwilligen Applikationen aus. Darüber hinaus bekommt die Applikation #0 bei Ctrl-Alt-Del keine zufälligen Daten mehr in msg[4,5,6,7] übergeben, sondern die folgende Nachricht: msg[3] = -1 msg[4,6,7] = 0 msg[5] = AP_TERM Querverweis: Shutdown in MultiTOS shel_write Shutdown beim Empfänger Shutdown beim Initiator