MEMORIA ED ARCHIVIAZIONE
SCOPO
Esaminare scopo dell'archiviazione dati e della memoria
descrivere i tipi diversi di memoria
identificare le unità di memoria utilizzate per la misurazione dei d 151n138b ati
descrivere i diversi tipi di memoria permanente
identificare la dimensione dei diversi elementi di documento
MEMORIA ED ARCHIVIAZIONE
La memoria è un componente del computer nel quale vengono memorizzati dati temporanei, quali programmi
dati correntemente in uso.
I programmi possono essere memorizzati nel:
disco rigido,
disco floppy
CD-ROM.
e quando vengono chiamati o invocati, vengono caricati nella memoria del computer; inoltre durante l'esecuzione, questi programmi risiedono nella memoria; mentre i dati vengono recuperati dal disco, visualizzati ed elaborati e successivamente vengono scritti su disco.
Il computer svolge di conseguenza un ruolo vitale nell'elaborazione degli input e degli output; inoltre più memoria ha la macchina, più velocemente elaborerà i dati
Esistono numerosi tipi di memoria, ciascuno dei quali ha uno scopo differente:
la memoria di sola lettura (ROM, Read-Only Memory)
la memoria ad accesso casuale (RAM, Random Access Memory)
la memoria virtuale
l'area di memorizzazione ausiliare
memoria ROM
Vediamo quello che è il suo utilizzo più significativo:
può essere letta ma non vi si possono scrivere dati.
il suo scopo principale consiste nel memorizzare dati permanenti, ad esempio le istruzioni di avvio di un computer.
a differenza della memoria RAM, qualsiasi dato nella memoria ROM rimane salvato dopo lo spegnimento del computer.
all'avvio del computer, la memoria ROM viene utilizzata per caricare nella RAM i comandi di base per l'avvio.
Il processo di avvio del computer tramite caricamento dei soli comandi di base
viene definito bootstrap
NOTA BENE
Utilizzando i comandi base per l'avvio è possibile caricare ulteriori dati, ad esempio i programmi che si desidera eseguire al computer.
Memoria RAM
Tutti i computer dispongono di una certa quantità di memoria RAM.
A differenza di altri tipi di memoria, nella RAM è possibile sia leggere che scrivere dati.
I dati temporanei memorizzati nella RAM vengono persi dopo lo spegnimento del computer, infatti poiché la RAM è volatile, è necessario che vi sia un flusso costante di elettricità per conservarne il contenuto.
Aumentando la quantità di RAM in un computer è possibile:
. Memorizzare più dati.
. Eseguire programmi complessi.
. Migliorare le prestazioni del computer.
Memoria VIRTUALE
In genere, l'aumento della quantità di memoria disponibile in un computer ne migliora le prestazioni, perciò i computer utilizzano la memoria virtuale laddove la memoria principale non è sufficiente per tutti i programmi e i dati correntemente in uso.
I segmenti quali programmi
dati
vengono ripuliti per far spazio ad altri programmi o dati associati.
Quando il contenuto della memoria RAM viene ripulito durante l'esecuzione di un programma, bisogna tenere presente però che il contenuto del programma sarà ancora necessario per continuare l'elaborazione.
Pertanto il contenuto della memoria o parte di esso viene memorizzato sul disco in una posizione definita in precedenza come memoria virtuale.
Questa memoria virtuale può essere utilizzata dal sistema operativo come se fosse la memoria principale.
I computer accedono in genere più alla memoria virtuale che a quella principale, dunque non è possibile accedere a tutti i punti della memoria virtuale in un solo istante.
Memoria AUSILIARIA
I dati possono essere memorizzati in una memoria ausiliare fino a quando non devono essere utilizzati; inoltre se non sono più necessari, è possibile cancellarli e riutilizzare la memoria ausiliare per altri dati.
I computer sono più lenti ad accedere ai dati nella memoria ausiliare che alla RAM.
Di seguito vengono esaminati alcuni dei processi che utilizzano:
la memoria,
l'avvio
il multitasking.
AVVIO
Quando si accende il computer, viene eseguito un test automatico di avvio, che verifica i componenti del computer.
Se si verifica un problema con uno dei componenti, viene visualizzato un messaggio di errore tipo: mouse non rilevato.
Occorre quindi spegnere la macchina e verificare le connessioni, se però il test ha di nuovo esito negativo, è necessario rivolgersi al rivenditore locale.
Se il test di avvio ha esito positivo, viene caricato il sistema operativo. Abbiamo già visto che il sistema operativo è essenziale per l'esecuzione di tutti gli altri programmi, dunque è il primo software ad essere caricato durante l'avvio.
Il processo di avvio, per il bootstrap è più breve (consiste cioè nel solo caricamento dei comandi di base), consiste nel caricamento:
del sistema operativo
di altro software di base.
L'avvio può essere:
a freddo si verifica quando si accende un computer che prima era spento.
a caldo avviene quando si esegue il riavvio di un computer già acceso.
Il test di accensione (POST, Power-On Self Test)
consiste in una serie di test diagnostici eseguiti automaticamente all'accensione del computer.
Questi test possono differire a seconda della configurazione del BIOS, ma in genere il POST verifica: la RAM,
la tastiera
le unità disco.
Se il POST ha esito positivo, il computer viene avviato.
Se i test hanno esito negativo, viene emessa una serie di segnali acustici e possibilmente vengono visualizzati un codice e un messaggio di errore per indicare il problema.
I segnali acustici indicano un errore, però questo può differire da un BIOS all'altro.
BIOS Basic Input/Output System.
Software incorporato che determina le operazioni che possono essere eseguite da un computer senza accedere ai programmi su disco.
Nei PC il BIOS contiene tutto il codice necessario per controllare:
la tastiera,
lo schermo,
le unità disco,
le comunicazioni seriali
numerose varie funzioni.
Il BIOS si trova in genere in un chip ROM fornito con il computer che viene chiamato chip ROM BIOS; in questo modo il BIOS è sempre disponibile e protetto quando si verificano danni al disco.
Il BIOS consente inoltre l'avvio automatico del computer.
Poiché la RAM è più veloce della ROM, molti produttori di computer progettano i sistemi affinché il BIOS venga copiato dalla ROM nella RAM ad ogni avvio del computer. Questo processo è noto come shadowing
multitasking
capacità di un computer di eseguire più operazioni o più programmi nello stesso momento.
Questo termine è spesso utilizzato come sinonimo di multielaborazione; tuttavia il multitasking non equivale alla multielaborazione perché:
la multielaborazione può coinvolgere l'utilizzo di più CPU
il multitasking ne utilizza una sola.
Esistono due tipi di multitasking:
tipo preemptive
tipo cooperativo.
Il multitasking di tipo preemptive
si ha quando la CPU assegna del tempo a ciascun programma.
Nel Multitasking Preemptive il Sistema operativo divide ed assegna il tempo di elaborazione, detto Time slice, ad ogni programma. Quindi in realtà la CPU non esegue proprio contemporaneamente più programmi, ma passa da un programma all'altro in modo talmente rapido da dare l'impressione di eseguirli tutti contemporaneamente.
Ad esempio Windows è un sistema operativo Multitasking di tipo Preemptive, ovvero i tempi di inattività della CPU sono condivisi tra le operazioni in background. La priorità viene comunque assegnata sempre all'applicazione in uso, ovvero eseguita in foreground, in quanto ciò garantisce una risposta immediata del mouse e della tastiera.
Facciamo un esempio: se stiamo scrivendo una lettera in Word e contemporaneamente stiamo scaricando un file da Internet, la prima attività viene eseguita in foreground mentre la seconda viene eseguita in background.
Le attività eseguite in background possono essere interrotte o annullate dall'utente.
Il multitasking di tipo cooperativo
Nel Multitasking Cooperative, invece, non è più il Sistema operativo ad assegnare in maniera "forzata" il tempo di elaborazione a ciascuna attività, ma è il programma (o processo) che in quel momento controlla la CPU che deve "offrirne" il controllo ad altri programmi (o processi); da qui la definizione di cooperativo. Il meccanismo di funzionamento è questo: un programma può controllare la CPU per tutto il tempo di cui ha bisogno ma, nel momento in cui termina la sua attività, deve cedere il controllo della CPU stessa ad un altro programma che si comporterà allo stesso modo, e così via.
Questo tipo di Multitasking è chiamato Cooperative (cooperativo) perché tutti i programmi devono "cooperare" tra loro. Se ciò non avviene, il programma attivo in un determinato momento può monopolizzare la CPU impedendone l'utilizzo da parte delle altre applicazioni.
consente a ciascun programma di controllare la CPU per tutto il tempo necessario.
Mini Glossario
Background Ambiente in cui si realizzano compiti secondari in aggiunta a quello centrale eseguito dal computer.
Foreground Ambiente in cui viene eseguita l'applicazione attiva.
Dunque per concludere quando la CPU passa allo stato inattivo, un altro programma la può utilizzare temporaneamente; questo vale per entrambe le tipologie di multitasking.
Windows 95, Windows NT e UNIX utilizzano il multitasking di tipo preemptive
Windows 3.x e Macintosh sono esempi di multitasking cooperativo.
I sistemi multiutente
sono sistemi in grado di supportare due o più utenti contemporaneamente.
Tutti i mainframe e i minicomputer sono sistemi multiutente; la maggior parte dei personal computer e delle workstation non lo è.
Quindi le macchine di dimensioni più grandi: mainframe e minicomputer, sono stati progettati per l'utilizzo da parte di gruppi di utenti, invece il PC è stato progettato come sistema monoutente.
Un sistema operativo monoutente non ha la necessità di essere sofisticato come un sistema operativo che deve gestire più utenti ed operazioni quali: il blocco, la condivisione di file e la protezione dei dati e degli accessi..
Dunque sia i PC che le macchine di maggiori dimensioni hanno influito sulla scelta del sistema operativo.
|