La memoria virtuale. Architettura e funzionamento. Stefano Barlocchi Aesse Service s.r.l. Documentazione tecnica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "La memoria virtuale. Architettura e funzionamento. Stefano Barlocchi Aesse Service s.r.l. Documentazione tecnica"

Transcript

1 La memoria virtuale Architettura e funzionamento Stefano Barlocchi Aesse Service s.r.l. Documentazione tecnica

2 1 Introduzione L utilizzo di un calcolatore digitale è divenuto oggigiorno una prerogativa riguardante ogni tipo di occupazione, la digitalizzazione delle informazioni è certamente un passo avanti nel settore dei servizi e non solo, ma certamente non è possibile pensare di utilizzare calcolatori di scarse prestazioni per eseguire programmi e, di conseguenza, elaborazioni di media e grande entità. I primi calcolatori elettronici, avevano come unico compito trasformare degli input in un output, seguendo un determinato iter programmatico. I calcolatori che siamo abituati a utilizzare ogni giorno hanno, ovviamente, enormi possibilità di espansione delle funzionalità e delle operazioni che sono eseguibili. Ogni computer attuale ha la capacità di eseguire un sistema operativo, che sia esso open source o closed source, generalmente dotato di un interfaccia grafica, e di una divisione dei software in software di base e applicativi. La grande richiesta di utilizzo dei computer per svolgere diversi tipi di lavoro, ha richiesto una semplificazione dell uso degli stessi, è impensabile al giorno d oggi chiedere ad esempio, ad un architetto, di creare un progetto di un appartamento parlando al computer da riga di comando, sarebbe poco pratico e vanificherebbe lo scopo del computer stesso, ossia ridurre i tempi di esecuzione di un determinato lavoro. Ognuno di noi è abituato a interagire con il computer maggiormente attraverso un interfaccia grafica, di cui ogni sistema operativo consumer è dotato. Anche una funzione come l interfaccia grafica di un sistema operativo, può sembrare scontata e banale all utente medio, ma è incredibile il numero di operazioni che gestiscono questo strato del sistema operativo. Basti solo pensare all aggiornamento della posizione a video del puntatore in base alla posizione fisica relativa della periferica di input: Ogni micro movimento viene registrato da un sensore ottico, che invia informazioni (attraverso meccanismi di trasduzione e codifica) al processore, che deve provvedere a impostare programmaticamente la posizione dei pixel relativi al puntatore. Il sistema operativo, anche in stato di idle (Avviato e in esecuzione solo con i programmi di base, out of the box ) ha in esecuzione un numero elevato di processi di sistema, che occupano memoria. Dalla memoria primaria, dipende quindi la quantità di dati che possono essere prelevati e elaborati dal processore, essa diviene di conseguenza un parametro prestazionale dell elaboratore, in quanto determina le prestazioni in monotasking e, soprattutto, in multitasking.

3 2 Cenni sulla memoria primaria La memoria primaria determina la quantità massima di informazioni (dati) che possono essere prelevate e elaborate dal processore Da questa definizione di base è semplice capire come la memoria primaria sia determinante per le prestazioni di monotasking e multitasking della macchina, i dati da elaborare, infatti, risiedono nella memoria primaria mentre il processore (CPU) esegue le operazioni necessarie sui dati, per poter garantire l output richiesto. Quando ci riferiamo alla memoria primaria, ci riferiamo prevalentemente alla memoria RAM e alla memoria cache, la prima è montata sulla scheda madre (Motherboard) attraverso dei particolari slot (Dimm slots), la seconda, invece, è integrata nei processori abbastanza recenti (prima era esterna al processore, e trovava posto sulla regione superiore della scheda madre). La memoria primaria (che da ora chiameremo semplicemente memoria) è costituita da un elevato numero di celle di memoria, che, elettronicamente parlando, sono dispositivi in grado di assumere due stati alternativi (dispositivi bistabili), all interno delle varie celle di memoria è possibile memorizzare la quantità minima di informazione, che nell informatica è il bit (Binary Digit). Possiamo semplificare la spiegazione delle memorie affermando che tutte hanno la stessa funzione, ogni dispositivo di memorizzazione costituisce, infatti, un insieme di sequenze di bit (word), che sono accessibili (è possibile raggiungerle) tramite il loro indirizzo specifico, a cui spesso, nella documentazione tecnica ci si riferisce con il corrispondente inglese Address. Esistono però dei dati tecnici che diversificano le memorie, e le assegnano a un determinato scopo, o fascia di mercato, questi dati tecnici si riferiscono all insieme dei principi fisici che regolano il funzionamento delle memorie e alla loro tencologia costruttiva. Alcuni esempi di tecnologie costruttive delle memorie sono Memoria Elettromeccanica Memoria cartacea (la scheda perforata ne è un esempio) Memoria Flash (memoria a stato solido) Memoria Ottica (Ad esempio CD/DVD/Blu--Ray ) Un parametro decisamente rilevante che diversifica maggiormente la fascia di mercato a cui una determinata memoria è destinata è il costo. Questo parametro si configura nel costo per ogni bit necessario a memorizzare una determinata informazione.

4 3 Un altro parametro molto importante per la classificazione e la destinazione a determinate fasce di mercato di un dispositivo di memorizzazione, è quella che l utente medio definisce velocità di una memoria, semplificazione colloquiale della corretta definizione tecnica Tempo di accesso. Esiste una relazione proporzionale tra i parametri che abbiamo citato: Maggiore è la capacità di memorizzazione di un supporto, minore è il costo per bit. Maggiore è la capacità di memorizzazione di un supporto, maggiore è il tempo di accesso Abbiamo precedentemente affermato che in un computer attuale, il numero dei processi attivi in un certo istante è maggiore di uno, di conseguenza è semplice dedurre come sia necessaria una elevata capacità di memorizzazione della memoria. E altrettanto semplice dedurre come sia impossibile l utilizzo fluido di un calcolatore dotato di una memoria con un tempo di accesso troppo elevato. Detto questo, si noti la configurazione di un problema sostanziale: il costo delle memorie. Essendo necessaria elevata capacità di memorizzazione, ma anche una discreta velocità (tempo di accesso) delle stesse, aumenta di conseguenza il costo, secondo le relazioni: Maggiore è la capacità di memorizzazione di un supporto, maggiore è il costo Maggiore è la velocità di un supporto, maggiore è il costo La necessità di un elevata capacità di memorizzazione della memoria primaria dipende direttamente dalle potenzialità che i sistemi operativi e i software applicativi attuali hanno, parliamo infatti di gestione di variabili come vettori, matrici a diverse dimensioni e capacità di multitasking o, in alcuni casi, multitasking su piattaforma multi utente avanzate. Ipotizziamo ora di utilizzare una memoria di costo inferiore ma di capacità maggiore come memoria primaria, pensiamo ad esempio di utilizzare un supporto ottico, ad esempio un DVD Double Layer. In questo caso avremmo 8.55 Gb di memoria primaria con un singolo dispositivo di costo ridotto, sappiamo però che la velocità di scrittura e di accesso di questo dispositivo è limitata, come anche le sue capacità di riscrivibilità. Tutti questi fattori rendono impraticabile la nostra ipotesi in un contesto commerciale. Inoltre sappiamo come gli indirizzi di memoria vengano generati in maniera casuale dalla CPU, e di conseguenza un supporto di scasa velocità risulterebbe del tutto inutile.

