Originariamente pubblicato in data 06/08/1999
A
C
C
O
M
A
Z
Z
I
Una memoria da elefante, parte II
Una memoria da elefante, parte II
Il Mac OS e la memoria. Cosa occupa memoria in un calcolatore Mac? Come si può ridurre loccupazione di memoria del Mac OS?
Ogni estensione installata nel sistema (quelle che vediamo apparire in fila durante l'avvio) viene caricata quando il computer viene avviato o riavviato. Questo consuma un po di tempo durante il lancio del sistema e un po di memoria in permanenza durante luso. Le estensioni vengono chiamate, a volta, anche "INIT": è questa infatti la sigla che Mac usa internamente per distinguerle. Alcune init utilizzano davvero poco spazio e poco tempo macchina, ma altri sono particolarmente sciuponi.Ci sono poi i cdev, sigla orribile sotto la quale si nascondono i moduli del Pannello di controllo come Controlli generali oppure Suono e monitor: occupano memoria solo quando vengono aperti sulla scrivania, e pertanto possono venire aggiunti al nostro disco di sistema senza problemi. Attenzione, però: esistono su Mac alcuni programmini che, pur apparendo al Finder come moduli del Pannello di controllo, sono in realtà delle Init, e dunque come queste occupano un po di memoria centrale. Essi si fingono dei normali cdev poiché in questo modo possono sfruttare il familiare ambiente del Pannello per le operazioni di configurazione. Li riconosciamo, solitamente, perché ne vediamo apparire l'icona a video durante l'avvio di sistema -- subito dopo delle estensioni.
I font, come i già citati cdev, sono caricati in memoria solamente quando vengono utilizzati in un documento. Il Mac tiene però in memoria centrale tutti i nomi di tutti i font: chi disponga di pochissima memoria RAM lo tenga presente. Un amante dei caratteri più eleganti, più utili o più sfiziosi deve dedicare ad essi un appezzamento del proprio disco rigido, ma non deve temere di riempire la propria memoria, purché ne possieda una quantità decente. Se accadesse che la memoria si riempia oltre il limite di guardia, tra le prime entità a venire sloggiate da essa per fare spazio troviamo proprio i font: in questo caso il Mac OS dovrà ricaricarli da disco quando torneremo a utilizzarli e finirà per rallentare le operazioni.

Come abbiamo già spiegato in precedenza, noi possiamo cambiare la quantità di memoria assegnata allapplicazione, sia a suo vantaggio sia a suo scapito. Le applicazioni conscie di MultiFinder sono caratterizzate da due cifre: la quantità ottimale di memoria, che è quella indicata nel dialogo Informazioni, e la quantità minima, sotto la quale lapplicazione non è in grado di operare.
Per stabilire quanta memoria sia opportuno assegnare ad una applicazione, provate ad eseguirla assegnandole un grande quantità di memoria, quasi tutta quella che avete, e a caricare un documento di grandi dimensioni (o più documenti), in modo da simulare una sessione di lavoro particolarmente intensa. A questo punto passate al Finder, ed osservate il dialogo Informazioni sul Mac nel menu Mela. Vi apparirà la memoria utilizzata in quel momento dallapplicazione come una sbarra scura, e quella ancora disponibile come una sbarra chiara (figura 3). Assegnate allapplicazione in questione una quantità di memoria pari allarea della sbarra scura, più un piccolo spazio extra di cuscinetto. Per esempio, se noterete che uno spazio di 1O Mbyte assegnato è riempito per una metà circa dalla sbarra scura, potreste assegnare allapplicazione la metà di 10 Mbyte, e cioè 5000 Kbyte, più uno spazio di riserva del 20%, per un totale di 6000 Kbyte.
Una curiosità: il MultiFinder assegna la memoria a pagine di 32 Kbyte ciascuna; pertanto, se scriverete 600 Kbyte, MultiFinder arrotinderà la cifra a 608 Kbyte. HyperCard, che richiede 1000 Kbyte, ne ottiene in realtà 1024.

Il disco Ram è utilizzabile su alcuni modelli di Mac anche come disco di avvio. É cioè possibile riavviare la macchina partendo da esso. Questo è particolarmente comodo con i PowerBook, dove luso del disco rigido a lungo andare esaurisce le batterie molto più di quanto non faccia la memoria Ram. Se il vostro portatile contiene tantissima memoria e state per affrontare un viaggio molto lungo, pensateci.

La memoria tampone è memoria che viene riservata alluso del dos, il sistema operativo del disco, quella parte del software di sistema che si occupa delle unità a disco (siano essi dischetti, dischi rigidi, Cd Rom o dischi Ram). La memoria che usiamo come memoria tampone è rubata dal quantitativo disponibile alle applicazioni, esattamente come la memoria riservata al disco Ram.
Nella memoria tampone il dos conserva copia di alcune informazioni che potrebbero venire utili; esistono svariate forme di memoria tampone, e non tutte queste sono controllabili dallutente. Ad esempio, su Macintosh, ogni disco presente sulla scrivania occupa circa 20 Kbyte di spazio in memoria Ram, utilizzati dal dos per tenere in memoria centrale il catalogo del disco in questione.
Una seconda memoria tampone viene usata per memorizzare lultima traccia letta dal disco. Un documento, infatti, è salvato su disco in più blocchi, che tipicamente sono allocati contiguamente su una traccia del disco. Il dos, anzichè leggere un blocco alla volta, legge una intera traccia, nella speranza di prevedere quale sarà la prossima richiesta di lettura e, così facendo, di risparmiare un ulteriore (e relativamente lento) accesso a disco.
La memoria tampone che noi possiamo assegnare dal Pannello viene anche utilizzata per memorizzare i documenti (o parti di documento) che lapplicazione legge o rilegge spesso. I dettagli precisi sono piuttosto complessi, perché esiste un meccanismo tramite il quale lapplicazione può richiedere al sistema operativo che una certa porzione di documento venga o non venga salvata nella memoria a tampone, e perché esiste un metodo adottato dal sistema operativo per scegliere cosa debba venire espulso dalla memoria tampone quando essa si riempia (per i lettori più tecnicamente ferrati aggiungerò che si tratta di un classico algoritmo lru, least recently used).
In base a queste ed altre considerazioni, una buona strategia per scegliere quanta memoria va riservata alla memoria tampone è la seguente: 32 Kbyte per ogni Mbyte di Ram.