AmigaDOS

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento da Amiga FileSystem)

AmigaDOS è uno dei moduli principali di AmigaOS e si occupa della memorizzazione dei dati su dispositivi come hard disk e floppy disk. Commissionato a MetaComCo da Commodore, AmigaDOS deriva principalmente dal Sistema Operativo TripOS scritto in BCPL ed è anche responsabile della gestione di alcuni task particolari che vengono identificati singolarmente con il nome di processo. I processi possono accedere ad alcune funzioni fornite dal modulo AmigaDOS, in particolare quelle legate all'I/O su memorie di massa, a loro volta interfacciate, a basso livello, con AmigaDOS per mezzo di un particolare processo, noto come Amiga FileSystem. Dall'integrazione con TripOS deriva anche l'interfaccia a riga di comando di AmigaDOS, AmigaShell.

File system di AmigaOS[modifica | modifica sorgente]

Nel corso degli anni Amiga ha visto l'alternarsi di diversi file system usati per l'organizzazione logica dei suoi dispositivi fisici. Quando viene trattato l'argomento filesystem Amiga sarebbe dunque più corretto parlare di filesystem al plurale. Ognuna di queste versioni successive del filesystem ha migliorato sensibilmente prestazioni e caratteristiche del suo predecessore, ha implementato nuove funzioni e ne ha corretto man mano i difetti, e mancanza di robustezza del filesystem primgenio.

Storia e caratteristiche principali[modifica | modifica sorgente]

Il file system originario, Amiga FileSystem è derivato dal porting di alcune parti di TripOS in AmigaOS e fu scritto in BCPL prima del 1985.

Come caratteristica intrinseca, l'Amiga Filesystem è innanzitutto un processo particolare che accede alle funzioni offerte dall'AmigaDOS.

Bisogna ammettere che il Filesystem originario non era stato pensato per la velocità, aveva inoltre un alto grado di ridondanza per salvaguardare quanto più possibile i dati memorizzati sui floppy disk. Con l'avvento di hard disk, sempre più capienti ed economici, si decise di migliorare l'Amiga Filesystem includendo il supporto di questi dispositivi ed eseguendo un lavoro di riscrittura dal BCPL all'assembly 68000 per renderlo più veloce. Da questa riscrittura nacque l'Amiga FastFileSystem, il quale venne introdotto per la prima volta con la versione 1.3 di AmigaOS e presenta anche un timido supporto per gli hard link.

Con l'avvento di AmigaOS 2.x vennero introdotte due varianti che integravano la caratteristica International che permette di avere i nomi dei file contenenti anche caratteri accentati.

Con la versione 3.0 dell'OS fu presentata una nuova versione del FastFileSystem Amiga. Questa supporta gli hard link e i soft link, introducendo un'ulteriore variante allo stesso filesystem cui si aggiunge il supporto alla cache per la lettura delle directory. Tale variante definita appunto come Directory Caching è un accorgimento che permette di ritrovare i dati più velocemente sul floppy e sull'Hard Disk. Come i sistemi di caching usati su altri sistemi fa un certo uso dello spazio sul disco.

Con le revisioni 3.5 e 3.9 di AmigaOS L'Amiga FileSystem (comprendente tutte le sue varianti) viene reso estremamente più robusto e sicuro ed introduce il supporto di hard disk maggiori di 4 Gb, accogliendo come standard la modifica chiamata NSDPatch che permette ad Amiga di indirizzare 2^64 bit, pari a 4 Exabyte di memoria fisica. Dalla versione 3.5 di AmigaOS sia NSDPatch, che il supporto a dischi rigidi di grandissime dimensioni sono quindi standard per questo sistema operativo.

Con AmigaOS4.0 l'Amiga FileSystem è stato completamente riscritto in C mantenendo tutte le sue precedenti caratteristiche ed implementando nuove API. Nasce così l'Amiga FastFileSystem2 per PowerPC. il quale supporta i nomi fino a 108 caratteri (LFN o Long File Name).