5 4 Abbiamo affermato che la generazione degli indirizzi da parte del processore è casuale, ma sappiamo anche che questa definizione non è completamente vera, eistono infatti alcuni principi che dimostrano come la generazione degli indirizzi sia prevedibile attraverso dei calcoli di probabilità. Esistono tre principi, che in informatica sono detti principi di localizzazione o località Localizzazione temporale: esiste un elevata probabilità che un programma necessiti di un informazione appena acquisita, ad esempio una variabile temporanea che viene reimpostata. Localizzazione spaziale: esiste un elevata probabilità che un programma necessiti di informazioni che si trovano spazialmente vicine. Localizzazione sequenziale: esiste una probabilità che un istruzione in un programma sia seguita dall istruzione successiva a livello programmatico Questi principi sono fondamentali per l ottimizzazione della memoria, tramite alcuni procedimenti che vedremo successivamente è possibile aumentare la capacità della memoria primaria senza avere la necessità di modificare la tecnologia costruttiva della stessa e, quindi, senza aumentare i costi di produzione. Teoria di base sulla memoria virtuale La memoria virtuale è un metodo di organizzazione, appunto, virtuale, della memoria di lavoro, attraverso il quale lo spazio di memoria utilizzabile dai singoli programmi, risulta di molto superiore alle dimensioni fisiche della memoria di lavoro. Da questa affermazione è semplice dedurre che non è fisicamente possibile scrivere più dati di quelli che il supporto di memoria può ospitare, di conseguenza risulta più chiaro il motivo dell aggettivo virtuale attribuito a questo tipo di organizzazione di memoria. Cito testualmente da Wikipedia la definizione informatica di Virtuale: Il termine virtuale è usato con diversi significati: in informatica è il significato di simulato, non reale La memoria virtuale è infatti una memoria le cui dimensioni sono simulate: se il supporto hardware utilizzato come memoria di lavoro ha una capacità di, ad esempio, 32 Gb, i dati realmente memorizzabili su quel supporto rimangono 32 Gb. I sistemi dotati di memoria virtuale sono equipaggiati con un unità dedicata alla traduzione degli indirizzi logici virtuali (ai quali i programmi e il processore si riferiscono), in indirizzi fisici, che vanno a localizzare una determinata cella di memoria in un determinato luogo fisico nella memoria.

6 5 Questo dispositivo di traduzione è denominato MMU, acronimo del corrispondente inglese della definizione di questo dispositivo, ossia : memory management unit, questa unità per la maggior parte dei casi trova spazio all interno del processore. La memory management unit ha sostanzialmente tre compiti, che sono imperativi per il corretto funzionamento della memoria virtuale: Traduzione dell indirizzo logico in indirizzo fisico Controllo sull esistenza dell indirizzo fisico tradotto Controllo dell eccezione di Page Fault Le funzioni 2 e 3 sono subordinate direttamente alla prima, sono infatti funzioni di controllo e gestione delle eccezioni legate alla traduzione e alla localizzazione fisica dell indirizzo tradotto nella funzione 1, in cui l indirizzo logico al quale la CPU e i processi (programmi) si riferiscono per recuperare una determinata informazione, viene tradotto in un indirizzo fisico, che localizza un informazione fisicamente presente sul supporto di memoria primaria. Nella funzione 2, la MMU ha il compito di verificare se l indirizzo logico, appena tradotto, localizza correttamente un area di memoria tramite un indirizzo fisico, come già riassunto in precedenza, infatti, spesso la memoria virtuale va ad allocare delle celle che non sono fisicamente presenti sulla memoria primaria, celle a cui ci si riferisce con un indirizzo, appunto, logico, non fisico. E quindi necessario controllare se l indirizzo fisico punta a una cella di memoria che è fisicamente presente sul supporto, e che si trova in un area di memoria utilizzabile. Nella funzione 3 la MMU ha il compito di gestire un eccezione legata direttamente alla funzione 2, infatti se la zona di memoria puntata dall indirizzo tradotto nella funzione 2 si trova nell area di swap, la MMU solleva un eccezione di page fault, successivamente il sistema operativo provvede a caricarla in memoria centrale. Problemi legati alla memoria virtuale La memoria virtuale permette un uso più produttivo del calcolatore, rendendo possibile l esecuzione simultanea di più processi, ma certamente ha anche un risvolto negativo sul lato prestazionale della macchina. Come sappiamo, la memoria virtuale, nella funzione 1, deve tradurre l indirizzo logico di riferimento in un indirizzo fisico, localizzabile fisicamente sul supporto di memoria; Questo procedimento richiede un certo tempo di elaborazione, che limita le prestazioni finali della macchina.

