•  Back 
  •  MagiC 
  •  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-File11.11  Das Laufwerk U: in MagiC                                    TOS

Unter MagiC wird Laufwerk U: bei der Initialisierung des DOS angelegt. 
Damit es von gängigen Programmen als existent erkannt wird, wird das 
entsprechende Bit in _drvbits gesetzt; es existiert jedoch kein 
entsprechendes BIOS-Laufwerk.

index=2964
Innerhalb des Laufwerks gibt es einige Spezialverzeichnisse, und zwar: U:DEV (Devices) U:PIPE (Pipes) U:PROC (Prozesse) U:SHM (Shared Memory) Im Gegensatz zu MiNT sind dies jedoch keine eigenen Dateisysteme, sondern einfach nur Unterverzeichnisse des DFS für Laufwerk U:. Je nach Unterverzeichnis legt das U-DFS verschiedene Dateitypen und -treiber an. Da die Verzeichniskontrolle dem DOS_XFS obliegt, werden z.B. Schreibzugriffe auf ein Device im Verzeichnis per Dateidatum protokolliert. Das geht sogar soweit, daß ein Schreibzugriff auf das Wurzelverzeichnis von Laufwerk A: automatisch das Dateidatum von U:\A verändert. Alle Verzeichnisse sind z.Zt. auf maximal 32 Einträge beschränkt, und Aufrufe von Dfree liefern nur den Wert Null zurück. Auf dem Wurzelverzeichnis können außer den bestehenden Dateien nur symbolische Links (per Fsymlink) erstellt werden. Vor jedem Zugriff auf Laufwerk U: werden neu hinzugekommene Laufwerke per symbolischem Link hinzugefügt bzw. nicht mehr existierende entfernt; dies wird über _drvbits erkannt. Ein symbolischer Link für Laufwerk X: wird standardmäßig unter dem Namen U:\X angemeldet, und zeigt auf das Verzeichnis X:\. Symbolische Links können umbenannt oder gelöscht werden (auch ein umbenannter Link wird automatisch gelöscht, wenn das entsprechende Bit in der Systemvariablen _drvbits gelöscht wird). Achtung: MiNT bindet die Laufwerke nicht als symbolische Links ein, daher kann man folgende Befehlsfolge absetzen: Dsetdrv U: Dsetpath U:\A Dgetpath ==> U:\A Dsetpath .. Dgetpath ==> U:\ Bei einem symbolischen Link wechselt man hingegen tatsächlich den Pfad, d.h. in der dritten Zeile erscheint A:\ als aktueller Pfad. Um dieses Problem zu umgehen, gibt es eine Sonderbehandlung im Kernel, der die obige Befehlsfolge auch in MagiC ermöglicht. Dabei gibt es allerdings ein Problem: Der symbolische Link darf nicht umbenannt werden, da sonst folgendes passiert: Frename U:\A U:\FLOPPY Dsetdrv U: Dsetpath U:\FLOPPY Dgetpath ==> U:\A Dsetpath .. Dgetpath ==> U:\ Weil alle Dateifunktionen auf U: genauso funktionieren wie auf einer Diskette ist es auch möglich, Verzeichnisse wie U:\DEV umzubenennen. Achtung: Dies sollte tunlichst vermieden werden, da sonst Anwenderprogramme ihre Gerätetreiber nicht mehr finden können. Querverweis: BIOS GEMDOS XFS-Konzept in MagiC Test auf Pipes