Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoJosé María Espinoza Plaza Modificato 6 anni fa
1
Informatica per laurea triennale facoltà di medicina LEZIONE 3 Il processore, la memoria e l’esecuzione dei programmi AA 2002/2003 ©Morpurgo,, Zanaboni
2
Struttura hw del computer
Il nucleo di un computer è costituito da 3 principali componenti: Il processore La memoria Le periferiche Interconnesse attraverso il bus AA 2002/2003 ©Morpurgo,, Zanaboni
3
La scheda madre La piattaforma su cui sono montate alcune componenti del PC (processore, memorie, modem interno) è detta scheda madre (mother board). La scheda madre contiene slot liberi per l’eventuale aggiunta di memoria supplementare o di co-processori (es: scheda video) Contiene alcune prese (chiamate porte) per il collegamento di periferiche esterne (es: schermo, tastiera, modem esterno). AA 2002/2003 ©Morpurgo,, Zanaboni
4
La scheda madre Memoria bus processore Interfccia alle periferiche
©Morpurgo,, Zanaboni
5
IL PROCESSORE AA 2002/2003 ©Morpurgo,, Zanaboni
6
Il processore - chip Il processore è l’unità di elaborazione centrale (CPU: central processing unit) del computer. Oggi le CPU sono costituite da circuiti che contengono milioni di microscopici interruttori acceso/spento (i transistor) collegati tra loro da sottilissimi fili. I circuiti vengono “stampati” su una sottile lamina di silicio. Il chip che corrisponde a una CPU ha una superficie dell’ordine dei mm2. AA 2002/2003 ©Morpurgo,, Zanaboni
7
Il processore - chip Pertanto oggi si parla di microprocessore costituito da circuiti integrati: milioni di elementi tra loro collegati contenuti in una superficie quasi microscopica. AA 2002/2003 ©Morpurgo,, Zanaboni
8
Il processore AA 2002/2003 ©Morpurgo,, Zanaboni
9
Il linguaggio macchina
Il processore è in grado di riconoscere (e quindi di eseguire) solo programmi scritti in un proprio linguaggio (linguaggio macchina) Ogni modello di processore (es: Intel, Pentium, Motorola, PowerPC) ha un proprio linguaggio macchina diverso da quello degli altri processori AA 2002/2003 ©Morpurgo,, Zanaboni
10
Il processore - clock In corrispondenza di ogni istruzione espressa nel linguaggio macchina il processore svolge una serie di operazioni elementari (il ciclo della macchina). Il numero operazioni elementari svolte per ogni istruzione dipende dal tipo di processore (tra le 7 e le 10). AA 2002/2003 ©Morpurgo,, Zanaboni
11
Il processore - clock Il tempo impiegato dal processore per eseguire una operazione elementare è detto durata del ciclo di clock Il numero di operazioni elementari svolte dal processore in una unità di tempo (cioè il numero di cicli di clock al secondo) è la frequenza di clock AA 2002/2003 ©Morpurgo,, Zanaboni
12
Il processore - clock Quindi: 1 Frequenza di clock =
Durata di un ciclo di clock E’ un indicatore della “velocità” del processore nell’eseguire i programmi. Oggi si misura in Mhz (MegaHertz). 1 Mhz = 1 milione di cicli al secondo. AA 2002/2003 ©Morpurgo,, Zanaboni
13
Il processore - clock Dati due processori con lo stesso linguaggio macchina sarà più veloce quello con frequenza di clock maggiore Non è possibile fare un confronto tra processori con linguaggi macchina diversi AA 2002/2003 ©Morpurgo,, Zanaboni
14
Il processore - clock Esempio Computer A Clock : 500MHz
Linguaggio macchina richiede 10 operazioni elementari per istruzione Computer B Clock : 400MHz Linguaggio macchina richiede 6 operazioni elementari per istruzione Devono eseguire un programma di 100M istruzioni macchina A impiegherà 2 sec. B impiegherà 1,5 sec. AA 2002/2003 ©Morpurgo,, Zanaboni
15
Ciclo della macchina Le attività principali svolte dal computer quando deve eseguire un programma sono: Trasferimento del programma (già scritto in linguaggio macchina) in una memoria di lavoro (la memoria centrale), alla quale il processore può accedere velocemente Per ogni istruzione del programma esecuzione di tre tipi di operazioni, che costituiscono il ciclo della macchina: AA 2002/2003 ©Morpurgo,, Zanaboni
16
Ciclo della macchina Lettura (fetch)– il processore reperisce dalla memoria l’istruzione da eseguire Decodifica (decode) – il processore identifica l’istruzione da eseguire Esecuzione (exec) – il processore esegue le operazioni corrispondenti all’istruzione AA 2002/2003 ©Morpurgo,, Zanaboni
17
Il processore - registri
Per eseguire le operazioni elementari il processore ha bisogno di utilizzare delle memorie (di piccole dimensioni) alle quale accedere in modo veloce (es: una zona che contiene l’indirizzo dell’istruzione da eseguire, una per i dati su cui l’istruzione opera) Queste memorie, che fisicamente sono contenute nel chip, sono chiamate registri del processore AA 2002/2003 ©Morpurgo,, Zanaboni
18
Memoria processore … registro registro registro
Interfccia alle periferiche AA 2002/2003 ©Morpurgo,, Zanaboni
19
Sistemi con più processori I co-processori
A seconda del tipo di uso che l’utente fa del computer, per velocizzarne le prestazioni si possono aggiungere dei co-processori. Questi sono processori specializzati nell’esecuzione di compiti specifici (es: gestione dello schermo) che operano sotto il controllo della CPU. AA 2002/2003 ©Morpurgo,, Zanaboni
20
Memoria processore … co-processore registro registro registro
Interfccia alle periferiche AA 2002/2003 ©Morpurgo,, Zanaboni
21
Sistemi con più processori Sistemi paralleli
I sistemi paralleli sono sistemi con più CPU che operano in modo indipendente e condividono le altre risorse del computer. Il coordinamento dei diversi processori è demandato al sistema operativo. La velocità del computer risulta aumentata ma non moltiplicata, perché non è trascurabile il tempo che il sistema operativo deve dedicare al coordinamento dei processori AA 2002/2003 ©Morpurgo,, Zanaboni
22
processore … Memoria processore … registro registro registro registro
Interfccia alle periferiche AA 2002/2003 ©Morpurgo,, Zanaboni
23
Sistemi distribuiti Le reti informatiche permettono di condividere risorse hw e sw presenti in luoghi geografici diversi. Si parlerà delle reti più avanti nel corso. AA 2002/2003 ©Morpurgo,, Zanaboni
24
LA MEMORIA AA 2002/2003 ©Morpurgo,, Zanaboni
25
La memoria La memoria è la componente che svolge la funzione di magazzino delle informazioni sulle quali opera il processore L’unità di informazione minima è il bit (binary unit). Consideriamola come una casella nella quale possiamo scrivere il simbolo 0 oppure il simbolo 1. AA 2002/2003 ©Morpurgo,, Zanaboni
26
La memoria-il bit Avendo a disposizione un solo bit si possono rappresentare due elementi diversi: Si assegna al primo elemento la codifica 0 e al secondo la codifica 1 Avendo a disposizione due bit si possono rappresentare quattro elementi diversi, assegnando a ciascuno una codifica diversa: 00, 01, 10, 11 AA 2002/2003 ©Morpurgo,, Zanaboni
27
La memoria-il bit Avendo a disposizione tre bit si possono rappresentare otto elementi diversi. .… Avendo a disposizione n bit si possono rappresentare 2n elementi diversi. AA 2002/2003 ©Morpurgo,, Zanaboni
28
La memoria-il byte Agli albori dell’informatica c’era l’esigenza di rappresentare i caratteri stampabili (le lettere dell’alfabeto, le cifre da 0 a 9, lo spazio, la virgola etc…) per un numero totale di caratteri compreso tra 90 e 120. Per poter rappresentare 128 elementi diversi servono almeno 7 bit (27=128). E’ bene avere a disposizione un bit supplementare poter effettuare controlli sulla sequenza AA 2002/2003 ©Morpurgo,, Zanaboni
29
La memoria-il byte Quindi per rappresentare i caratteri stampabili è necessaria una sequenza di 7+1=8 bit. Una sequenza di 8 bit è detta byte, ed è diventata una unità di misura della occupazione di memoria. AA 2002/2003 ©Morpurgo,, Zanaboni
30
La memoria-il byte BYTE = b 1 1 1 1 1 BIT AA 2002/2003
1 1 1 1 BIT AA 2002/2003 ©Morpurgo,, Zanaboni
31
Le celle di memoria AA 2002/2003 ©Morpurgo,, Zanaboni
32
Le celle di memoria Ogni cella di memoria contiene un byte, ed è contraddistinta da un indirizzo Volendo scrivere o leggere un dato dalla memoria il processore deve sempre specificare l’indirizzo della cella alla quale vuole accedere AA 2002/2003 ©Morpurgo,, Zanaboni
33
La memoria-unità di misura
Le dimensioni di una memoria si misurano in: Kbyte (kilo byte)= 210 byte = 1024 byte ≈ 103 byte Mbyte (Mega byte)= 210 Kbyte = 1024 Kbyte= 220 byte ≈ 106 byte Gbyte (Giga byte)= 210 Mbyte =1024 Mbyte = 230 byte ≈ 109 byte Tbyte (Tera byte)= 210 Gbyte =1024 Gbyte = 240 byte ≈ 1012 byte AA 2002/2003 ©Morpurgo,, Zanaboni
34
ESECUZIONE DEI PROGRAMMI
AA 2002/2003 ©Morpurgo,, Zanaboni
35
L’esecuzione dei programmi
La memoria centrale è l’area di lavoro: contiene i programmi in esecuzione in quel momento ed i relativi dati in particolare, contiene sempre la parte del sistema operativo che governa l’utilizzo delle risorse di calcolo L’unità fisica che esegue i programmi in memoria centrale è la CPU (CPU, Central Processing Unit) AA 2002/2003 ©Morpurgo,, Zanaboni
36
L’esecuzione dei programmi
Si dice che un programma ha il controllo della CPU se la CPU sta eseguendo quel programma; impropriamente, diremo che: un programma P svolge un compito per dire che la CPU svolge quel compito sotto il controllo di P AA 2002/2003 ©Morpurgo,, Zanaboni
37
L’esecuzione dei programmi del Sistema Operativo (SO)
Quando il calcolatore è in attesa di comandi, il controllo della CPU è detenuto dal SO, che: gestisce l’interfaccia utente accetta i comandi dell’utente avvia (lancia) l’esecuzione dei programmi applicativi AA 2002/2003 ©Morpurgo,, Zanaboni
38
L’esecuzione di un programma applicativo
La CPU è sotto il controllo del SO, che gestisce l’interfaccia utente L’utente chiede, tramite l’interfaccia, di eseguire, ad esempio, WORD La CPU, sotto il controllo del SO, riconosce la richiesta e carica WORD in memoria centrale inizia ad eseguire WORD L’esecuzione di WORD termina e la CPU riprende ad eseguire il SO; nuovamente sotto il controllo del SO, la CPU è pronta ad accettare nuovi comandi AA 2002/2003 ©Morpurgo,, Zanaboni
39
Ma la situazione è più complessa
In realtà il SO gestisce l’esecuzione di più programmi e più utenti, per cui si hanno più processi e il SO concede la CPU a ciascuno di essi, per piccoli intervalli di tempo, a rotazione o secondo altre politiche tutto ciò è trasparente all’utente e non ce ne occuperemo in questo corso AA 2002/2003 ©Morpurgo,, Zanaboni
40
Funzionamento della CPU
RI (Registro Istruzione) registri PC (Program counter) registro dati 1 … Memoria centrale … … processore … registro dati k CPU AA 2002/2003 ©Morpurgo,, Zanaboni
41
La nostra CPU finta Una CPU può leggere/scrivere il contenuto di una sola cella di memoria alla volta, specificandone l’indirizzo; contiene inoltre dei registri, come area di lavoro veloce la nostra CPU finta contiene i seguenti registri il registro PC (Program counter) che contiene l’indirizzo dell’istruzione da reperire il registro RI, (Registro istruzioni) che contiene l’istruzione da decodificare ed eseguire 4 registri dati il ciclo di esecuzione, nelle sue fasi, avviene come segue AA 2002/2003 ©Morpurgo,, Zanaboni
42
Ciclo della macchina La CPU esegue le istruzioni in memoria centrale ripetendo i seguenti passi (ciclo della macchina): 1) Lettura (fetch) reperisce dalla memoria centrale l’istruzione da eseguire e la carica nel registro istruzioni RI 2) Decodifica (decode) riconosce l’istruzione presente nel RI; 3) Esecuzione (exec) esegue le operazioni dettate da tale istruzione 4) Torna al passo 1) per la lettura della prossima istruzione AA 2002/2003 ©Morpurgo,, Zanaboni
43
Esempio con una CPU finta, che usa la numerazione decimale
La nostra CPU finta usa una memoria centrale indirizzata da 2 cifre decimali, cioè di 100 elementi 013005 Celle di memoria di lunghezza 6 cifre decimali 00 Indirizzi da 00 a 99 012006 01 02 112310 03 021006 999999 04 05 000120 06 000080 …. …….. AA 2002/2003 ©Morpurgo,, Zanaboni
44
Quando inizio il reperimento il PC contiene l’indirizzo
dell’istruzione da eseguire in quel momento In questo esempio è l’istruzione di indirizzo 01 013005 00 registri 012006 01 000000 01 PC 02 112310 1 000120 013005 RI 03 021006 2 000000 999999 04 processore 000000 3 05 000120 06 000080 CPU …. …….. Nel reperimento: la CPU trasferisce l’istruzione da eseguire (di indirizzo 01) nel RI e si ottiene: AA 2002/2003 ©Morpurgo,, Zanaboni
45
che RI contiene l’istruzione da eseguire
013005 00 Registri dati 012006 01 02 PC 000000 02 112310 012006 1 000120 RI 03 021006 2 000000 999999 04 processore 000000 3 05 000120 06 000080 CPU …. …….. il PC punta già alla prossima, di indirizzo 02 ha inizio la decodifica ed esecuzione dell’istruzione in RI AA 2002/2003 ©Morpurgo,, Zanaboni
46
L’esecuzione trasferisce 000080 nel registro 2
Decodifica trasferisci nel registro 2 il dato contenuto nella cella di memoria 06 011005 00 Registri dati 012006 01 02 PC 000000 02 112310 012006 1 000120 RI 03 021006 2 000000 999999 04 processore 000000 3 05 000120 06 000080 CPU …. …….. L’esecuzione trasferisce nel registro 2 AA 2002/2003 ©Morpurgo,, Zanaboni
47
Inizia un nuovo ciclo di esecuzione, che reperisce
011005 00 Registri dati 012006 01 02 PC 000000 02 112310 012006 1 000120 RI 03 021006 2 000080 999999 04 processore 000000 3 05 000120 06 000080 CPU …. …….. Inizia un nuovo ciclo di esecuzione, che reperisce l’istruzione puntata dal PC, ora quella di indirizzo 02, e così via AA 2002/2003 ©Morpurgo,, Zanaboni
48
LA MEMORIA AA 2002/2003 ©Morpurgo,, Zanaboni
49
La memoria- parametri di caratterizzazione
Un dato dispositivo di memoria è caratterizzato da : velocità di accesso, misurata in base al tempo impiegato dal processore per accedere ad uno specificato indirizzo di trasferimento, misurata in base alla quantità di dati trasferita in una unità di tempo. È anche chiamata larghezza di banda, e si misura in bit/sec. oppure byte/sec. AA 2002/2003 ©Morpurgo,, Zanaboni
50
La memoria- parametri di caratterizzazione
capienza, cioè la quantità di byte che può contenere costo, misurato in migliaia di lire per byte modalità di accesso, cioè la possibilità di: reperire le informazioni memorizzate (accesso in lettura) modificare le informazioni memorizzate (accesso in scrittura) AA 2002/2003 ©Morpurgo,, Zanaboni
51
La memoria- parametri di caratterizzazione
volatilità, cioè la possibilità di mantenere il proprio contenuto anche in mancanza di alimentazione elettrica: Le memorie volatili perdono il contenuto in assenza di alimentazione elettrica Le memorie permenenti lo mantengono (non in eterno, ma per un tempo che dipende dal tipo di dispositivo: decenni o più). AA 2002/2003 ©Morpurgo,, Zanaboni
52
La memoria-gerarchia Esiste una dipendenza diretta tra costo di realizzazione e velocità del dispositivo. Per questo motivo la memoria di un computer è distribuita su dispositivi hw diversi, che nel loro insieme costituiscono il sistema di memoria del computer, detto gerarchia di memorie. AA 2002/2003 ©Morpurgo,, Zanaboni
53
La memoria -gerarchia Ai livelli più alti della gerarchia di memorie ci sono le memorie più veloci ma più costose. Ai livelli più bassi ci sono quelle più economiche AA 2002/2003 ©Morpurgo,, Zanaboni
54
La memoria- uso della gerarchia
Se voglio prepararmi un piatto di spaghetti guardo se ne ho nella dispensa; se non ne trovo lì allora devo andare dal panettiere sotto casa perdendo un po’ di tempo in più; se non ne trovo neanche lì devo andare al supermercato, dove perderò ancora più tempo. Analogamente: Quando il processore ha bisogno di un dato, prima guarda se è presente nella memoria veloce cache; se non lo trova lì lo va cercare nella memoria centrale un po’ più lenta , se non c’è neanche lì, lo va a cercare sul disco fisso che ha tempi di accesso e trasferimento superiori. AA 2002/2003 ©Morpurgo,, Zanaboni
55
La memoria -gerarchia I registri del processore (ciascuno di 32 bit )
I livelli di memoria presenti nella configurazione standard di un PC di oggi sono: I registri del processore (ciascuno di 32 bit ) La memoria cache (256 Kbyte) La memoria centrale (128 Mbyte) Il disco fisso (20 Gbyte) I supporti a lettura ottica (CD-ROM) I supporti magnetici (dischetti, zip) AA 2002/2003 ©Morpurgo,, Zanaboni
56
Le memorie volatili Le memorie volatili sono memorie elettroniche, realizzate con la tecnologia dei circuiti integrati (VLSI, very large scale integration) Sono indicate con il termine RAM (Random Access Memory) perché l’accesso ad una cella di memoria richiede un tempo indipendente dalla posizione in cui la cella risiede. La memoria centrale, la cache e i registri del processore sono memorie volatili AA 2002/2003 ©Morpurgo,, Zanaboni
57
Le memorie volatili AA 2002/2003 ©Morpurgo,, Zanaboni
58
Le memorie permanenti Le memorie permanenti si dividono in due classi:
Le memorie di sola lettura (ROM: read only memory), cioè dispositivi il cui contenuto, una volta immagazzinato, è inalterabile. Le memorie di lettura e scrittura, i cui contenuti possono essere letti e anche cambiati nel tempo AA 2002/2003 ©Morpurgo,, Zanaboni
59
Le memorie permanenti Le memorie su supporto magnetico (dischetti, dischi, nastri) Scrittura e lettura Accesso sequenziale e lento Basso costo AA 2002/2003 ©Morpurgo,, Zanaboni
60
Le memorie permanenti Le memorie ottiche (CD-ROM, DVD)
Accesso sequenziale ma veloce Di sola lettura (per il momento) Basso costo AA 2002/2003 ©Morpurgo,, Zanaboni
61
Le memorie permanenti Esiste anche una memoria non volatile realizzata con tecnologia elettronica e di sola lettura: è la ROM, che contiene informazioni di vario tipo che servono per l’esecuzione di particolari funzioni, come l’avvio del computer o la diagnosi del funzionamento delle periferiche. AA 2002/2003 ©Morpurgo,, Zanaboni
62
Memorie: confronti Nota: ns=nanosecondi=10-9 sec. AA 2002/2003
©Morpurgo,, Zanaboni
63
La memoria centrale Quando il computer è spento tutte le informazioni risiedono sul disco fisso. Appena lo si accende tutte le informazioni necessarie al suo funzionamento vengono trasferite dalla ROM e dal disco fisso alla memoria centrale. AA 2002/2003 ©Morpurgo,, Zanaboni
64
La memoria centrale In particolare, il sistema operativo, che a computer spento risiede sul disco fisso, viene copiato nella memoria centrale, e lì ci rimarrà fino a quando verrà spento il computer. Zona riservata al sistema operativo Memoria Centrale Programmi applicativi e dati AA 2002/2003 ©Morpurgo,, Zanaboni
65
La memoria cache La memoria cache è utilizzata come passaggio intermedio tra la memoria centrale e il processore e contiene informazioni che il sistema operativo di volta in volta ritiene più urgenti e utili. AA 2002/2003 ©Morpurgo,, Zanaboni
66
Interfaccia alle periferiche
ROM registro Disco rigido registro processore … bus registro Memoria centrale cache Interfaccia alle periferiche AA 2002/2003 ©Morpurgo,, Zanaboni
67
La memoria virtuale Le dimensioni della memoria centrale sono relativamente piccole, e spesso succede che i programmi applicativi o i file di dati abbiano dimensioni superiori allo spazio disponibile nella RAM. Situazioni di questo tipo si verificano soprattutto quando un utente richiede di lavorare con più di una applicazione “contemporaneamente”. AA 2002/2003 ©Morpurgo,, Zanaboni
68
La memoria virtuale Memoria centrale Sistema operativo Disco fisso
Zona riservata al sistema operativo Non c’è spazio ! Applicazione 1 come gestire questa situazione? Applicazione 2 Applicazione 3 Parte di memoria rimasta libera dati usati da Applicazione 1 dati usati da Applicazione 2 File da caricare in memoria centrale AA 2002/2003 ©Morpurgo,, Zanaboni
69
La memoria virtuale In questi casi il sistema operativo dovrebbe impedire l’apertura di nuovi programmi per mancanza di memoria. Una soluzione meno drastica consiste nel permettere al sistema operativo di utilizzare una zona del disco fisso come “espansione” della memoria centrale, e di usarla come deposito temporaneo di alcune informazioni contenute nella memoria centrale. AA 2002/2003 ©Morpurgo,, Zanaboni
70
La memoria virtuale- swapping
La parte di disco fisso dedicata a questa funzione di memoria virtuale è detta area di swap, e non è accessibile da parte dell’utente. Il sistema operativo sceglie quali parti della memoria centrale scaricare temporaneamente nell’area di swap e quali parti dell’area di swap riportare in memoria centrale AA 2002/2003 ©Morpurgo,, Zanaboni
71
La memoria virtuale-swapping
Memoria centrale Sistema operativo Disco fisso Zona riservata al sistema operativo Applicazione 1 Area di swap Applicazione 2 Trasferiti in area di swap Applicazione 3 dati usati da Applicazione 1 dati usati da Applicazione 2 File da caricare in memoria centrale AA 2002/2003 ©Morpurgo,, Zanaboni
72
La memoria virtuale- swapping
Memoria centrale Sistema operativo Disco fisso Zona riservata al sistema operativo Applicazione 1 Area di swap Applicazione 2 File caricato in memoria centrale Applicazione 3 dati usati da Applicazione 1 dati usati da Applicazione 2 AA 2002/2003 ©Morpurgo,, Zanaboni
73
La memoria virtuale- paging
I problemi non sono completamente risolti se si cerca spazio contiguo nella memoria centrale. Ecco un caso tipico non risolto applicando semplicemente lo swapping: AA 2002/2003 ©Morpurgo,, Zanaboni
74
La memoria virtuale- paging
Memoria centrale Sistema operativo Disco fisso Zona riservata al sistema operativo Spazio sufficiente ce ne sarebbe, ma non contiguo Applicazione 1 Applicazione 3 Parte di memoria rimasta libera dati usati da Applicazione 1 File da caricare in memoria centrale AA 2002/2003 ©Morpurgo,, Zanaboni
75
La memoria virtuale- paging
La soluzione consiste nel gestire i file a pagine, permettendo il trasferimento di alcune pagine dalla e nella memoria centrale al posto dei file interi. AA 2002/2003 ©Morpurgo,, Zanaboni
76
La memoria virtuale- paging
Memoria centrale Sistema operativo Disco fisso Zona riservata al sistema operativo Applicazione 1 Applicazione 3- pag 1 Applicazione 3- pag 2 Applicazione 3- pag 3 Parte di memoria rimasta libera dati usati da Applicazione 1 Applicazione 3- pag 4 File da caricare in memoria centrale AA 2002/2003 ©Morpurgo,, Zanaboni
77
La memoria virtuale- paging
Memoria centrale Sistema operativo Disco fisso Zona riservata al sistema operativo Area di swap Applicazione 1 Applicazione 3- pag 1 Pagine del file caricate in pagine di memoria centrale Applicazione 3- pag 2 Applicazione 3- pag 3 dati usati da Applicazione 1 Applicazione 3- pag 4 AA 2002/2003 ©Morpurgo,, Zanaboni
78
La memoria virtuale La combinazione di paginazione e swapping permette un utilizzo ottimizzato della memoria centrale. Il sistema operativo di volta in volta decide quali pagine scaricare dalla memoria centrale all’area di swap e quali portare dall’area di swap in memoria centrale. AA 2002/2003 ©Morpurgo,, Zanaboni
79
La memoria virtuale L’utente può accorgersi di una page fault (cioè del fatto che la pagina richiesta non è presente nella memoria centrale) durante l’utilizzo di una applicazione, perché percepisce un ritardo tra un comando inviato al computer e la risposta Ciò è dovuto al fatto che l’algoritmo di gestione della memoria è abbastanza complesso. AA 2002/2003 ©Morpurgo,, Zanaboni
80
La memoria virtuale Infatti il sistema operativo deve:
scegliere quali pagine trasferire in base all’uso che l’utente ne sta facendo mantenere aggiornate le tabelle che tengono traccia della corrispondenza tra indirizzi logici (cioè la sequenza di pagine di un dato file) e indirizzi fisici (cioè la loro posizione nella memoria fisica) AA 2002/2003 ©Morpurgo,, Zanaboni
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.