7 6 Un accesso normale alla memoria centrale richiederebbe un tempo che è possibile indicare con una singola espressione, ad esempio T a (Tempo accesso). Nel caso di un accesso alla memoria gestita in modo virtuale, invece, sono necessari degli step intermedi che rallentano l accesso, per mettere a confronto i due tempi di accesso ipotizziamo di assegnare un espressione a ogni tempo necessario per le varie operazioni di accesso a memoria virtuale: T tr : Tempo traduzione indirizzi (funzione 1) T car : Tempo di caricamento da swap Pg f : Caso di eccezione Page fault E chiaro che il tempo di accesso T a nel caso della memoria virtuale diventa: T a = T tr + T car E necessario anche tenere conto della probabilità Pg f Il funzionamento della memoria Per gestire una memoria, e renderla utilizzabile dal S.O. e dai processi, esistono sostanzialmente due modalità: Memoria Paginata (o divisa in pagine) Memoria Segmentata (o con possibilità di segmentazione) Nei sistemi attuali, la modalità più utilizzata è la prima, ossia la memoria paginata, non esiste una differenza notevole di prestazioni tra i due sistemi, ma generalmente si preferisce il primo per motivi legati all organizzazione più ordinata delle informazioni memorizzate. Memoria paginata Questo primo metodo mette le sue radici nell organizzazione in pagine, ossia il blocco di word consecutive, tutte di una stessa dimensione fissa (4 o 8 kb), che costituiscono l unità minima di informazione trasferita dalla memoria di massa alla memoria di lavoro, oppure dalla memoria di lavoro alla memoria di massa, nel caso di un operazione di swapping della memoria virtuale. Nella memoria paginata il meccanismo di gestione della memoria stessa è relativamente semplice da comprendere, sia la memoria fisica che la memoria virtuale vengono infatti partizionate in pagine, tutte di dimensione prefissata, e con un sistema di ordinamento delle informazioni identico.

8 7 Il sistema di gestione della memoria paginata sostanzialmente trasferisce singole pagine dalla memoria di massa a quella di lavoro e viceversa. Il vantaggio della memoria paginata è certamente che i programmi che necessitano di effettuare un accesso alla memoria, non necessitano di una particolare struttura programmatica interna che gli dia la possibilità di accedervi in modo diretto. La MMU gestisce, infatti, la corrispondenza tra gli indirizzi logici che il programma richiede e gli indirizzi fisici necessari all accesso al supporto di memoria attraverso registri interni. Questi registri hanno un sostanziale problema, maggiore è la loro dimensione, maggiore è la difficoltà della gestione della corrispondenza tra gli indirizzi, di conseguenza è necessario un aumento della grandezza delle singole pagine, per aumentare le performance, a costo però di uno spreco di memoria. Il funzionamento della memoria virtuale paginata, se si vuole entrare maggiormente nel dettaglio, è basato sull immagine dei vari processi, la stessa viene divisa in pagine di dimensione fissa. Anche la memoria principale, ossia la RAM, è partizionata in sezioni di dimensione uguale, queste sezioni di memoria prendono il nome di page frame. Ogni processo ha in diretta associazione una tabella, che viene mantenuta in memoria principale o secondaria dipendentemente dalle dimensioni della stessa, questa tabella prende il nome di page table. Come sappiamo, una tabella viene gestita tramite righe e colonne; nella page table, ogni riga contiene delle informazioni significative, queste informazioni sono: Numero di pagina (page number) Bit present Bit modified Numero di frame corrispondente Gli indirizzi logici sono rappresentati dai due valori principali: Page number, offset. La traduzione avviene trovando la riga corrispondente al numero di pagina indicato nell indirizzo logico (parametro Page number), successivamente si controlla se il bit present ha valore 0, se sì ci troviamo nella situazione in cui la pagina non è presente in memoria principale, viene quindi sollevato un Page Fault, infine viene generato l indirizzo fisico. Infine, il bit modified è un indicatore di modifica, ha la funzione di indicare se la pagina è stata modificata o meno, questo bit incrementa le prestazioni della macchina, ottimizzando il procedimento di swap.

9 8 Memoria segmentata La memoria segmentata viene gestita maggiormente a livello software, una grande parte del procedimento di segmentazione, è infatti messa in atto dai programmi stessi, che sono strutturati in segmenti. La MMU ha il compito di tenere traccia di quali segmenti sono presenti in memoria, quanti e dove. Il vantaggio di questo tipo di memoria virtuale è il fatto che sfrutti appieno il principio di localizzazione che abbiamo precedentemente descritto, questo fa si che lo spazio di swap sia decisamente meno necessario rispetto all organizzazione paginata della memoria virtuale, i vari segmenti necessari sono infatti già caricati in memoria, e quindi è altamente improbabile che il programma necessiti di recuperare altrove ulteriori segmenti. Lo svantaggio di questo tipo di memoria virtuale è, invece, lo spreco di memoria dovuto alla frammentazione esterna, problema che diviene limitante per le prestazioni della macchina dopo un relativamente lungo periodo di lavoro, la memoria viene allocata e deallocata in blocchi di varie dimensioni e questo procedimento lascia un numero variabile di spazi vuoti, che risultano inutili per allocare ulteriori frammenti, di conseguenza rimangono inutilizzati; Risulta abbastanza semplice capire il problema di scarsa ottimizzazione di questo metodo di organizzazione della memoria virtuale. Per ovviare a questo problema di spreco di memoria si ricorre a un procedimento di compattazione periodica della memoria fisica allocata, questo procedimento si basa su algoritmi di allocazione di memoria pesanti e complessi, di conseguenza, per risolvere un problema, se ne crea un altro, ossia la sensibile diminuizione delle prestazioni della macchina. In questo tipo di organizzazione della memoria, ad ogni processo è associata una tabella dei segmenti, nella quale, ogni voce, rappresenta un segmento del processo, e contiene almeno i campi bit present, bit modified e base address. Gli indirizzi logici sono costituiti da numero di segmento (segment number) e parametro di displacement (displacement). La traduzione degli indirizzi avviene trovando la voce della tabella corrispondente al numero di segmento, se il bit present ha valore 0, il segmento non si trova nella memoria principale, viene sollevata quindi un eccezione simile al Page Fault della memoria paginata, detta Segment Fault, si attente che il segmento venga caricato in memoria, infine si genera l indirizzo fisico sommando il parametro di displacement (dislocamento, spostamento) al base address del segmento in memoria.