I filesystem di altre piattaforme (FAT, FAT32, Ext2, Apple, ed altri) vengono supportati da Amiga tramite programmi driver di compatibilità che ne implementano funzioni di lettura e scrittura. Alcuni filesystem di programmatori terzi (PFS, SFS), assai apprezzati dagli utenti, dapprima letti tramite driver, sono stati supportati in modalità standard, in successive versioni dell'AmigaOS, o in sue varianti come MorphOS.

Specifiche dei Filesystem di AmigaOS[modifica | modifica sorgente]

Ricapitolando esistono numerose varianti dell'Amiga Filesystem: il filesystem Amiga che accompagnava le primissime versioni di AmigaOS viene definito come OFS, cioè OLD File System, poi si ha il FFS cioè Fast File System. Le varianti di Amiga Filesystem sono INTL o International, DIRC o Directory Cache Mode, LFN o LongFileNames:

Old File System /Fast File System

  • OFS (DOS0)
  • FFS (DOS1)
  • OFS International (DOS2)
  • FFS International (DOS3)
  • OFS Directory Caching (DOS4)
  • FFS Directory Caching (DOS5)

Fast File System 2 (AmigaOS4.0)

  • OFS Long filenames (DOS6)
  • FFS Long filenames (DOS7)


FFS2 comprende tutte le precedenti varianti ed attraverso delle nuove API tale filesystem può acquisire nuove caratteristiche a livello di blocchi per mezzo di un'interfaccia a plugin. In AmigaOS4.0Update-1 sono stati inclusi due plugin:

  • fs_plugin_cache: incrementa le prestazioni del fileSystem per mezzo della bufferizzazione dei dati già letti;
  • fs_plugin_encrypt: effettua la crittazione/decrittazione al volo dei dati di un hard disk/partizione usando l'algoritmo Blowfish;


Vi sono anche alcuni filesystem prodotti da terzi che si distinguono per essere più efficienti:

Lo Smart File System (SFS) Freeware e il Professional File System (PFS) commerciale, scritto in interamente in assembly 68k. Lo Smart File System è diventato uno dei due filesystem supportati da MorphOS ed è supportato anche da AmigaOS4.

Gestione delle memorie di massa[modifica | modifica sorgente]

AmigaOS fino alla versione 3.x per convenzione riconosceva tutti gli Hard Disk come se fossero SCSI (anche quelli EIDE, o XT, o quelli connessi con qualsiasi altro bus). Lo SCSI_Device di AmigaOS si occupava poi delle opportune "traduzioni" dei comandi da dare alle diverse periferiche. Ciò deriva dal fatto che la prima interfaccia per hard disk su Amiga fu lo scsi dei modello A2000 e del contemporaneo hard disk esterno per A500. Nel momento in cui vennero commercializzati i modelli A600, A1200 ed A4000 con interfaccia IDE i progettisti pensarono di far gestire questa nuova interfaccia sempre dallo "file driver", lo scsi.device. In alcuni casi alcuni controller di terze parti utilizzavano appositi Device-Handler, ma in linea di massima tutti i compiti di gestione erano affidati allo scsi.device.

I dispositivi di memorizzazione che vengono riconosciuti da Amiga automaticamente, vengono preparati all'uso e gestiti da un programma di sistema unico chiamato HDToolBox che permette la loro prima inizializzazione, l'installazione del RDB, il partizionamento, ecc.

Dalla versione 4.0 AmigaOS riconosce nativamente i dispositivi SCSI, IDE, ATA, USB, ecc. che vengono manipolati dal programma di sistema MediaToolBox. MTB mette a disposizione due modi per operare: "Normale" e "Esperto" (utenti avanzati). Nella modalità "Esperto" l'utente può modificare praticamente tutti i valori dell'RDB. Sempre dalla versione 4.0, AmigaOS mette a disposizione Partition Wizard: un programma di sistema per il recupero ed il salvataggio delle informazioni sui dispositivi di memorizzazione.

Rigid Disk Block[modifica | modifica sorgente]

Gli Hard disk formattati con i filesystem Amiga sono caratterizzati dalla presenza dell RDB o RIGID DISK BLOCK, che risiede nel primo(i) cilindro del disco rigido.

