Originariamente pubblicato in data 12/07/1999
A
C
C
O
M
A
Z
Z
I
Chiamatelo Multifinder
Chiamatelo Multifinder
Mac OS, dalla versione 5 alla 8, permette a più applicazioni di lavorare contemporaneamente. Come funziona in realtà la multiprogrammazione? Spiegazioni e trucchi.
MultiFinder, il componente di Mac OS che permette a più applicazioni di lavorare contemporaneamente sullo stesso computer, nacque nel novembre 1987, ma non ebbe immediatamente quel grande successo tra i possessori di Macintosh che si sarebbe potuto aspettare. Soffrì, in primo luogo, dei costi esorbitanti delle espansioni di memoria in quegli anni: per vivere agevolmente con MultiFinder, il megabyte che costituivano la dotazione standard della maggior parte dei Macintosh era davvero poco. In secondo luogo, come sempre quando il software di sistema viene radicalmente riscritto, Multifinder provocò qualche problema di compatibilità con alcuni vecchi programmi scritti approssimativamente.
Naturalmente, neppure MultiFinder nacque perfetto. La sua peggiore mancanza era... nel nome! Il nome è ingannevole: MultiFinder non ha nessuna parentela con il Finder. Si tratta, invece, di una serie di modifiche e migliorie apposte al sistema operativo. Il difetto maggiore di Multifinder è un altro. Per restare compatibile con tutte le applicazioni Mac prodotte dal 1984, Apple scelse un modello di multiprogrammazione cooperativo. In soldoni, questo significa che il Mac è tanto efficiente quanto la meno efficiente delle applicazioni aperte in un dato momento. Se io apro Photoshop e quel programma comincia a utilizzare per sé tutta la potenza del mio computer, tutti gli altri programmi ne soffrono e la macchina risponde male alle mie richieste. Se io apro Navigator e il programma commette un errore perché è stato mal programmato, allora è possibile che Navigator si chiuda e che trascini con sé le altre applicazioni incolpevoli, con i relativi dati appena elaborati.
Esiste un approccio diverso, quello che Apple ha scelto per Mac OS X: i moderni computer infatti possiedono una memory management unit (un chip che impedisce alle applicazioni di usare la memoria al di fuori dell'appezzamento assegnato). Se viene ingaggiata, la MMU può proteggere le applicazioni, chiudendo ciascuna in un recinto virtuale da cui non può uscire per invadere le altre. L'uso della MMU è però incompatibile con il Mac OS classico.
Per una discussione su come sfruttare al meglio MultiFinder, dividiamo le applicazioni in quattro categorie.
La prima categoria raccoglie tutte le applicazioni scritte in modo degno prima che MultiFinder facesse la sua apparizione. Ebbene sì, è possibile eseguire sotto Mac OS 8.6 anche applicativi scritti per Mac OS 1.0. Si deve trattare di cittadini disciplinati e bene educati, che seguono le regole, e in particolare ad intervalli regolari restituiscono il controllo del microprocessore (il cuore di Mac) al sistema operativo. È proprio in questi momenti che MultiFinder svolge i suoi compiti di padrone di casa, dando alle applicazioni sullo sfondo il modo di avanzare.
Se invece l'applicazione che sta avanti a tutte, quella che l'utente sta utilizzando e che dispone della maggior parte del tempo macchina, si comporta in modo capriccioso ed effettua con frequenza troppo scarsa il passaggio di consegne a MultiFinder, il Macintosh sembra rallentare e risponde con calma alle richieste. Per fortuna, succede di rado. Apple raccomanda da sempre agli sviluppatori di software che il passaggio di consegne tra applicativo e applicativo venga effettuata almeno ogni sessantesimo di secondo, e se questa buona norma viene seguita il Mac resta lepre. Dopo tutto, il programma può eseguire almeno centomila microoperazioni in quel gigantesco lasso di tempo...
In una seconda categoria troviamo le applicazioni consce dell'esistenza di MultiFinder. È in collaborazione con queste che il Nostro da il meglio di se stesso. Sono riconoscibili dalla finestra di Informazioni del Finder. Nella finestra di informazioni, oltre alla cifra che esprime la quantità di memoria richiesta, appare anche la quantità suggerita. Nelle vecchie applicazioni a questa voce appare invece la scritta "Non disponibile".
Le moderne applicazioni sono caratterizzate da tre numeri, e cioé la quantità minima, ottimale e standard di memoria che esse occupano. Per esempio, Word 3 richiede non meno di 221 Kbyte di memoria per funzionare ma desidererebbe averne 384 Kbyte. Su un Macintosh con un solo Mbyte di memoria Ram, un buon compromesso è rappresentato da una dotazione standard di 256 Kbyte.
L'applicazione stabilisce quali sono le dimensioni minime ed ottimali di memoria per sé, ma è l'utente ad assegnare la quantità di memoria che verrà effettivamente assegnata all'applicazione.
Delle tre cifre in questione, solo due sono visualizzabili da Finder: la quantità ottimale e quella realmente assegnata. Vengono mostrate nella finestra di informazioni , e la seconda può venire editata.
La terza categoria di applicazioni comprende le applicazioni di sistema che utilizzano MultiFinder: ne sono rappresentanti il Print Monitor e lo stesso Finder.
La quarta ed ultima categoria comprende i processi che girano in background; in altri termini, i programmi che agiscono invisibilmente (l'utente non li vede mai, poiché questi programmi non hanno finestre) e che utilizzano il tempo macchina del Macintosh quando nessun'altra applicazione lo richiede. Un esempio di programma in quest'ultima categoria? Quando un nostro collaboratore si collegha in rete locale al nostro Mac e copia un documento sul suo disco in realtà ha attivato un processo invisibile. Questo processo riceve i dati attraverso la rete e li registra sul nostro disco rigido, mentre noi stiamo facendo altro.