10 9 Sostituzione delle pagine in memoria Come abbiamo riassunto in precedenza, uno dei meccanismi più importanti alla base della memoria virtuale è la sostituzione delle pagine. Come abbiamo visto negli approfondimenti riguardanti la memoria paginata, è necessario sostituire le pagine che vengono spostate dalla memoria primaria a quella secondaria. Ovviamente, la sostituzione delle pagine è applicata solo nell ambito della memoria paginata. Come tutte le operazioni informatiche, durante la fase di progettazione di questo sistema è stato necessario sviluppare una strategia di trasferimento efficace ed efficiente. Esistono sostanzialmente tre strategie di scelta della pagina da scaricare: Scelta random Scelta per Least recently used (LRU) Scelta per ordine di caricamento - First in first out (FIFO) Analizziamo ora, brevemente, le tre strategie di scelta della pagina da trasferire. Scelta per casualità (Random) La pagina da scaricare viene scelta in modo casuale, seguento appunto un algoritmo di generazione random di cui cito testualmente la definizione: In relazione al calcolo delle probabilità, casuale, fortuito. Scelta per ordine di utilizzo (LRU) La scelta della pagina da scaricare viene eseguita tramite un algoritmo LRU, che tiene conto di due parametri: l access bit e il dirty bit, entrambi parametri memorizzati nella tabella delle pagine. L obiettivo di questa strategia di scelta è misurare quanto una pagina è anziana per ordine di utilizzo, e questa misurazione avviene attraverso la gestione dell access bit. L access bit viene posto, in fase di caricamento, a valore 0 - Successivamente, ad ogni accesso, il bit viene posto a 1, e periodicamente il sistema operativo riporta il bit a valore 0. Esistono due sotto-strategie di scelta per LRU: Algoritmo LRU di base: sceglie una delle pagine con access bit pari a 0 Quelle con access bit a valore 1 sono quelle utilizzate più di recente Algoritmo LRU avanzato: Il sistema operativo tiene un contatore per ogni pagina Prima dell azzeramento periodico il s.o. incrementa tale contatore per tutte le pagine che

11 10 hanno access bit pari a 0. Infine si sceglie la pagina con access bit a valore 0 e con il valore del contatore più elevato. Scelta per ordine di caricamento (FIFO) La scelta per ordine di caricamento è un tipo di poitica importata da altri ambiti esterni all informatica, viene infatti utilizzata in ambito logistico e di contabilità. Testualmente First in - First Out significa primo che entra, primo che esce Da questa definizione basilare possiamo intuire la reale natura di questa politica; Come detto, il termine FIFO, è nato in ambito di gestione logistica, e solo successivamente è stato importato nell ambito dell elettronica e dell informatica, e rappresenta la modalità di immagazzinamento di oggetti (che siano essi fisici o virtuali) in cui il primo oggetto introdotto è il primo ad uscire. Il metodo FIFO è utilizzato, come già anticipato, nella gestione dei processi in memoria, quindi nella scelta della sostituzione delle memorie nell ambito della memoria paginata, sarà la prima pagina caricata, la prima ad essere scaricata. La tecnica FIFO è sufficientemente efficiente, perché è semplice e di rapida esecuzione da parte dei dispositivi dedicati alla gestione del flusso di dati in memoria. Tuttavia ha lo svantaggio di spostare in memoria secondaria le pagine più vecchie senza tenere conto della loro frequenza d uso da parte dei processi. Tecnica FIFO e Anomalia di Belady Questa tecnica ha un ulteriore svantaggio: Produce infatti la cosiddetta Anomalia di Belady, fenomeno che incrementa sensibilmente la frequenza delle eccezioni di page fault in base all aumento dei frame (pagine di memoria) assegnati ai processi. Anomalia scoperta nel 1969 da Belady e altri suoi collaboratori, afferma che alcune successioni di riferimenti applicate utilizzando gli algoritmi FIFO con una certa quantità di memoria, producono due volte i page fault che con una quantità minore di memoria. Nell anno 2010 è stato dimostrato che è possibile elaborare alcune stringhe, tali da aumentare arbitrariamente il rapporto tra page fault e frame dei processi. Per risolvere questa anomalia, essendo che si verifica solo sugli algoritmi FIFO si è optato per una soluzione molto semplice: passaggio degli algoritmi a stack. Il termine Stack vuol dire letteralmente pila e esprime appieno la strategia che mette in atto, gli oggetti (fisici o virtuali) vengono infatti posizionati l uno sull altro, appunto, in pile. E semplice capire come adottare una strategia FIFO su una pila di oggetti sia improbabile, se non impossibile, di conseguenza un algoritmo a stack è ciò che si definisce Algoritmo LIFO, acronimo di Last In First Out.

12 11 hanno access bit pari a 0. Infine si sceglie la pagina con access bit a valore 0 e con il valore del contatore più elevato. Scelta per ordine di caricamento (FIFO) La scelta per ordine di caricamento è un tipo di poitica importata da altri ambiti esterni all informatica, viene infatti utilizzata in ambito logistico e di contabilità. Testualmente First in - First Out significa primo che entra, primo che esce Da questa definizione basilare possiamo intuire la reale natura di questa politica; Come detto, il termine FIFO, è nato in ambito di gestione logistica, e solo successivamente è stato importato nell ambito dell elettronica e dell informatica, e rappresenta la modalità di immagazzinamento di oggetti (che siano essi fisici o virtuali) in cui il primo oggetto introdotto è il primo ad uscire. Il metodo FIFO è utilizzato, come già anticipato, nella gestione dei processi in memoria, quindi nella scelta della sostituzione delle memorie nell ambito della memoria paginata, sarà la prima pagina caricata, la prima ad essere scaricata. La tecnica FIFO è sufficientemente efficiente, perché è semplice e di rapida esecuzione da parte dei dispositivi dedicati alla gestione del flusso di dati in memoria. Tuttavia ha lo svantaggio di spostare in memoria secondaria le pagine più vecchie senza tenere conto della loro frequenza d uso da parte dei processi. Tecnica FIFO e Anomalia di Belady Questa tecnica ha un ulteriore svantaggio: Produce infatti la cosiddetta Anomalia di Belady, fenomeno che incrementa sensibilmente la frequenza delle eccezioni di page fault in base all aumento dei frame (pagine di memoria) assegnati ai processi. Anomalia scoperta nel 1969 da Belady e altri suoi collaboratori, afferma che alcune successioni di riferimenti applicate utilizzando gli algoritmi FIFO con una certa quantità di memoria, producono due volte i page fault che con una quantità minore di memoria. Nell anno 2010 è stato dimostrato che è possibile elaborare alcune stringhe, tali da aumentare arbitrariamente il rapporto tra page fault e frame dei processi. Per risolvere questa anomalia, essendo che si verifica solo sugli algoritmi FIFO si è optato per una soluzione molto semplice: passaggio degli algoritmi a stack. Il termine Stack vuol dire letteralmente pila e esprime appieno la strategia che mette in atto, gli oggetti (fisici o virtuali) vengono infatti posizionati l uno sull altro, appunto, in pile. E semplice capire come adottare una strategia FIFO su una pila di oggetti sia improbabile, se non impossibile, di conseguenza un algoritmo a stack è ciò che si definisce Algoritmo LIFO, acronimo di Last In First Out.