L'RDB indica al sistema operativo da dove fare il boot, informazioni sull'hard disk, e può contenere, data la sua relativa capienza, il descrittore ad un intero filesystem. Amiga può così supportare di base anche filesystem non standard o non proprietari.

L'RDB solitamente risiede nei primi 16 blocchi sul disco. I blocchi possono anche essere memorizzati in cilindri sparsi su hard disk, ma questo tipo di approccio è stato sempre sconsigliato nei manuali Amiga. È più corretto utilizzare il primo cilindro (o cilindri) dell'hard disk per memorizzare questi blocchi dati. L'RDB (detto anche hardblocks), contiene tutti i dati specifici di un hard disk: il numero e la grandezza dei blocchi, il numero di tracce e di cilindri presenti su hard disk, ed altro. L'RDB punta anche a dei blocchi particolari: quelli che riportano le descrizioni delle partizioni (PartitionBlocks), i blocchi che riportano le immagini dei filesystem (FileSysHeaderBlocks), quelli che contengono le liste (dette 'mappe') dei blocchi danneggiati quei blocchi alternativi da usare al posto dei danneggiati (BadBlockBlocks), e infine, i blocchi che indicano le inizializzazioni da fare all'hard disk in fase di boot (LoadSegBlocks).

Questa differenza rende un disco rigido formattato con AmigaOS assai diverso dai sistemi presenti sui comuni PC, i quali nelle prime due tracce inseriscono un boot sector chiamato MBR (master boot record). Le tecnologie RDB ed MBR sono ovviamente incompatibili tra di loro e ciò ha creato non pochi problemi. AmigaOS non riconosce i dischi in formato MBR mentre tra i sistemi operativi dei PC Linux è l'unico OS in grado di gestire, seppur in modo limitato, gli hard disk in formato RDB.

I dispositivi ottici[modifica | modifica sorgente]

Un discorso a parte meritano i filesystem per CD. Su Amiga sono implementati quelli riconosciuti dal consorzio per gli standard ISO 9660, con le estensioni Joliet e Rock Ridge. Lo stesso dicasi anche per i DVD. Anche in questo caso Amiga supporta gli standard esistenti. Questo significa che con Amiga è possibile scrivere e leggere CD che saranno visti su qualsiasi altro computer.

Nel caso di CD formattati con Amiga, vi possono essere sporadici problemi di lettura di alcune directory o dei nomi dei file su altre macchine (esempio: Windows 98). Il problema è dovuto all'eventuale utilizzo in Amiga di caratteri speciali (lettere accentate o altro), nei nomi delle directory o dei file. Se si ha l'accortenza di non usarli, non è stato rilevato nessun altro particolare problema. Viceversa Amiga supporta assai bene i nomi di file del PC o del Macintosh. Questo è dovuto al fatto che Amiga segue lo standard dei caratteri ANSI (American Standard National Institute)/ISO-8859-1.

Il nome di periferica convenzionalmente adottato da AmigaOS per queste unità ottiche è CD0:, a seguire vengono CD1:, CD2: e così via a seconda di quanti CD, o quanti masterizzatori siano connessi al sistema.

Geometria dei floppy disk Amiga Classic[modifica | modifica sorgente]

  • Floppy Disk Amiga a bassa e ad alta densità
    • Doppia Densità: 512 Byte/settore 11 settori/traccia, 2 tracce/cilindro, 80 cilindri/disco. Un disco a doppia densità ha 11*2*80=1760 blocchi numerati da 0 a 1759.
    • Alta densità: 512 Byte/settore 22 settori/traccia, 2 tracce/cilindro, 80 cilindri/disco. Un disco ad alta densità ha 22*2*80=3520 blocchi.
  • Limite massimo per la grandezza di un disco formattato Amiga.

Il file system Amiga classico ha un comando interno con un parametro wide offset a 32 bit (unsigned). Dunque la massima grandezza raggiungibile per un disco Amiga con questo filesystem era 2^32 bit = 4 Gb.

Prima dell'avvento dell'OS 3.5 esistevano numerose patch che aggiravano il limite dei 32 bit e portavano questo valore a 64. Dal File System incluso con l'OS 3.5 in poi, tutti i FS si appoggiano all'NSDPatch.

