Originariamente pubblicato in data 06/08/1999
A
C
C
O
M
A
Z
Z
I
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
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.
Le applicazioni e la memoria
Come abbiamo già spiegato qualche mese fa, quando dedicammo una intera puntata a MultiFinder, nel Mac OS è lutente a stabilire quanta memoria va assegnata a ciascuna applicazione in uso, tramite il dialogo Informazioni del Finder. Tutte le applicazioni suggeriscono allutente un quantitativo di memoria che vorrebbero vedersi assegnata (figura 1). Le applicazioni sviluppate nellera pre-MultiFinder non hanno nessun suggerimento da effettuare (nello spazio dedicato appare la scritta n.d., e cioé non disponibile) e MultiFinder assegna loro per convenzione 384 kbyte di Ram.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
Un eccellente pretendente a un pezzetto di memoria è lo splendido disco Ram, tanto comodo e flessibile. Dal Pannello di controllo "Memoria" ci è possibile riservare una porzione della memoria installata, togliendola dallammontare disponibile per le applicazioni, di modo che essa divenga uno pseudo-disco, caratterizzato da grandissima velocità. In teoria è possibile che un programma difettoso vada a corrompere i dati salvati su quel disco, ma in pratica questo non avviene praticamente mai (se succede a voi, e se per questo vi capita di perdere dati preziosissimi, dimenticate per favore di aver letto questo commento su Bit).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
Tutti i computer Apple permettono, tramite il Pannello di controllo "Memoria", di dedicare una parte della memoria Ram disponibile alluso come memoria tampone (figura 4). Che cosa sia, però, pochi sanno dire esattamente.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.