AngoLinux - Parte 2
Requisiti Hardware

Vediamo in questo secondo appuntamento quali configurazioni hardware sono necessarie per far funzionare Linux su Amiga.
Infatti, le configurazioni con le quali ci ha abituato a lavorare AmigaOS, uno dei sistemi operativi in
assoluto meno esoso in termini di richieste hardware, in molti casi non sono neanche
sufficienti per poter usare Linux. Questo non deve far storcere il naso, i motivi esistono e sono
"plausibili", vediamo quali sono, in un veloce confronto:
|
Altre lezioni:
1. Introduzione
|
AmigaOS | Linux |
Exec, il "kernel" di AmigaOS richiede circa 300Kb |
Il kernel di Linux richiede da 500 Kb a 2 Mb di ram e deve sempre risiedere su ram
fisica e non virtuale |
AmigaOS è un sistema monoutente, senza nessuna protezione della memoria dello spazio
utente e di exec |
Linux è un sistema multiutente, che permette ai diversi processi di non interferire l'un
l'altro; tutto questo si paga in termini di memoria e di potenza richiesta |
Intuition è parco di memoria ed estremamente veloce ed efficiente |
X, il corrispettivo in Linux, è un divoratore di memoria ed eccessivamente lento, ha però delle caratteristiche
orientate al networking senza pari, anche questo in termini di memoria e di cpu è molto costoso |
AmigaOS non fa uso di memoria protetta e il malfunzionamento di un programma può mettere in
crisi l'intero sistema e far perdere dati |
Linux non potrebbe esistere senza memoria protetta, ciò determina un lavoro extra
per la cpu, di contro il blocco di una applicazione mette molto raramente in crisi il sistema che
riesce sempre a ristabilire l'ordine (Nota: in due anni di utilizzo ho assistito solamente
a due crash irrimediabili di Linux sulla mia Linux box) |
AmigaOS, non implementando la memoria virtuale (il famigerato swap su hard disk punto
dolente di windows), è molto veloce, questo perché‚ tutti i programmi girano sempre e solo
in memoria fisica, senza l'appesantimento di swap su hard disk. |
Linux fa uso della memoria virtuale che rallenta quindi il sistema. C'è da dire
però che, fortunatamente, la gestione della memoria virtuale sotto Linux è ottimamente
implementata e quindi molto efficiente. |
Ci si rende conto, da queste brevissime note, del perché‚ Linux sembri così "affamato"
di risorse, in effetti richiede il minimo indispensabile per un SO moderno, che
implementa egregiamente le filosofie di multitasking e multiutenza. Solo per fare un
paragone: se esistesse una versione di windows per Amiga pensate che un 68040 e
16 mb di ram potrebbero bastare? Secondo me no.
Le richieste hardware, per poter far funzionare Linux su Amiga, sono le seguenti:
- CPU: 68030, 68040, 68060.
Non vanno bene i 68EC030 presenti ad esempio sui
4000/030, o i 68020, 68010 o 68000 perché‚ non dispongo di MMU. In verità, i
68EC030 sono forniti di MMU ma è malfunzionante, comunque tentare non nuoce, al
massimo Linux non parte. Il 68020 potebbe essere usato insieme al 68851 (MMU
esterna), ma non credo siano mai esistite schede del genere per Amiga. E`
consigliabile però almeno un 68040, se non altro per la potenza richiesta dal
gestore del server grafico (X server). Di norma è richiesta anche la FPU (Floating Point Unit)
quindi il 68030 dovrà necessariamente essere accompagnato da un coprocessore matematico
68881 o 68882.
Il 68040 e il 68060 hanno la FPU integrata, meno che il 68LC040 che ne è sprovvisto.
Per ovviare a questo inconveniente, si può cercare un kernel compilato con una
patch che emula la FPU, ma non sono in grado di dire se funzioni correttamente o meno.
Cominciano ad essere suppportati, non da Debian però, i processori PowerPC presenti sulle schede
PowerUp, tramite la distribuzione, ancora in fase di sviluppo, denominata APUS.
- RAM: 16 MB.
Per chiarezza occorre dire che le richieste di ram di Linux variano
molto, secondo l'uso che se ne fa. Per una sessione in shell testuale, sempre in
multitasking e multiutenza, possono bastare 4 MB. Per poter iniziare a
lavorare con l'ambiente grafico X-Windows, servono dagli 8 MB (pochi) in su; 16 MB rappresentano un buon punto di partenza.
- HD: 120 MB.
Qui il discorso è piuttosto complesso. Una buona installazione Debian
richiede dai 200 ai 500 mb, in più poi si dovrà riservare un'altra partizione per lo
swap, la cui grandezza è consigliata essere almeno due volte superiore alla ram fisica
presente nel sistema (es: con 16 MB di ram la partizione dove essere almeno di 32 MB).
- Scheda video: chipset AGA.
Un'avvertenza: il server grafico a 256 colori, il minimo
neanche sufficiente in molti casi, su AGA è pressoché‚ inutilizzabile. Con una scheda
grafica il discorso migliora, anche se non si raggiungono livelli stratosferici. Il server
grafico di Linux è molto pesante nelle richieste di hardware, sia in termini di ram che
di cpu. Le schede grafiche su slot Zorro II non forniscono una buona velocità, quindi
è meglio, se possibile, usare una scheda grafica su bus Zorro III.
- HD e CD-Rom: Si possono usare tutti gli hd collegati all'interfaccia IDE standard del
1200 e del 4000. Gli hd e i cd rom collegati a controller scsi, se supportati, possono
essere usati senza alcun problema, così come molte periferiche SCSI, ad esempio i
drive Iomega ZIP.
Le schede grafiche, come detto sopra, sono discretamente supportate da Linux e in particolar
modo dalla distribuzione Debian 2.1. Va detto che non esistono driver specifici per le schede
video, ma solo delle patch da inserire nel kernel durante la compilazione. Tanto per
fare un esempio, la CyberVision 64 3D è supportata tramite il virgefb, cioè il driver, o meglio il
frame buffer, che la gestisce. Ebbene, il driver va configurato da AmigaOS quando
si lancia Linux, tramite il parametro -virgefb=800x600-8, se si vuole una sessione Linux
ad una risoluzione di 800 per 600 a 8 bitplanes (256 colori). Il problema principale è
che AmigaOS, al momento del lancio, deve essere assolutamente nelle stesse condizioni,
perché il driver (virgefb) usa le strutture usate da AmigaOS per configurarsi. Il che significa che se
si lancia Linux per una risoluzione e AmigaOS non è nella stessa modalità, non si vedrà altro che
sporcizia sullo schermo mentre Linux parte, l'unico modo è andare alla cieca per fermare la
macchina se si conosce il sistema, oppure resettarla immediatamente!
Un problema derivante dal limite sopra elencato è che, al contrario di ciò che accade per
i sistemi Intel, non è possibile cambiare risoluzione "al volo" durante una sessione Linux.
Il chipset AGA è supportato in modo nettamente migliore, tanto che si può cambiare risoluzione in
maniera semplice e indolore, il punto veramente debole di questo chipset è la lentezza esasperante
specialmente in ambiente grafico.
Un discorso a parte merita la ram su bus Zorro II, come ad esempio quella presente
in alcuni controller scsi. Purtoppo questa ram non può essere usata da Linux come memoria fisica,
poiché l'indirizzamento a 32 bit non può gestire la ram a 16 bit presente su questo bus. Se
non si disabilita la ram presente su bus Zorro II, Linux si pianta al boot con un segmentation fault.
Come rimedio parziale, assolutamente da non disprezzare, la ram a 16 bit può essere usata
come partizione di swap, cioè parte dello swap che dovrebbe essere effettuato sul
disco rigido può essere "dirottato" sulla ram. Questa modalità, denominata z2ram, deve essere
presente nel kernel (la Debian 2.1 la offre): vedremo in seguito come utilizzarla al meglio. In
effetti la differenza di velocità della swap su ram a 16 bit, rispetto a quello su hard disk, è
notevole. Basti pensare che la ram ha tempi di accesso praticamente inesistenti, nell'ordine
delle decine di nanosecondi, rispetto a quelli di un comune hard disk, nell'ordine dei millisecondi.
Di questo utilizzo della ram ne giova soprattutto il server grafico, l'X server infatti
diventa molto più veloce ed usabile.
La memoria di tipo CHIP, non essendo utilizzata come memoria di sistema, potrebbe essere
usata nello stesso modo di quella su bus Zorro II. C'è però un inconveniente: il kernel usa la chip
ram come buffer per "appoggiarvi" dei dati, usandola come swap si potrebbe sovrascrivere
qualcosa di vitale per il sistema e quindi far bloccare la linux box. Morale della favola: la chip
ram non può essere usata come swap aggiuntivo!
Nessun problema sussiste per il mouse, che viene installato direttamente durante la fase di
configurazione lanciata da dselect.
Raffaele Pantaleoni