Il filesystem Amiga supporta dunque adesso volumi pari a 2^64 bit = 36.893.488.147.419.103.232 bit o, detto in byte: 4.611.686.018.427.387.904 cioè 4 ExaByte.

L'organizzazione delle informazioni su AmigaOS[modifica | modifica sorgente]

Come tutti i computer, anche Amiga ha un proprio sistema per la gestione dei file, delle directory e dei volumi fisici e virtuali (Hard Disk, Tape stream, eccetera).

Amiga supporta diversi tipi di unità e nell'ordine:

  • Device, cioè le periferiche considerate come entità fisiche (lettore di floppy disk), ad esempio DF0: (Device o Disk Floppy numero 0). Non bisogna confondere i device con i device handler, cioè i programmi che si occupano della gestione di periferiche, questi sono equiparabili ai driver. Per convenzione sotto Amiga si distingue fra device handler e driver (ma non necessariamente). Il nome driver, viene in genere riservato ai veri e propri driver che controllano le periferiche tipo stampanti, modem, monitor, eccetera.
  • Device virtuali, come ad esempio:
    • Speak:, che è il device che controlla il sintetizzatore vocale,
    • Ram:, un device residente nella RAM fisica che merita un discorso a sé stante (vedere la sezione corrispondente),
    • Nil:, che è l'unità dove si reindirizza a NULL l'output di un comando quando non se ne ha bisogno.
  • Volumi, cioè i volumi fisici inseriti dentro i lettori e montati dal sistema. Anche questi vengono considerati come unità, (come ad esempio il floppy disk inserito all'interno del lettore floppy). Se ad esempio il volume inserito nel lettore floppy è il disco che ha un nomedisco tipo Workbench, esso verrà considerato unità Workbench: (notare il carattere "due punti" che in Amiga, come nel mondo PC identifica che si tratta, e si sta parlando di una unità.)
  • Dischi rigidi, che vengono considerati in genere come volumi.
  • Unità virtuali, si tratta di unità che non esistono fisicamente, e che si appoggiano a unità fisiche realmente esistenti. Ad esempio CrossDos, che implementa il filesystem PC per i floppy disk e le partizioni in formato FAT. CrossDos vedrà l'unità lettore floppy come PC0: (o unità PC numero 0). In questo caso, alla stessa meccanica si potrà accedere alternativamente sia come DF0: inserendovi floppy formattati con Amiga filesystem, sia come PC0: e leggere e scrivere floppy PC.

Dovendo parlare di hardfile, detti anche "hard disk racchiusi in un solo file", bisogna ricordare che Amiga non supporta gli hardfile direttamente, ma lo fa tramite i device di programmi presenti sul mercato. Con A-Max l'emulatore di Macintosh è in grado di creare Hardfile in formato Mac; con AmigaUAE (versione Amiga di Unix Amiga Emulator l'amulatore Amiga source free) la piattaforma Amiga è in grado di vedere hardfile addirittura anche formattati con il suo stesso standard; ed infine con l'emulatore PC-Task può creare, leggere e scrivere hardfile in formato PC-FAT, che possiedono tutte le caratteristiche di un qualsiasi hard disk reale del mondo PC.

Unità logiche o Pseudopartizioni[modifica | modifica sorgente]

Il sistema operativo Amiga permette di creare pseudopartizioni.

Se si vuole creare un volume logico DATI da usare come unità "fittizia", all'interno dell'unità hard disk di boot (DH0: su Amiga), è sufficiente creare una directory con quello stesso nome ed aggiungere una riga di comandi con un editor di testi:

Assign Dati: DH0:Dati

