AmigaDOSAmigaDOS ist das Festplatten-Betriebssystem des AmigaOS, welches die Dateisysteme, Datei- und Verzeichnismanipulation, die Kommandozeilenschnittstelle (CLI) (später in Shell umbenannt) und Dateiumleitung beinhaltet. In AmigaOS 1.x basiert AmigaDOS auf einer TRIPOS-Portierung von MetaComCo, geschrieben in BCPL. BCPL verwendet keine nativen Zeiger, sodass die fortgeschrittenen Funktionen des Betriebssystems schwierig zu benutzen und fehleranfällig waren. Das AmigaDOS Resource Project[1] (ARP, früher AmigaDOS Replacement Project),[2] ein Projekt, das vom Amiga-Entwickler Charlie Heath begonnen wurde, ersetzte viele der BCPL-Dienstprogramme durch kleinere, ausgefeiltere Äquivalente, die in C und Assembler geschrieben wurden, und stellte eine Wrapper-Bibliothek, die arp.library, zur Verfügung. Diese beseitigte die Schnittstellenprobleme in Anwendungen, indem sie automatisch Konvertierungen von nativen Zeigern (wie sie von C oder Assembler verwendet werden) in BCPL-Äquivalente und umgekehrt für alle AmigaDOS-Funktionen durchführte. Ab AmigaOS 2.x wurde AmigaDOS in C umgeschrieben, wobei die 1.x-Kompatibilität so weit als möglich beibehalten wurde. Beginnend mit AmigaOS 4.0 gab AmigaDOS sein BCPL Erbe auf. Ab AmigaOS 4.1 wurde AmigaDOS um die Unterstützung von 64-Bit-Dateizugriff erweitert. DateisystemeAmigaDOS unterstützt verschiedene Dateisysteme und Varianten. Das erste Dateisystem wurde einfach Amiga Dateisystem genannt und war hauptsächlich für Disketten geeignet, da es kein automatisches Booten von Festplatten unterstützte. Auf Disketten wurde das Booten mit Code aus dem Bootblock durchgeführt. Es wurde bald durch das FastFileSystem (FFS) ersetzt, weshalb das ursprüngliche Dateisystem nachträglich den Namen Old FileSystem (OFS) erhielt. FFS war platzsparender und messbar schneller als OFS. Mit AmigaOS 2.x wurde FFS ein offizieller Teil des Betriebssystems und wurde bald erweitert, um zwischenspeichernde Partitionen zu erkennen, später dann internationale Partitionen mit akzentuierten Zeichen in Datei- und Partitionsnamen, und schließlich mit MorphOS und AmigaOS 4 lange Dateinamen mit bis zu 108 Zeichen (ursprünglich 31). Sowohl AmigaOS 4.x als auch MorphOS enthielten eine weiterentwickelte Version von FFS namens FastFileSystem 2. FFS2 enthielt alle Funktionen des ursprünglichen FFS. Um die Rückwärtskompatibilität zu wahren, gab es keine größeren strukturellen Änderungen. Allerdings unterscheidet sich FFS2 auf AmigaOS 4.1 dadurch, dass seine Funktionen durch Plug-ins erweitert werden können. Wie bei FFS2 ist die AmigaOS 4 und MorphOS Version von Smart FileSystem ein Fork des originalen SFS und nicht 100 % kompatibel mit diesem. Andere Dateisysteme wie FAT12, FAT16, FAT32 von Windows oder ext2 von Linux sind über einfach zu installierende Systembibliotheken (Drag & Drop) oder Module von Drittanbietern wie FAT95[3] (mit Lese-/Schreibunterstützung) verfügbar (zu finden im Aminet-Software-Repository). MorphOS 2 hat die Unterstützung für FAT-Dateisysteme bereits inkludiert. AmigaOS 4.1 hat ein neues Dateisystem namens JXFS eingeführt, das Partitionen > 1 Terabyte adressieren kann. Zu den alternativen Dateisystemen für AmigaOS von Drittherstellern gehören das Professional File System, ein Dateisystem mit einer einfachen, auf Metadaten basierenden Struktur, das eine hohe interne Kohärenz ermöglicht, in der Lage ist, sich selbst zu defragmentieren und nicht ausgehängt werden muss, bevor es wieder eingehängt wird, und das Smart File System, ein Journaling-Dateisystem, das während der Inaktivität des Systems Journaling-Aktivitäten ausführt und von MorphOS als Standard-Dateisystem genutzt wird. Offizielle Varianten der Amiga Dateisysteme
Sowohl DOS6 als auch DOS7 bieten internationale Dateinamen wie in DOS2 und DOS3, nicht aber Verzeichnis Caching, das aufgrund von Fehlern in der ursprünglichen Implementierung aufgegeben wurde. Die Verwendung von DOS4 und DOS5 wird aus diesem Grund nicht empfohlen. Die DOStypen sind untereinander abwärtskompatibel, aber nicht aufwärtskompatibel. Eine DOS7-formatierte Diskette kann nicht auf einem originalen Amiga FFS gelesen werden, und eine DOS3-Diskette kann nicht auf einem Kickstart 1.3-Amiga gelesen werden. Jedoch kann jede mit DOS0 formatierte Diskette mit FFS oder FFS2 von jeder Version des Amiga-Betriebssystems gelesen werden. Aus diesem Grund war DOS0 tendenziell das bevorzugte Format von Softwareentwicklern, die ihre Software auf Diskette vertrieben. Nur bei Amiga-Spielen war es eine gängige Praxis, aus Kopierschutzgründen ein eigenes Dateisystem und einen eigenen Bootblock zu verwenden. Und wenn die Software ohnehin AmigaOS 2.x benötigte, wurde im Allgemeinen DOS3 verwendet. FastFileSystem2-Plug-insMit dem Update von AmigaOS 4.0 im Juli 2007 wurden auch zwei Plug-ins für FFS2 veröffentlicht:
KonsoleDie Amiga-Konsole ist ein virtuelles Standard-Amiga-Gerät, das normalerweise Die Konsole hat verschiedene Funktionen, die 1985 als aktuell angesehen wurden, wie Befehlsvorlagenhilfe, Umleitung auf Null ( Im Gegensatz zu anderen Systemen, die Mitte der 1980er Jahre auf den Markt kamen, implementiert AmigaDOS keinen proprietären Zeichensatz. Die Entwickler entschieden sich vielmehr für den ANSI-ISO-Standard ISO-8859-1 (Latin 1), der den ASCII-Zeichensatz enthält. Wie in Unix-Systemen akzeptiert die Amiga-Konsole nur den Zeilenvorschub ( NamenskonventionenGroß- und KleinschreibungAmigaDOS unterscheidet im Allgemeinen nicht zwischen Groß- und Kleinschreibung.[4] Die Angabe eines Geräts als Bei Datei- und Verzeichnisnamen ist dies jedoch vom Dateisystem abhängig, da einige Dateisysteme Groß- und Kleinschreibung als Flag bei der Formatierung erlauben. Ein Beispiel für ein solches Dateisystem ist das Smart File System. Dies ist praktisch, wenn es um Software geht, die aus der Unix-Welt mit Groß- und Kleinschreibung portiert wurde, verursacht aber bei nativen Amiga-Anwendungen, die die Groß- und Kleinschreibung nicht beachten, viel Verwirrung. Fortgeschrittene Benutzer werden daher typischerweise das Groß-/Kleinschreibungs-Flag nur für Dateisysteme verwenden, die für Software verwendet werden, die aus Unix stammt. Das Umbenennen von Datei-, Verzeichnis- und Datenträgernamen ist mit gewöhnlichen Methoden erlaubt. Die Befehle Namenskonventionen für DatenträgerPartitionen und physische Laufwerke werden üblicherweise als So könnte eine Festplattenpartition zum Beispiel „Workbench“ oder „System“ heißen. Die Nutzer können dann anstelle des Gerätenamens auch den Namen des Datenträgers verwenden, so dass auf eine Festplattenpartition auf dem Gerät Kann ein Datenträger mit dem angegebenen Namen nicht gefunden werden, fordert das Betriebssystem den Nutzer auf, das Medium mit dem angegebenen Datenträgernamen einzulegen bzw. anzuschließen oder erlaubt dem Nutzer, den Vorgang abzubrechen. Darüber hinaus können mit dem Befehl 1> Assign Textor: DH0:Arbeit/Textor
In AmigaDOS sind verschiedene Standardnamen für Verweise auf wichtige Systemorte vorgesehen, wie zum Beispiel Die Zuordnung von Datenträgerbezeichnungen kann auch für mehrere Verzeichnisse festgelegt werden, die dann als eine Vereinigung ihrer Inhalte behandelt werden. Zum Beispiel könnte 1> Assign FONTS: SYS:Fonts
1> Assign FONTS: SYS:Fonts ADD Arbeit:MeineFonts
Damit können alle Schriftarten verwendet werden, die in einem der beiden Verzeichnisse installiert sind. Die Auflistung von DateinamenserweiterungenAmigaDOS hat nur eine einzige vorgeschriebene Dateinamenserweiterung: Wenn eine Datei namens meinprogramm existiert, dann muss ihre Icon-Datei Mit Ausnahme von Icons identifiziert das Amiga-System Dateitypen nicht anhand von Namenserweiterungen, sondern untersucht entweder das einer Datei zugeordnete Icon oder den binären Header der Datei selbst, um den Dateityp zu bestimmen. Typisches Verhalten von virtuellen GerätenDas physische Gerät Wenn eine PC-formatierte Diskette in das Diskettenlaufwerk eingelegt wird, ändert sich das Jeder Diskettenwechsel mit Amiga-formatierten Disketten wird dieses Verhalten umkehren. Syntax der AmigaDOS-BefehleDies ist ein Syntax-Beispiel für einen typischen AmigaDOS-Befehl: 1> Dir DF0:
1> Dir SYS: ALL
Weiterleitung von BefehlenAmigaDOS kann die Ausgabe eines Befehls auf Dateien, Pipes, einen Drucker, das Nullgerät und andere Amiga-Geräte umleiten. 1> Dir > SPEAK: ALL
BefehlsschemaVon AmigaDOS-Befehlen wird erwartet, dass sie einem bestimmten Schema folgen, welches von den akzeptierten Argumenten beschrieben wird. Dieses Schema kann über eine Hilfefunktion (Parameter 1> Copy ?
FROM, TO/A, ALL/S, QUIET/S
Nachfolgend ein Beispiel für den praktischen Einsatz: 1> Copy DF0:Dateiname TO DH0:Verzeichnis/Dateiname
Unterbrechen von Befehlen und Pausieren der KonsolenausgabeDie Ausführung eines Befehls kann mit den Tastenkombinationen Strg+C oder Strg+D abgebrochen werden. Durch Drücken der Leertaste oder eines beliebigen anderen Zeichens auf der Tastatur wird die Ausgabe in der Konsole angehalten. Die Ausgabe kann fortgesetzt werden, indem man die Rücktaste (← Backspace) drückt, wobei die gesamte bisherige Ausgabe gelöscht wird, oder indem man die Eingabetaste (↵ Enter) drückt, um die Eingabe als Befehl zu bestätigen, sobald der aktuelle Befehl abgeschlossen ist. Wildcard-ZeichenWie andere Betriebssysteme bietet auch AmigaDOS Wildcard-Zeichen, die ein beliebiges Zeichen oder eine beliebige Folge von Zeichen in einer Zeichenkette ersetzen. Hier ist ein Beispiel für die Nutzung solcher Platzhalterzeichen in AmigaDOS-Befehlen: 1> Dir #?.info
Dies wird wie folgt geparst: Der Platzhalter Skript-ProgrammierungAuch in AmigaDOS besteht die Möglichkeit der Batch-Programmierung. So gibt es eine Reihe von Befehlen wie Skripte sind textbasierte Dateien und können mit dem AmigaDOS-internen Texteditor Ed (nicht verwandt mit dem Unix-Ed) oder mit jedem anderen Texteditor eines Drittanbieters erstellt werden. Um ein Skriptprogramm zu starten, verwendet AmigaDOS den Befehl 1> Execute meinskript
1> Run Execute meinskript
SchutzbitsÜber Schutzbits können verschiedene Berechtigungen für Dateien, Links und Verzeichnisse im Dateisystem gesetzt werden. Um sie zu ändern, kann man entweder den Befehl
Das Demonstration des AmigaPrompt> which list
Workbench:C/List
AmigaPrompt> list workbench:c/list
Directory "workbench:c" on Thursday 30-Oct-08
list 6464 --p-rwed 25-Feb-02 22:30:00
1 file - 14 blocks used
AmigaPrompt> which list
Workbench:C/List
AmigaPrompt> protect workbench:c/list +h
AmigaPrompt> which list
Workbench:C/List
AmigaPrompt> list workbench:c/list
Directory "workbench:c" on Thursday 30-Oct-08
list 6464 h-p-rwed 25-Feb-02 22:30:00
1 file - 14 blocks used
AmigaPrompt> which list
RES list
Globale und lokale VariablenWie jedes andere DOS arbeitet auch der Amiga in der Batch-Programmierung mit Umgebungsvariablen. Es gibt sowohl globale als auch lokale Variablen, die mit einem Dollarzeichen vor dem Variablennamen bezeichnet werden, zum Beispiel $myvar. Globale Variablen sind systemweit verfügbar; lokale Variablen sind nur in der aktuellen Shell gültig. Im Falle einer Namenskollision haben lokale Variablen Vorrang vor globalen Variablen. Globale Variablen können mit dem Befehl Die folgenden Beispiele zeigen die einfache Verwendung: 1> setenv foo blapp
1> echo $foo
blapp
1> set foo bar
1> echo $foo
bar
1> getenv foo
blapp
1> get foo
bar
1> type ENV:foo
blapp
1> setenv save foo $foo
1> type ENV:foo
bar
1> type ENVARC:foo
bar
Globale Variablen werden als Dateien virtuell in Bei der Programmierung von AmigaDOS-Skripten ist zu beachten, dass globale Variablen systemweit sind. Alle skriptinternen Variablen müssen als lokalen Variablen gesetzt werden, da es sonst zu Konflikten mit globalen Variablen kommen kann. Außerdem erfordern globale Variablen einen Zugriff auf das Dateisystem, was sie in der Regel langsamer macht als lokale Variablen. Da Die AmigaDOS-Befehle Siehe auch
Weblinks
Einzelnachweise
|
Portal di Ensiklopedia Dunia