13 12 Working Set Dopo aver analizzato i principali sistemi di gestione della memoria virtuale, e le strategie di scelta delle pagine da scaricare, concludiamo questo approfondimento con la definizione di Working Set. Si definisce Working Set di ordine K l insieme delle pagine utilizzate negli ultimi K accessi a memoria Per semplificare possiamo dire che il working set di un processo è l insieme delle pagine nello spazio di memoria virtuale relativo a quel processo, che sono in quel momento presenti sulla memoria fisica. Quando un processo fa riferimento, tramite un indirizzo, ad una pagina che non si trova in quel momento all interno del suo working set, viene sollevata un eccezione di page fault. In conclusione, riassiumiamo la gestione dell evento che abbiamo richiamato più volte, ossia il page fault. Innanzitutto è necessario definire con maggiore precisione la natura di questa eccezione: Il page fault è un eccezione trap, generata quando un processo cerca di accedere ad una pagina che, come riassunto in precedenza, non si trova all interno del suo working set. Per dare una rapida spiegazione della gestione di un page fault possiamo dire che il sistema operativo tenta di risolvere il page fault nella maniera più semplice possibile, ossia rendendo accessibile la pagina richiesta nel working set del processo, quindi nella memoria fisica. Esistono un componente hardware e un componente software che hano il compito di rilevare e gestire un page fault. Il componente hardware è il MMU, mentre quello software è il gestore delle eccezioni, che generalmente fa parte del sistema operativo. Per descrivere in modo più approfondito la gestione di un page fault dividiamo il procedimento che viene eseguito in tre operazioni. 1) Controllo della tabella interna del processo, salvata in precedenza con il Process control block (PCB) - questo controllo serve per verificare la legalità dell accesso in memoria, se dal controllo risulta che l accesso era illegale, il processo viene arrestato, al contrario si provvede al caricamento dlela pagina richiesta. 2) Ricerca di un frame libero e sostituzione della pagina (tramite FIFO o LRU) 3) Riavvio dell istruzione che era stata interrotta nel momento in cui era stata sollevata l eccezione di page fault.

14 Scritto da Barlocchi Stefano Revisione del Dicembre 2015 Disponibile presso sezione documentazione tecnica

GESTIONE DELLA MEMORIA CENTRALE

GESTIONE DELLA MEMORIA CENTRALE GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:

Dettagli

memoria virtuale protezione

memoria virtuale protezione Memoria Virtuale Le memorie cache forniscono un accesso veloce ai blocchi di memoria usati più di recente La memoria virtuale fornisce un accesso veloce ai dati sulle memorie di massa usati più di recente.

Dettagli

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN Università degli Studi di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA A.A. 2008/09 Lezione 4 ARCHITETTURA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono

Dettagli

Esame di INFORMATICA Lezione 4

Esame di INFORMATICA Lezione 4 Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Il sottosistema di memorizzazione (memoria) contiene dati + istruzioni, inseriti inizialmente tramite

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T4 3-Gestione della memoria 1 Prerequisiti Rilocazione dinamica Spazio degli indirizzi Descrittore di processo Descrittore della memoria 2 1 Introduzione Una volta conosciute

Dettagli

Il Sistema Operativo Ripasso

Il Sistema Operativo Ripasso ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario Concetti di base Sistema Operativo Risorse Funzioni e Struttura Bootstrap, Kernel, Shell Gestione dei Processi Processo e PCB Algoritmi

Dettagli

Gestione della Memoria Principale

Gestione della Memoria Principale Gestione della Memoria Principale Requisiti della Gestione della Memoria. Gestione a Partizioni Fisse. Partizionamento dinamico. Paginazione. Segmentazione. 1 Gestione della Memoria In un sistema multiprogrammato

Dettagli

Swapping 1. Swapping 2. Gestione della memoria. Strutture di gestione 1. Strutture di gestione 2. Strutture di gestione 3

Swapping 1. Swapping 2. Gestione della memoria. Strutture di gestione 1. Strutture di gestione 2. Strutture di gestione 3 Swapping 1 Gestione della memoria Ricapitolazione e discussione in aula: Claudio Palazzi cpalazzi@math.unipd.it Frammentazione esterna Gestione della memoria (ricapitolazione) Sistemi Operativi - Vardanega

Dettagli

Segmentazione. Gestore della memoria II parte. Segmentazione. Segmentazione: Vantaggi. Segmentazione 07/06/2012. Confronto Paginazione - Segmentazione

Segmentazione. Gestore della memoria II parte. Segmentazione. Segmentazione: Vantaggi. Segmentazione 07/06/2012. Confronto Paginazione - Segmentazione Gestore della memoria II parte La segmentazione come la paginazione prevede di dividere lo spazio di indirizzamento logico del processo(ovvero la memoria necessaria al processo) in più parti Quello che

Dettagli

Architettura hardware

Architettura hardware Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Sistemi operativi e distribuiti

Sistemi operativi e distribuiti Sistemi operativi e distribuiti La memoria Indirizzi fisici e indirizzi logici Importante separazione di concetti Ci permette di separare la parte software da la parte hardware Indirizzo logico (o virtuale):

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-La memoria 1 Prerequisiti Concetto di memoria Dati e istruzioni Bit e byte 2 1 Introduzione In questa Unità studiamo più in dettaglio la memoria del computer e le sue funzioni.

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale

Dettagli

Astrazione. Gestore della memoria. La rilocabilità del codice. Gestore della memoria

Astrazione. Gestore della memoria. La rilocabilità del codice. Gestore della memoria Gestore della memoria E' l'insieme di programmi del sistema operativo che si occupano di gestire la memoria centrale per l'esecuzione (pseudo-parallela) di più processi. 32 MB prog. app.3 prog. app. 2

Dettagli

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 218-219 Pietro Frasca Lezione 17 Martedì 4-12-218 Memoria segmentata Nei sistemi che utilizzano la

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 216-17 Pietro Frasca Lezione 13 Giovedì 24-11-216 Memoria paginata La gestione della memoria fisica

Dettagli

Cenni sull architettura del calcolatore

Cenni sull architettura del calcolatore Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Cenni sull architettura del calcolatore Pietro Di Lena - pietro.dilena@unibo.it hard-ware /h :dwe9 r / n. The part of the computer