nella prima riga del file batch chiamato user-startup (lo script di sistema che carica ad ogni boot i programmi e le preferenze volute dall'utente), locato nella directory s (abbreviazione che sta appunto per script) e che in Amiga è obbligatoriamente presente nella partizione di boot (DH0:s). Da quel momento e per qualsiasi tipo di operazione (esempio: nei salvataggi o nello spostamento di file) è sufficiente fare riferimento come percorso di unità a DATI: che comparirà automaticamente fra le altre unità disponibili nelle finestre di salvataggio o nei requester a schermo.

Scorciatoie e trucchi analoghi sono possibili per qualsiasi unità, directory o sottodirectory presenti sul sistema Amiga su cui si sta lavorando.

RAM disk[modifica | modifica sorgente]

Ram: e Rad: sono due device virtuali particolari. Si tratta di parti della memoria RAM che vengono usate come periferiche (RAM disk). Sono assai utili nei casi in cui si abbia un solo lettore floppy disk, come destinazione di "transito" per qualsiasi file in caso di copia da un supporto fisico ad un altro, eliminano ad esempio la necessità di togliere e mettere i dischi nel floppy disk più volte come avveniva nel mondo PC DOS. A differenza delle analoghe unità RAM disk comuni al mondo PC di grandezza fissa, il device RAM: di AmigaOS è completamente rientrante, cioè se non vi sono contenuti dati, occupa 0 byte di memoria, mentre se vi sono contenuti dati, il suo limite massimo è dato dal limite massimo della memoria fisica disponibile nel computer.

RAD:, introdotto con l'OS 1.3, è un device RAM disk resistente ai soft reset, (riavviamento semplice della macchina successivo al primo boot). In questo modo l'utente ha a disposizione un device molto potente che può essere usato in maniera assai proficua. Ad esempio se in Rad: viene replicato il sistema operativo Amiga, sarà possibile effettuare numerosi altri boot della macchina utilizzando questo device. In tal modo AmigaOS può partire direttamente dalla RAM di sistema, senza impegnare e usurare floppy disk o dischi rigidi che sottoposti ad un continuo utilizzo si consumerebbero più rapidamente. Amiga si comporta dunque allo stesso modo di un quiet computer (detto anche computer senza ventola e con hard disk a stato solido) fino all'eventuale spegnimento, o al dismount del device Rad:.
Per essere visto dal sistema Amiga, il device Rad: richiede di essere montato, (AmigaOS supporta anche i mount di periferiche in stile simile al sistema operativo linux), ma non basta smontarlo (umount) per rimuovere la sua presenza dal sistema: data questa natura di device resistente al reset, RAD: può essere rimosso dal sistema solo effettuando un riavvio o, in alternativa, è sufficiente uno spegnimento della macchina.

Caratteristiche[modifica | modifica sorgente]

  • Mount Point (punto di montaggio): Al momento dell'avvio di AmigaOS il filesystem assegna come Mount Point (punto di montaggio/volume di avvio) la root (radice) del device da cui attingere i file di sistema necessari al caricamento dell'OS. Tipicamente il volume di avvio è la partizione che contiene il sistema operativo, ma questi può essere anche un generico volume: un dischetto, un CD-ROM, una chiave USB etc.

A differenza di Linux che richiede un mount point obbligatorio, su Amiga un device può divenire di avvio semplicemente se ha la priorità superiore rispetto a tutti gli altri device, e naturalmente che abbia il sistema operativo installato. Al momento dell'avvio AmigaDOS crea un'assegnazione denominata "SYS:" che punta al nome del device di boot.

Assumendo come nome di device "DH0" (tipicamente usato per i dischi-fissi) e come nome del volume "Workbench" abbiamo 3 modi per indicare ad AmigaDOS il volume di avvio: SYS:, DH0: e Workbench:.

A partire dall'Amiga OS 2.0 è stato reso disponibile, tra gli altri servizi, un comodo boot menu accessibile tenendo contemporaneamente premuti entrambi i tasti del mouse all'atto dell'accensione o al reset. Detto menù permette di fare il boot da qualsiasi device o hard disk collegato al sistema, e, nelle versioni successive, anche di inibire il caricamento di alcune partizioni rispetto ad altre per nasconderle così al sistema. È da menzionare, il fatto degno di nota che Amiga non ha limiti riguardo al numero di partizioni. Invece il numero di unità disponibili è limitato dal tipo di interfaccia usata (IDE o SCSI). Bisogna fare oltretutto presente che, più schede di espansione con bus IDE o SCSI possono essere collegate contemporaneamente, aumentando il numero di unità disponibili e moltiplicando le possibilità di suddividerle in partizioni.

  • Drawer (o "cassetti"): Il Sistema operativo Amiga, per convenzione identifica ciascuna directory come drawer, cioè cassetto, come fosse un cassetto di una scrivania in un ufficio o in un banco di lavoro (workbench appunto), in cui tenere ordinate le proprie cose. Le icone del Workbench 1.1, 1.2 e 1.3 rimandavano graficamente a questa metafora.
  • Ordine dei byte: Amiga usa la notazione big endian, detta anche Motorola Order, nel codificare i byte dei numeri interi su supporto fisico. Il byte più significativo MSB (Most Significant Byte) viene per primo, poi quelli meno significativi o LSB (Lesser Significant Bytes) in ordine decrescente del valore di significatività (MSB LSB per i numeri interi a due byte, B3 B2 B1 B0 per gli interi a 4 byte). Mentre i personal computer basati su processori Intel della famiglia x86 seguono l'ordine byte detto little endian.
  • Struttura dei Volumi di AmigaOS: L'inizio del volume floppy contiene uno spazio per i settori che possono contenere il codice di boot. Al centro dello stesso volume vi sono le informazioni sulla directory di root e le informazioni sulle directory e sul loro contenuto e dove sono localizzati i blocchi liberi e quelli usati. La lunghezza dei file, e la ramificazione delle directory sono limitate solo dalla grandezza dei dischi usati. Prima dell'avvento del Kickstart versione 2.0 il bootblock di un volume Amiga comprendeva i primi 2 settori del floppy disk (settore 0 e settore 1). Con l'adozione del Kickstart 2.0, il boot tramite blocchi bootblock può essere fatto da qualsiasi device.
  • Blocchi dati (grandezza del blocco o BSIZE): L'OFS filesystem supporta 488 byte di dati puri ogni blocco dati di struttura standard di 512 byte. 24 byte sono riservati. FFS invece può utilizzare tutti e 512 byte nel blocco dati. Oltre alla grandezza standard di 512 byte, AmigaOS può usare indifferentemente grandezze del blocco che siano 512 byte, o che siano doppie (1024 byte), quadruple (2048 byte), o maggiori.
  • Rootblock Blocco root (o radice): Il blocco radice risiede fisicamente a metà del volume. Sui dischi a bassa densità è il blocco 880, e 1760 per quelli ad alta densità. Il blocco radice contiene informazioni sul disco, il suo nome, la data in cui è stato formattato, e ovviamente contiene le informazioni su come Amiga debba accedere ai file, alle directory e ai link localizzati nella directory radice.
  • Hash table: AmigaOS per trovare il primo settore di una directory, o di qualsiasi altra entry all'interno della struttura del media usato bisogna calcolare il suo valore di hash (hash value) tramite un algoritmo. Il valore di Hash viene quindi usato per accedere alla HashTable (o campo "ht") nel blocco root. La HashTable contiene il numero del primo blocco dell'oggetto considerato che può essere l'intestazione (o header) del file, il blocco di Directory o il blocco Link. Se differenti nomi hanno lo stesso valore nella hashtable, gli altri blocchi sono memorizzati in una lista. Questa fa riferimento al campo chiamato next-hash all'interno dell'intestazione del file o del blocco di Directory. I nomi: file_1a, file_24 e file_5u, ad esempio, condividono uno stesso valore di hash.
  • Case insensitive: I nomi di file non si differenziano con i caratteri maiuscoli e minuscoli.
  • Lunghezza dei nomi dei file: Il filesystem Amiga originario supportava nomi di file lunghi 30 caratteri. e questo era già sufficiente all'epoca in cui i PC supportavano nomi file di soli 8 caratteri, più l'estensione di massimo 3 caratteri necessaria al sistema operativo per riconoscere il tipo di file. I nuovi filesystem hanno portato il limite massimo per il nome di un file Amiga a 108 caratteri.
  • Estensioni dei nomifile: Le estensioni non sono necessarie sotto Amiga. Ad esempio per riconoscere quali siano gli eseguibili, il SO fa ricorso a particolari configurazioni esadecimali di byte all'inizio del programma chiamate in gergo magic cookies ossia biscottini magici. Altri file hanno nell'intestazione analoghi segni di riconoscimento riportati in sezioni chiamate "chunk" come avviene per i file IFF standard su Amiga.

Note[modifica | modifica sorgente]

Amiga classici

  • il coprocessore Paula e i Floppy disk Amiga:

Il controller Amiga per i floppy disk era integrato nel chip Paula, il quale controllava tutti i flussi di I/O di Amiga, ed era un chip molto flessibile. Insieme con il trackdisk.device di AmigaOS, Paula era capace di pilotare ogni aspetto del motore e delle testine dei lettori floppy, i quali venivano costruiti secondo le specifiche Commodore, cioè con tutta la piedinatura contatti prevista dallo standard di riferimento riconosciuto a livello internazionale. Il mercato PC invece, nel corso degli anni, aveva preferito implementare un set ridotto di istruzioni all'interno dei controller per i floppy. Gli stessi lettori floppy PC sono costruiti con un connettore che non riporta tutti i contatti previsti a livello standard dai produttori di meccaniche per lettori di Floppy Disk.

La coppia Paula e trackdisk.device era capace di leggere e scrivere floppy in formato Amiga, PC, Atari TOS, Apple II, Macintosh ed addirittura Commodore 64, sia nel formato a 3 pollici e mezzo, sia in quello da 5" e 25, purché venisse collegato ad una meccanica adeguata. La stessa limitazione valeva per i floppy Macintosh, che nella versione a bassa densità (800 Kb) pretendevano di essere inseriti in un lettore floppy a velocità variabile. A questo proposito Paula non era capace di leggere e scrivere sui dischi a velocità variabile, se non in presenza di una meccanica adeguata. Inoltre, nell'epoca dei floppy da 3,5 pollici, la maggior parte dei controller per i floppy dl PC, per trovare l'inizio di una traccia, pretendevano ancora di usare il foro dell'index (precedente nei floppy disk da 5,25"). Paula invece utilizzava sin dalla sua nascita una "word di sincronizzazione" per ottenere lo stesso risultato.

