La memoria virtuale. Architettura e funzionamento. Stefano Barlocchi Aesse Service s.r.l. Documentazione tecnica
|
|
- Severina Serena Gigli
- 7 anni fa
- Visualizzazioni
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 E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:
Dettaglimemoria 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.
DettagliEsame 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
DettagliEsame 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
DettagliCorso 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
DettagliIl 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
DettagliGestione 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
DettagliSwapping 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
DettagliSegmentazione. 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
DettagliArchitettura 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
DettagliSistemi 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):
DettagliCorso 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.
DettagliUniversità 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
DettagliAstrazione. 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
DettagliHardware, 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
DettagliUniversità 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
DettagliUniversità 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
DettagliCenni 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
DettagliGESTIONE 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
DettagliSistemi 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
DettagliLezione 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
DettagliCapitolo 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
DettagliMemoria 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)
DettagliArchitettura 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
DettagliSistemi 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
DettagliGestione 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
DettagliCapitolo 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
DettagliSimuliamo 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
DettagliCognome 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
DettagliIl 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
DettagliStruttura 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,
DettagliIL 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
DettagliUniversità 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
DettagliIl 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
DettagliInformatica 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
DettagliBootstrap. 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
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
DettagliLe 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
DettagliRegistri 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
DettagliESERCIZIO 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
DettagliSistemi 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
DettagliCognome 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
DettagliIl 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
DettagliLa 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
DettagliElementi 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
DettagliArchitettura 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
DettagliArchitettura. 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
DettagliGestione 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
DettagliUniversità 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.
DettagliArchitettura 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
Dettaglicorrettezza 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à,
DettagliIl 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
DettagliUniversità 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
DettagliIl 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
DettagliArchitettura 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à
DettagliGestione 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
DettagliSommario 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
DettagliGestione 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
DettagliSistemi 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
DettagliLa 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,
DettagliArchitettura 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
DettagliLa 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
DettagliGestione 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
DettagliLezione 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
DettagliSistemi 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
DettagliSistemi 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
DettagliGestione 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
DettagliIntroduzione 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
DettagliCriteri 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à
DettagliModulo: 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
DettagliGestione 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
DettagliModello 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
DettagliElementi 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
DettagliLaboratorio 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
DettagliLA 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
DettagliArchitettura 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
DettagliSistemi 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
DettagliProgramma 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
DettagliArchitettura 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
DettagliCapitolo 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
DettagliLa 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ù
DettagliMemoria 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
DettagliArchitettura 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,
DettagliComponenti 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
DettagliArchitettura 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
DettagliInformatica 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
DettagliSOLUZIONI 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)
DettagliArchitettura 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
DettagliBasi 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
DettagliLinguaggi 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
DettagliModulo 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
DettagliSistema 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