Dettagli

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

Sistemi operativi e distribuiti

Sistemi operativi e distribuiti Sistemi operativi e distribuiti La memoria virtuale Memoria Virtuale Separazione della memoria logica da quella fisica Un programma potrebbe risiedere in memoria solo parzialmente Lo spazio di indirizzamento

Dettagli

Lezione 1. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Lezione 1. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 1 Sistemi operativi 4 marzo 2014 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 14 1.1 Di cosa parliamo in questa lezione? È una introduzione generale ai sistemi

Dettagli

Capitolo 8 - Silberschatz

Capitolo 8 - Silberschatz Gestione della memoria centrale Capitolo 8 - Silberschatz Background Un programma in genere risiede su disco in forma di un file binario eseguibile e deve essere portato (dal disco) in memoria e inserito

Dettagli

Memoria virtuale. Daniele Loiacono, Vittorio Zaccaria

Memoria virtuale. Daniele Loiacono, Vittorio Zaccaria Memoria virtuale Daniele Loiacono, Vittorio Zaccaria Informatica B - Codice Corso: 081369 - A.A. 2010/2011 INGEGNERIA MECCANICA (BV) - INGEGNERIA IV (1 liv.) - Scaglione S - Z INGEGNERIA ENERGETICA (BV)

Dettagli

Architettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus

Architettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus Architettura del calcolatore Calcolatori (1) Introdotti all'inizio degli anni 1940 Costruiti assemblano componenti elettronici elementari per memorizzare informazioni ed eseguire programmi informazioni

Dettagli

Sistemi Operativi 1. Mattia Monga. 3 giugno Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi 1. Mattia Monga. 3 giugno Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 3 giugno 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Gestione della memoria per sistemi multiprogrammati. Obiettivi. Partizioni fisse. Partizioni fisse. Fondamenti di Informatica

Gestione della memoria per sistemi multiprogrammati. Obiettivi. Partizioni fisse. Partizioni fisse. Fondamenti di Informatica FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione della memoria centrale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

Capitolo 4 Gestione della Memoria

Capitolo 4 Gestione della Memoria Capitolo 4 Gestione della Memoria 4.1 Introduzione alla gestione della memoria 4.2 Swapping 4.3 Memoria virtuale 4.4 Implementazione 4.5 Algoritmi di sostituzione 4.6 Criteri di progetto per la paginazione

Dettagli

Simuliamo ora il funzionamento di LRU sulla reference string data:

Simuliamo ora il funzionamento di LRU sulla reference string data: 1. Un computer ha quattro frame, i cui istanti di caricamento, di ultimo riferimento e i reference bit sono riportati nella seguente tabella: Frame Caric. Rifer. R 2 135 287 1 1 240 250 1 0 169 253 0 3

Dettagli

Cognome e nome: Matricola: Posto:

Cognome e nome: Matricola: Posto: Quesito 1: (+0,5 punti per ogni risposta esatta; -0,25 punti per ogni risposta sbagliata; 0 punti se lasciata in bianco) DOMANDA ero/also La tecnica di allocazione contigua è soggetta al problema della

Dettagli

Il computer P R O F. L O R E N Z O P A R I S I

Il computer P R O F. L O R E N Z O P A R I S I Il computer P R O F. L O R E N Z O P A R I S I Un po di storia Le prime macchine per il calcolo automatico risalgono al 1940. Il calcolatore più potente di quel periodo era l ENIAC, in grado di svolgere

Dettagli

Struttura di un sistema di elaborazione. SDE: basi. Descrizione dei componenti (2) Descrizione delle componenti