Per ciò che concerne la compatibilità coi dischi Macintosh, è utile menzionare il fatto che i Mac utilizzavano l'encoding GCR invece che MFM. La logica di Paula che gestisce i floppy disk è strutturalmente, più semplice di un controller floppy PC, in quanto non effettua la decodificazione immediatamente dopo l'operazione di lettura, o l'encoding proprio prima dell'operazione di scrittura; Tutto ciò viene invece eseguito a livello di sistema operativo. L'encoding e decoding MFM, sui controller PC, viene realizzato dall'hardware, mentre sulla piattaforma Amiga è possibile realizzare sia l'encoding GCR che quello MFM, perché è un lavoro svolto da AmigaDOS. È interessante notare come in alcune versioni di AmigaDOS la procedura di decoding e quella di encoding venivano realizzate dal Blitter.

Amiga con chipset AGA

[Abbozzo-modificare]

  • Gayle, controller dell'interfaccia IDE.

Paula era un chip molto flessibile, tuttavia era limitato dalle capacità del BUS dati degli Amiga classic, il quale dedicava ai coprocessori un bus a soli 24 bit. Gayle, il controller dell'interfaccia IDE di A600, A1200 ed A4000, aveva invece a disposizione un bus a 32 bit pieni, sebbene tale chip si rivelò comunque assai limitato. Gayle era infatti poco duttile sia nella gestione delle periferiche IDE, fissate di default ad un massimo di 2 e non di 4 come nei controller standard per PC (per tale motivo necessitava di connettori modificati per connettere e raggiungere il massimo di periferiche possibili allo standard IDE), sia nel transfer rate, limitando gli Amiga classic ad usare dischi rigidi impostati al solo PIO mode 0. Si rese così necessario utilizzare modifiche o rivolgersi a soluzioni hardware dell'epoca prodotte da terze parti.

AmigaShell[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]