Struttura di un sistema di elaborazione. SDE: basi. Descrizione dei componenti (2) Descrizione delle componenti Struttura di un sistema di elaborazione Architettura di Von Neumann Componenti Hardware di un SDE Processo e Processore CPU Memoria Centrale SDE: basi Un SDE è formato da elementi di natura diversa (elettrica,

Dettagli

IL SISTEMA OPERATIVO

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE La gestione delle periferiche

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 11 Giovedì 17-11-2016 1 Gestione della memoria La memoria principale

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali Indice Architettura Gestione dei processi Gestione della memoria centrale Driver Gestione dei file 2 1 Il sistema operativo E uno

Dettagli

Informatica giuridica

Informatica giuridica Informatica giuridica Corso di laurea in Scienze dei Servizi giuridici Corso di laurea magistrale in Giurisprudenza A.A. 2015/16 L architettura hardware degli elaboratori La scheda madre Memoria principale

Dettagli

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO: Bootstrap Bootstrap All accensione di un calcolatore vengono attivati programmi di diagnostica scritti nella ROM (Read Only Memory) che verificano l assenza di guasti Poi viene attivato il programma di

Dettagli

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3

Dettagli

Le memorie Cache n-associative

Le memorie Cache n-associative Le memorie Cache n-associative Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson: 5.2, 5.3 1/30 Sommario

Dettagli

Registri della CPU. Memoria Centrale. Memoria di Massa. Memorie di altri sistemi in rete

Registri della CPU. Memoria Centrale. Memoria di Massa. Memorie di altri sistemi in rete + Veloce + Vicina alla CPU + Costosa Registri della CPU Memoria cache di primo livello sul microprocessore L1 - Capiente Memoria cache di secondo livello sul microprocessore L2 Memoria Centrale - Veloce

Dettagli

ESERCIZIO M-1 Rilocazione statica con caricamento in partizioni fisse

ESERCIZIO M-1 Rilocazione statica con caricamento in partizioni fisse ESERCIZIO M-1 Rilocazione statica con caricamento in partizioni fisse In un sistema operativo che utilizza la rilocazione statica e gestisce la memoria con partizioni fisse, la memoria fisica ha un ampiezza

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 Programma del corso Informatica di

Dettagli

Cognome e nome: Matricola: Posto: Regole dell'esame.

Cognome e nome: Matricola: Posto: Regole dell'esame. Regole dell'esame. Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 60 min dalla sua presentazione. Non è consentita la consultazione di libri o appunti in forma

Dettagli

Il supporto al sistema operativo

Il supporto al sistema operativo Politecnico di Milano Il supporto al sistema operativo Prof. Mariagiovanna Sami sami@elet.polimi.it 2007- Obiettivi e Funzioni Perché introdurre il sistema operativo? Convenienza Rende più facile usare

Dettagli

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni La memoriaparametri 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

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come

Dettagli

Architettura di Von Neumann

Architettura di Von Neumann Architettura di Von Neumann L architettura è ancora quella classica sviluppata da Von Neumann nel 1947. L architettura di Von Neumann riflette le funzionalità richieste da un elaboratore: memorizzare i

Dettagli

Architettura. Argomenti. Modello di Von Neumann. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Antonio Coronato. Modello di Von Neumann

Architettura. Argomenti. Modello di Von Neumann. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Antonio Coronato. Modello di Von Neumann Architettura Corso di Laurea in Ingegneria Biomedica aa 2003/2004 Ing. Antonio Coronato 1 Argomenti Modello di Von Neumann, Bus, Memoria centrale e dispositivi Data Path delle architetture di Von Neumann

Dettagli

Gestione della memoria. Introduzione Swapping Allocazione contigua Paginazione

Gestione della memoria. Introduzione Swapping Allocazione contigua Paginazione Gestione della memoria Introduzione Swapping Allocazione contigua Paginazione Introduzione In un sistema monoprogrammato la memoria centrale è divisa in due parti: una per il sistema operativo, l altra

Dettagli

Università degli Studi di Padova - Corso di Laurea in Informatica

Università degli Studi di Padova - Corso di Laurea in Informatica Università degli Studi di Padova - Corso di Laurea in Informatica Regole dell'esame Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 45 min dalla sua presentazione.

Dettagli

Architettura dei sistemi di elaborazione: La memoria (parte 2)

Architettura dei sistemi di elaborazione: La memoria (parte 2) Architettura dei sistemi di elaborazione: La memoria (parte 2) La cache è una memoria veloce e di piccole dimensioni posta fra la CPU e la memoria principale. Memoria Cache La cache e la memoria principale

Dettagli

correttezza e precisione; anywhere, anytime; affidabilità, disponibilità e sicurezza dei sistemi; riservatezza dei dati; interoperabilità fra

correttezza e precisione; anywhere, anytime; affidabilità, disponibilità e sicurezza dei sistemi; riservatezza dei dati; interoperabilità fra Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precisione; anywhere, anytime; affidabilità,

Dettagli

Il computer P R O F. L O R E N Z O P A R I S I

Il computer P R O F. L O R E N Z O P A R I S I Il computer U T I L I Z Z O D E L P C E D O F F I C E A U T O M A T I O N P R O F. L O R E N Z O P A R I S I Un po di storia Le prime macchine per il calcolo automatico risalgono al 1940. Il calcolatore

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 205-6 Pietro Frasca Lezione 3 Martedì 7--205 Paginazione su richiesta Con la tecnica della paginazione

Dettagli

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione

Dettagli

Architettura di von Neumann

Architettura di von Neumann Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Architettura di von Neumann Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università

Dettagli

Gestione della memoria

Gestione della memoria Gestione della memoria centrale Gestione della memoria Concetti generali. Swapping. Allocazione contigua di memoria. Paginazione. Segmentazione. Segmentazione con paginazione. Esempio: Pentium Intel Background

Dettagli

Sommario FONDAMENTI DI INFORMATICA. Schema dell'architettura a livelli del SO. Il Sistema Operativo (SO) SISTEMI OPERATIVI

Sommario FONDAMENTI DI INFORMATICA. Schema dell'architettura a livelli del SO. Il Sistema Operativo (SO) SISTEMI OPERATIVI Università degli Studi di Cagliari Corsi di Laurea in Ingegneria Chimica e Ingegneria Meccanica FONDAMENTI DI INFORMATICA http://www.diee.unica.it/~marcialis/fi A.A. 217/218 Docente: Gian Luca Marcialis

Dettagli

Gestione della Memoria

Gestione della Memoria Gestione della Memoria Informatica B Il modello della memoria 2 E un modello lineare La memoria è una sequenza di celle numerate da 0 fino a un valore massimo M Il numero che identifica ogni cella è detto

Dettagli

Sistemi Operativi Esercizi Gestione Memoria

Sistemi Operativi Esercizi Gestione Memoria Sistemi Operativi Esercizi Gestione Memoria Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides ad A. Memo e T. Vardanega Sistemi Operativi - C. Palazzi 64 Esercizio 1 Dato un

Dettagli

La memoria cache. Informatica generale

La memoria cache. Informatica generale La memoria cache Nello schema di funzionamento di un calcolatore il processore continuamente preleva informazioni ed istruzioni dalla memoria centrale e scrive in essa informazioni La memoria centrale,

Dettagli

Architettura dei Sistemi Informatici

Architettura dei Sistemi Informatici Sistemi di Calcolo Architettura dei Sistemi Informatici Sistemi informatici PC, terminali e reti Architettura insieme delle componenti del sistema, descrizione delle loro funzionalità e della loro interazione

Dettagli

La gerarchia delle memorie

La gerarchia delle memorie La gerarchia delle memorie Gestione della memoria Ogni processo, per avanzare necessità che il relativo programma risieda nella memoria centrale, Tale programma è costituito da memoria e dati. Lo spazio

Dettagli

Gestione della memoria centrale. Marco Cesati. Schema della lezione. Memoria centrale. Linux su Intel IA-32 SO Gestione della memoria centrale

Gestione della memoria centrale. Marco Cesati. Schema della lezione. Memoria centrale. Linux su Intel IA-32 SO Gestione della memoria centrale Di cosa parliamo in questa lezione? Lezione 7 La gestione della Sistemi operativi 1 Schemi di indirizzamento della 2 La segmentazione 3 La paginazione 9 maggio 2017 4 System Programming Research Group

Dettagli

Lezione 7. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Lezione 7. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 7 Sistemi operativi 9 maggio 2017 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 17 7.1 Di cosa parliamo in questa lezione? La gestione della 1 Schemi di indirizzamento

Dettagli

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it monoprogrammati multiprogrammati a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi

Dettagli

Sistemi Operativi. Bruschi Martignoni Monga. Gestione della memoria. Sistemi multiprogrammati. Partizioni fisse Partizioni variabili Paginazione

Sistemi Operativi. Bruschi Martignoni Monga. Gestione della memoria. Sistemi multiprogrammati. Partizioni fisse Partizioni variabili Paginazione 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it monoprogrammati multiprogrammati Lezione XXXIII: monoprogrammati multiprogrammati a.a. 2008/09

Dettagli

Gestione della memoria

Gestione della memoria Gestione della memoria Gestione della memoria In un sistema multiprogrammato il numero di processi è > del numero di processori, ciò implica: unità di elaborazione virtuale memoria virtuale Un gestore

Dettagli

Introduzione alle memorie cache. Sommario

Introduzione alle memorie cache. Sommario Introduzione alle memorie cache Corso ACSO prof. Cristina SILVANO Politecnico di Milano Cristina Silvano, 0/0/200 Sommario Obiettivo Livelli della gerarchia di memoria Memoria cache: concetti base Architettura

Dettagli

Criteri di caratterizzazione di una memoria

Criteri di caratterizzazione di una memoria La memoria Supporto alla CPU: deve fornire alla CPU dati e istruzioni il più rapidamente possibile; Archivio: deve consentire di archiviare dati e programmi garantendone la conservazione e la reperibilità

Dettagli

Modulo: Elementi di Informatica

Modulo: Elementi di Informatica ARCHITETTURA DI VON NEUMANN Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Fisica medica e statistica Modulo: Elementi di Informatica A.A. 2009/10 Lezione

Dettagli

Gestione della memoria centrale. Capitolo 8 - Silberschatz

Gestione della memoria centrale. Capitolo 8 - Silberschatz Gestione della memoria centrale Capitolo 8 - Silberschatz Background Un programma in genere risiede su disco in forma di un file binario eseguibile e deve essere portato (dal disco) in memoria e inserito

Dettagli

Modello di von Neumann

Modello di von Neumann Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica 1 Interfaccia Periferica 2 Codifica dei dati e delle istruzioni La più piccola unità di informazione memorizzabile

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come

Dettagli

Laboratorio di Sistemi Operativi Simulatori

Laboratorio di Sistemi Operativi Simulatori Laboratorio di Sistemi Operativi Simulatori Simulatori SGPEMv2 della Dueffe Simulatore di Gestione di Processi in un Elaboratore Programmato. Analizza l'ordinamento dei processi e dei meccanismi di gestione

Dettagli

LA GESTIONE DELLA I/O

LA GESTIONE DELLA I/O LA GESTIONE DELLA I/O Il S.O. È l interfaccia tra l hardware e i programmi che effettuano richieste di I/O Sottosistema di I/O strutturato in moduli chiamati DRIVER uno per ogni dispositivo I Driver rendono

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Sistemi operativi 2/ed Paolo Ancilotti, Maurelio Boari, Anna Ciampolini, Giuseppe Lipari Copyright 2008 The McGraw-Hill Companies srl

Sistemi operativi 2/ed Paolo Ancilotti, Maurelio Boari, Anna Ciampolini, Giuseppe Lipari Copyright 2008 The McGraw-Hill Companies srl SOLUZIONI DEI PROBLEMI DEL CAPITOLO 4. Soluzione: Adottando lo schema best-fit la partizione libera utilizzata per allocare un segmento di dimensione pari a 56 byte è quella le cui dimensioni siano le

Dettagli

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Programma del corso Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Cos è un Calcolatore? Un computer (calcolatore) è una macchina

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale la memoria secondaria i dispositivi di input/output 1 Fornisce la capacità di

Dettagli

Capitolo 6 Le infrastrutture SoftWare

Capitolo 6 Le infrastrutture SoftWare Capitolo 6 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: garantire la correttezza e la precisione nell elaborazione

Dettagli

La memoria virtuale. Calcolatori Elettronici. Valeria Cardellini Rielaborate da Salvatore Tucci

La memoria virtuale. Calcolatori Elettronici. Valeria Cardellini Rielaborate da Salvatore Tucci La memoria virtuale Calcolatori Elettronici Valeria Cardellini Rielaborate da Salvatore Tucci La gerarchia di memorie Registri Istruzioni, operandi L Cache Blocchi Nelle lezioni L2 Cache precedenti{ Più

Dettagli

Memoria Virtuale. Sommario. Introduzione Paginazione su domanda. Rimpiazzamento delle pagine Allocazione dei frame

Memoria Virtuale. Sommario. Introduzione Paginazione su domanda. Rimpiazzamento delle pagine Allocazione dei frame Memoria Virtuale Sommario Introduzione Paginazione su domanda Rimpiazzamento delle pagine Allocazione dei frame 1 Introduzione Caratteristica degli schemi precedenti per la gestione della memoria: l intero

Dettagli

Architettura degli Elaboratori - Correzione Appello del 18 luglio 2006, A.A. 2005/06

Architettura degli Elaboratori - Correzione Appello del 18 luglio 2006, A.A. 2005/06 Architettura degli Elaboratori - Correzione Appello del 18 luglio 2006, A.A. 2005/06 Domanda 1 Una unità di elaborazione U, avente ciclo di clock τ, è collegata ad una memoria interallacciata con 8 moduli,

Dettagli

Componenti principali

Componenti principali Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria

Dettagli

Architettura di un elaboratore

Architettura di un elaboratore Informatica 1 Hardware e Software ing. Luigi Puzone 1 Architettura di un elaboratore Architettura organizzazione logica dei componenti interni della macchina modo in cui questi componenti cooperano per

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Funzionamento macchina di von Neumann clock Memoria Centrale: Tutta l informazione prima di essere

Dettagli

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 28 Settembre 2006

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 28 Settembre 2006 SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI NUOVO E VECCHIO ORDINAMENTO DIDATTICO 28 Settembre 26 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (8 punti)

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La

Dettagli

Basi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Basi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Struttura DBMS Gestore delle interrogazioni Decide le strategie di accesso ai dati per rispondere alle interrogazioni Gestore

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione Linguaggi di Programmazione Programmazione. Insieme delle attività e tecniche svolte per creare un programma (codice sorgente) da far eseguire ad un computer. Che lingua comprende

Dettagli

Modulo 1: Le I.C.T. UD 1.4b: Anatomia del Computer

Modulo 1: Le I.C.T. UD 1.4b: Anatomia del Computer Modulo 1: Le I.C.T. : Anatomia del Computer Prof. Alberto Postiglione Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università degli Studi di Salerno ANATOMIA

Dettagli

Sistema operativo. Interazione con il SO

Sistema operativo. Interazione con il SO Sistema operativo Il sistema operativo (SO) è un insieme complesso di programmi che, in modo coordinato, controlla le risorse del sistema e i processi che usano queste risorse. Per evidenziare le funzionalità

Dettagli