Lezione T17 Algoritmi di sostituzione delle pagine
|
|
- Patrizia Di Mauro
- 7 anni fa
- Visualizzazioni
Transcript
1 Lezione T17 Algoritmi di sostituzione delle pagine Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2013/2014 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio Emilia 1
2 Quote of the day (Meditate, gente, meditate...) The running time of programs in a paging machine generally increases as the store in which programs are constrained to run decreases. Experiments, however, have revealed cases in which the reverse is true: a decrease in the size of the store is accompanied by a decrease in running time. Laszlo Belady (1928-) Ingegnere meccanico ed aeronautico Pioniere degli algoritmi di caching 2
3 INTRODUZIONE 3
4 Il modello di sistema considerato (Lo scenario su cui valutare gli algoritmi) Si consideri un sistema con le seguenti caratteristiche. SO con demand paging e sostituzione delle pagine. Esiste un solo tipo di page fault: il major page fault. Tre frame rimasti liberi da allocare. Il SO è soggetto alla sequenza di accessi alle pagine (indirizzi semplificati) 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 4
5 Gli algoritmi considerati (FIFO è il peggiore, come al solito) FIFO. Ottimale. LRU. Approssimazioni di LRU. 5
6 Criterio di valutazione (Numero di page fault) Il criterio di valutazione è il numero di page fault. Tanto è minore il numero di page fault, tanto più efficace è l'algoritmo. 6
7 ALGORITMO FIFO 7
8 First In, First Out (La pagina vittima è quella presente in memoria da più tempo) Funzionamento: Ad ogni pagina si associa l'istante temporale (timestamp) di caricamento in memoria. Non è necessario calcolare esplicitamente il timestamp; si può costruire una coda FIFO con I puntatori alle strutture delle pagine inserite in memoria. La pagina vittima è quella presente in memoria centrale da più tempo (o in testa alla coda). Quando una pagina è acceduta, viene inserita in fondo alla coda. T17-simulazione-FIFO_luc.pdf 8
9 FIFO: vantaggi (Perché implementare ed usare FIFO) È un algoritmo semplice da implementare. Il più semplice. È eseguibile su piattaforme hardware non dotate di clock hardware. 9
10 FIFO: svantaggi (Perché NON implementare e NON usare FIFO) Le prestazioni sono pessime se la memoria è acceduta ciclicamente con frequenza minore rispetto a quella di rimpiazzo. L'algoritmo FIFO soffre di una particolare anomalia, detta anomalia di Belady. 10
11 Anomalia di Belady (La frequenza di page fault aumenta con il numero di frame liberi) Anomalia di Belady: la frequenza di page fault può aumentare con il numero di frame disponibili al SO. Fenomeno scoperto nel 1969 da un ricercatore ungherese, Laszlo Belady. Risultato controintuitivo: se si ha più memoria libera, ci si aspetta di ridurre i page fault! 11
12 Un esperimento (Che mostra l'anomalia in azione) Si consideri la sequenza di riferimenti: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 Tale sequenza presenza un pattern di accesso ciclico ad 1, 2, 3 e 4, opportunamente distanziato. Si calcola il numero di page fault (sostituzioni) ottenuti dando in pasto la sequenza di riferimenti a FIFO con 1, 2, 3, 4, frame liberi. T17-simulazione-Belady.odp 12
13 Visualizzazione dell'anomalia (Salta subito agli occhi) Si grafica il numero di page fault ottenuti in ciascun esperimento, in funzione del numero di frame liberi. Si dovrebbe vedere una zona per cui il grafico è crescente. 13
14 Frequenza page fault vs. frame liberi Numero di page fault (Eccolo, il grafico) All'aumentare del numero di frame liberi, il numero di page fault aumenta! Numero di frame liberi 14
15 Perché si verifica l'anomalia? (Accesso ciclico distanziato + FIFO senza memoria = page fault continui) Un processo richiede consecutivamente un insieme di pagine in maniera ciclica. L'insieme delle pagine richieste ciclicamente ha una dimensione uguale o maggiore del numero di frame fisici liberi. Le sequenze cicliche sono distanziate in modo tale che FIFO perda memoria delle pagine accedute in precedenza. Può capitare che FIFO stronchi di continuo le pagine accedute al passo successivo. Con il numero di frame può aumentare anche il 15 numero di sostituzioni (page fault).
16 ALGORITMO OTTIMALE 16
17 OPT (La pagina vittima è quella che sarà acceduta nel futuro più lontano) Funzionamento: La pagina vittima è quella che non sarà acceduta per il più lungo periodo di tempo nel futuro. T17-simulazione-OPT.pdf 17
18 OPT: vantaggi (Perché implementare ed usare OPT) L'algoritmo OPT minimizza il numero di page fault in ogni scenario. L'algoritmo OPT elimina l'anomalia di Belady. 18
19 OPT: svantaggi (Perché NON implementare e NON usare OPT) L'algoritmo OPT è impossibile da implementare! Il kernel non è in grado di prevedere il futuro. Si confronti quanto detto per SJF. L'algoritmo OPT è utile come pietra di paragone per gli altri algoritmi. Più ci si allontana da OPT in termini di page fault, più l'algoritmo è peggiore. 19
20 Perché minimizza i page fault? (Si mantengono le pagine con probabilità di accesso più elevata possibile) Si elimina la pagina meno utilizzata nel futuro. Le pagine rimanenti hanno la probabilità più alta di essere accedute. Si massimizza la probabilità di trovare una pagina in memoria centrale. Si minimizza la probabilità di avere un page fault. Si minimizza il numero di page fault. 20
21 Perché non ha l'anomalia di Belady? (Perché vede nel futuro) Le pagine accedute ciclicamente non hanno la probabilità di accesso più bassa (altrimenti, non sarebbero accedute ciclicamente). L'algoritmo ottimale vede nel futuro e, una volta portatele in memoria centrale, non le seleziona più come vittime. 21
22 Cosa succede aggiungendo frame? (La frequenza di page fault non può aumentare) Si supponga di aggiungere frame liberi al SO. Il SO è in grado di tenere stabilmente in memoria centrale più pagine accedute ciclicamente. Queste non provocano più page fault di quanti ne venivano provocati con meno pagine. Le altre pagine accedute meno frequentemente tendono a non essere rimosse più dalla memoria. Queste non provocano più page fault di quanti ne venivano provocati con meno pagine. 22
23 Una approssimazione di OPT (Si trasla all'indietro il tempo, virtualmente) La differenza fondamentale fra FIFO e OPT è la seguente. L'algoritmo FIFO guarda all'istante in cui la pagina è stata caricata in memoria centrale. L'algoritmo ottimale guarda all'istante in cui la pagina verrà usata. Si può tentare il seguente esperimento concettuale; sostituire la frase: non verrà usata per il periodo più lungo con la frase è stata usata di meno nel passato recente. 23
24 Perché dovrebbe funzionare? (Per via del principio di località degli accessi) Il processo che esegue un programma ben scritto segue il principio di località spazio-temporale. Il codice appena acceduto ha elevata probabilità di essere acceduto nuovamente nell'immediato futuro. Il codice spazialmente vicino a quello appena acceduto ha elevata probabilità di essere acceduto. In tali condizioni, il processo tenderà a comportarsi, nel futuro, come si è comportato nel passato. Programma ben scritto: un programma il cui 24 flusso è sequenziale a grandi tratti.
25 ALGORITMO LRU 25
26 Least Recently Used (La pagina vittima è quella acceduta di meno nel passato) Funzionamento: Si associa a ciascuna pagina l'istante in cui è stata acceduta per l'ultima volta. La pagina vittima è quella acceduta di meno negli ultimi k accessi di memoria. T17-simulazione-LRU_luc.pdf 26
27 LRU: vantaggi (Perché implementare ed usare LRU) L'algoritmo LRU è nettamente migliore di FIFO. L'algoritmo LRU non è così distante da OPT. L'algoritmo LRU elimina l'anomalia di Belady. 27
28 LRU: svantaggi (Perché NON implementare e NON usare LRU) L'algoritmo LRU può sostituire pagine inattive da tempo in procinto di essere accedute nuovamente. L'algoritmo LRU richiede un supporto hardware per la marcatura efficiente dell'ultimo istante di uso delle pagine. 28
29 Supporto hw per LRU: contatori d'uso (La CPU scandisce un tempo virtuale ) Si introduce nell'elemento della tabella delle pagine un campo, detto istante d'uso. Si aggiunge alla CPU un registro contatore che si incrementa di uno ad ogni riferimento alla memoria. Ad ogni riferimento di pagina si copia il valore del registro contatore nel campo istante d'uso. 29
30 Contatori d'uso: vantaggi e svantaggi (LRU è facile da implementare, ma inefficiente) Vantaggi. LRU si traduce in una semplice scansione della tabella delle pagine, alla ricerca dell'elemento con l'istante d'uso più piccolo. Svantaggi. Si richiede una scansione lineare della tabella. Si richiede una scrittura in memoria per ogni accesso. È necessario gestire gli overflow del contatore. 30
31 Supporto hw per LRU: stack (In cima pagina più recente, in coda pagina meno recente) Si introduce nella CPU una implementazione microprogrammata di uno stack di lunghezza finita. Gli elementi dello stack sono numeri di pagina. Ad ogni riferimento di pagina si estrae (se esiste) il numero di pagina dallo stack e si piazza in cima. 31
32 Funzionamento dello stack (Prima e dopo l'accesso ad una pagina) Sequenza di accessi a b Stack prima di a Stack dopo b 32
33 Stack: vantaggi e svantaggi (Si trova subito la pagina LRU, ma a che costo!) Vantaggi. L'individuazione della pagina meno recente è molto efficiente (coda dello stack). Svantaggi. È possibile l'estrazione in mezzo allo stack serve una lista collegata di elementi, con puntatori speciali alla cima ed alla coda. 33
34 Algoritmi basati su stack (Eliminano l'anomalia di Belady) Gli algoritmi OPT e LRU non soffrono dell'anomalia di Belady. È un caso? No! Entrambi gli algoritmi fanno parte di una classe più ampia di algoritmi di sostituzione (stack algorithm) che non subiscono mai l'anomalia di Belady. Uno stack algorithm gode della seguente proprietà. Se S(n)=insieme delle pagine mantenute in memoria con n frame, allora S(n) S(n+1). 34
35 APPROSSIMAZIONI DI LRU 35
36 Uso di un bit di riferimento (Ciò che veramente fornisce l'hardware odierno) Quasi nessuna architettura hardware fornisce I registri contatore/clock o uno stack per la gestione efficiente dell'ordinamento temporale in LRU. Per evitare l'uso di FIFO, si usa un bit di riferimento. Bit presente nell'elemento della tabella delle pagine. Bit impostato ad 1 dall'hardware ogniqualvolta la pagina corrispondente viene acceduta. Inizialmente, tutti i bit di riferimento sono 36 azzerati.
37 Le limitazioni di un singolo bit (Un bit è poco) Con un solo bit di riferimento: si possono distinguere le pagine accedute da quelle non accedute. non si riesce a ricostruire l'ordine temporale di accesso alle pagine. Servono più bit di riferimento. 37
38 Uso di più bit di riferimento (Più bit consentono di ricostruire la storia degli accessi) IDEA: si registrano più bit di riferimento ad intervalli regolari. Ad esempio, ciascun elemento della tabella delle pagine contiene un byte di riferimento, segnaposto per 8 bit di riferimento. Storia dell'uso della pagina negli ultimi 8 intervalli di campionamento : la pagina non è stata acceduta negli ultimi 8 intervalli di campionamento : la pagina è stata acceduta in ciascuno degli ultimi 8 intervalli di campionamento. 38
39 Aggiornamento dei bit (Ad ogni interruzione di clock) Ad intervalli di campionamento regolari (ad esempio, ogni 100ms), il clock di sistema genera una interruzione. La relativa Interrupt Service Routine invoca, fra le altre, una routine di aggiornamento dei bit di riferimento. Shift del byte di riferimento di 1 bit verso il Least Significant Bit. Inserimento del valore del bit di riferimento nel Most Significant Bit. 39
40 Approssimazione di LRU (Con otto bit di riferimento) Prima della routine di aggiornamento LSB MSB intervalli fa adesso Dopo la routine di aggiornamento LSB MSB Tabella delle pagine... 1 Bit di riferimento della pagina shift 8 intervalli fa adesso 40
41 Considerazioni 1/2 (Per semplificarsi la vita) I byte di riferimento possono essere interpretati come numeri interi unsigned. In tal caso, la pagina acceduta meno recentemente (LRU) è quella avente il valore del byte di riferimento più piccolo. Non è assolutamente garantita l'unicità dei valori dei byte di riferimento. Ad un dato istante, possono esistere più pagine accedute meno recentemente. Possono essere rimpiazzate tutte. Se ne può scegliere una con il criterio FIFO. 41
42 Considerazioni 2/2 (Per semplificarsi la vita) Solitamente, il numero di bit di riferimento è pari alla lunghezza della parola definita dall'architettura. In tal modo, le operazioni di shift e di inserimento sono velocissime. Si può anche decidere di non usare alcun contenitore di bit di riferimento! Si fa uso del solo bit di riferimento. Algoritmo second chance. 42
43 Second Chance (Clock) (La pagina vittima è quella presente in memoria da più tempo e non riferita) Variante dell'algoritmo FIFO. Funzionamento: Si sceglie la pagina presente in memoria centrale da più tempo, come in FIFO. Si controlla il bit di riferimento di tale pagina. Bit = 0: si sostituisce la pagina. Bit = 1: si azzera il bit di riferimento della pagina e si aggiorna il suo istante di arrivo a quello attuale. si passa alla pagina successiva in ordine FIFO. 43
44 Motivazione dell'algoritmo (Perché si dà una seconda chance alla pagina) Se ad una pagina è data una seconda chance, essa non sarà sostituita: fino a quando tutte le altre pagine non siano state sostituite. oppure fino a quando tutte le altre pagine non abbiano avuto la loro seconda chance. Se una pagina è acceduta ciclicamente con frequenza sufficientemente elevata, ottiene sempre una seconda chance e non viene mai sostituita. 44
45 Implementazione tramite lista circolare (Implementazione efficiente) Si usa una coda circolare di pagine, detta clock. Un puntatore indica la prossima pagina candidata vittima. Quando occorre liberare un frame fisico: il puntatore scorre la coda fino a quando non trova una pagina con il bit impostato a 0. durante l'avanzamento del puntatore, tutti i bit di riferimento vengono reimpostati a 0. La pagina con il bit impostato a 0 è la vittima; essa viene rimossa e sostituita dalla nuova pagina 45
46 Funzionamento della lista circolare bit di riferimento 0 pagine (Scelta della vittima) bit di riferimento 0 pagine prossima vittima vittima
47 Second Chance: vantaggi e svantaggi (Second Chance è efficiente, tranne in un caso in cui degenera in FIFO) Vantaggi. L'implementazione è efficiente. Svantaggi. Nel caso peggiore (tutti i bit impostati ad 1), viene scandita l'intera coda, dando ad ogni pagina una seconda chance. Second chance degenera in FIFO. 47
48 Second Chance migliorato (La vittima è quella in memoria da più tempo, non riferita e non modificata) Si considera la coppia ordinata di bit seguente. (bit di riferimento, bit di modifica) (0,0): pagina né recentemente usata né recentemente modificata; la migliore candidata alla sostituzione. (0,1): pagina non usata recentemente, ma modificata; non è una buona candidata perché prima andrebbe sincronizzata su disco. (1,0): pagina usata recentemente ma non modificata; non è una buona candidata perché sarà usata presto, probabilmente. (1,1): pagina usata e modificata recentemente; pessima candidata, perché sarà utilizzata nel prossimo futuro e dovrà 48 essere scritta su swap.
49 Algoritmi basati su contatore: LFU (La pagina vittima è quella con il conteggio di riferimento più basso) Algoritmo Least Frequently Used (LFU). Si sostituisce la pagina con il conteggio di riferimento più basso. Vantaggi. Si sostituisce una pagina poco utilizzata e si lasciano in memoria quelle usate. Svantaggi. Se una pagina è usata molto all'inizio e poi non più, rimane in memoria. Esempio: codice di inizializzazione. 49
50 Algoritmi basati su contatore: MFU (La pagina vittima è quella con il conteggio di riferimento più alto) Algoritmo Most Frequently Used (MFU). Si sostituisce la pagina con il conteggio di riferimento più alto. Vantaggi. Si lasciano in memoria le pagine con il contatore più basso, ossia quelle presumibilmente appena inserite e, di conseguenza, ancora non usate. Svantaggi. Si rischia la sostituzione di una pagina usata spesso. 50
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. 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
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
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
DettagliMemoria virtuale. Capitolo 9 - Silberschatz
Memoria virtuale Capitolo 9 - Silberschatz Processo in memoria Istruzioni in memoria prima di essere eseguite. Condizione necessaria e ragionevole ma le dimensioni del programma devono essere correlate
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
DettagliCapitolo 10: Memoria virtuale
Capitolo 10: Memoria virtuale Ambiente. Richiesta di paginazione. Creazione del processo. Sostituzione della pagina. Allocazione dei frame. Thrashing. Altre considerazioni. 10.1 Ambiente Memoria virtuale
DettagliObiettivi! Memoria Virtuale! Memoria Virtuale > Memoria Fisica!
Obiettivi Memoria Virtuale Descrivere i vantaggi di un sistema a memoria virtuale Concetti fondamentali Paginazione su richiesta (Demand paging) Algoritmi di sostituzione delle pagine Algoritmi di allocazione
DettagliMemoria Virtuale. Background Paginazionesu richiesta Sostituzione delle pagine Algoritmi di sostituzione delle pagine Allocazione dei frame Thrashing
Memoria Virtuale Background Paginazionesu richiesta Sostituzione delle pagine Algoritmi di sostituzione delle pagine Allocazione dei frame Thrashing Background Memoria virtuale separazione della memoria
DettagliYYY02 Esercizi per Teoria. Esercizi per preparazione alla prova scritta
YYY02 Esercizi per Teoria Esercizi per preparazione alla prova scritta Esercizio YYY02_02 - Busy Waiting In linguaggio ANSI C, siano dichiarate le seguenti variabili, e siano queste variabili debitamente
DettagliGESTIONE 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:
DettagliSistemi Operativi (modulo di Informatica II) La memoria virtuale
Sistemi Operativi (modulo di Informatica II) La memoria virtuale Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Ambiente virtuale Richiesta di paginazione Creazione di un processo
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
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
DettagliDescrivere i vantaggi di un sistema a memoria virtuale
Descrivere i vantaggi di un sistema a memoria virtuale Concetti fondamentali! Paginazione su richiesta (Demand paging)! Algoritmi di sostituzione delle pagine! Algoritmi di allocazione dei frame! Il problema
Dettagliesercizi memoria virtuale...
esercizi memoria virtuale 1..... tabella delle pagine (8.1) data la tabella delle pagine (pagina di 1024 bytes) di un processo tradurre i seguenti riferimenti in indirzzi fisici: 1052, 5499, 2221 2 1052,
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
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
DettagliGestione della memoria. Algoritmi di rimpiazzamento Segmentazione
Gestione della memoria Algoritmi di rimpiazzamento Segmentazione Algoritmi di rimpiazzamento Per ogni page fault il SO deve: scegliere una pagina da rimuovere dalla memoria per creare spazio per la nuova
Dettagli9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale
1 (es. 1) Consideriamo un processo con m frame inizialmente uoti. La stringa di riferimento è lunga p e contiene riferimenti a n pagine dierse. Per un qualsiasi algoritmo di rimpiazzamento: a) qual è il
DettagliMemoria Virtuale. Sistemi operativi- AA 2015/16 1 1
Memoria Virtuale Sistemi operativi- AA 2015/16 1 1 2 Sommario Virtualizzazione della memoria Algoritmi di sostituzione delle pagine Allocazione dei frame Trashing Segmentazione su richiesta Conclusioni
DettagliSistemi Operativi. 5 Gestione della memoria
Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria
DettagliInformatica 3. LEZIONE 20: Ordinamento esterno. Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno
Informatica 3 LEZIONE 20: Ordinamento esterno Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno Informatica 3 Lezione 20 - Modulo 1 Organizzazione della memoria Introduzione Dati in
DettagliEsercizio: memoria virtuale
Siano dati un indirizzo logico con la struttura ed il contenuto mostrati in figura, dove è anche riportata la funzione di rilocazione. Si indichi l indirizzo fisico corrispondente all indirizzo logico
DettagliSistemi Operativi. La gestione delle risorse
Sistemi Operativi La gestione delle risorse Introduzione Il sistema operativo ha il compito di fornire la gestione dell hardware ai programmi dell utente. Utente utilizza i programmi applicativi Programmi
DettagliIntroduzione Definizioni
Informatica 3 Informatica 3 LEZIONE 20: Ordinamento esterno Lezione 20 - Modulo 1 Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno Organizzazione della memoria Politecnico di Milano
DettagliMemoria Virtuale. Considerazioni sulla paginazione e segmentazione
Memoria Virtuale Generalità Hardware di supporto Scelte di progetto 1 Considerazioni sulla paginazione e segmentazione I riferimenti di Memoria sono tradotti dinamicamente in indirizzi fisici a run time
DettagliMemoria virtuale. Riassumendo Meccanismo di traduzione indirizzi con tabella TLB Ogni processo ha la sua PMT Politiche della memoria virtuale E
Spazio di indirizzamento virtuale Riprendiamo lo spazio di indirizzamento virtuale del programma di inversione stringa LO SPAZIO DI INDIRIZZAMENTO VIRTUALE DI UN PROCESSO É Spazio di indirizzamento virtuale
DettagliSistemi operativi - Concetti ed esempi -Settima edizione
Capitolo 9: Memoria virtuale Capitolo 9: Memoria virtuale Introduzione Paginazione su richiesta Copiatura su scrittura Sostituzione delle pagine Allocazione di frame Paginazione degenere (thrashing) File
DettagliSistemi Operativi: Prof.ssa A. Rescigno Anno Acc. 2008-2009. Esercitazione. Memoria virtuale
Sistemi Operativi: Prof.ssa A. Rescigno Anno Acc. 2008-2009 Esercitazione Università di Salerno Memoria virtuale 1. Si assuma che un processo abbia m frames (inizialmente tutti vuoti) a disposizione e
DettagliUNIVERSITÀ DEGLI STUDI DI BERGAMO
UNIVERSITÀ DEGLI STUDI DI BERGAMO DIPARTIMENTO DI INGEGNERIA DELL INFORMAZIONE E METODI MATEMATICI Corso di Laurea in Ingegneria Informatica/Meccanica Esame di Sistemi Operativi a.a. 2008-09 (Modulo di
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 Il Sistema Operativo Windows (parte 2)
Sistemi Operativi Il Sistema Operativo Windows (parte 2) Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Gestione della memoria 1 Ogni processo dispone
DettagliSISTEMI OPERATIVI. La memoria virtuale. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)
SISTEMI OPERATIVI (MODULO DI INFORMATICA II) La memoria virtuale Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) Università degli Studi di Bergamo a.a. 2012-13 Sommario La memoria virtuale
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
DettagliSistemi Operativi. Modulo 7: Gestione della memoria
Sistemi Operativi Modulo 7: Gestione della memoria Renzo Davoli Alberto Montresor Copyright Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
DettagliPage replacement. Al page fault (PF) causato da un indirizzo virtuale nella pagina P, non presente in memoria, la pagina P va copiata su una frame.
Page replacement Al page fault (PF) causato da un indirizzo virtuale nella pagina P, non presente in memoria, la pagina P va copiata su una frame. Quale? Idealmente: una ospitante una pagina poco usata
Dettagli8 bit per la parola nel blocco 10 bit per l insieme (gruppo) nella cache 12 bit di etichetta. Esercizio 3 Memoria Cache
Esercizio 3 Memoria Cache Prima parte - memoria di 1 Giga parole da 16 bit (indirizzata a livello di parola) - cache di 1 Mega parole da 16 bit (indirizzata a livello di parola) - ogni della cache contiene
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
Dettagli9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale
1 (es. 1) Consideriamo un processo con m frame inizialmente vuoti. La stringa di riferimento è lunga p e contiene riferimenti a n pagine diverse. Per un qualsiasi algoritmo di rimpiazzamento: a) qual è
DettagliSistemi Operativi a.a. 2004-2005. Esercizi - 2
Sistemi Operativi a.a. 004-005 Esercizi - Renzo Davoli Alberto Montresor. I diritti di memorizzazione elettronica, di riproduzione e di adattamento parziale o totale (compresi microfilm e copie fotostatiche)
DettagliSistemi Operativi. ugoerr+so@dia.unisa.it 10 LEZIONE MEMORIA VIRTUALE CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Opertivi 2007/08
Sistemi Operativi Docente: Ugo Erra ugoerr+so@dia.unisa.it 10 LEZIONE MEMORIA VIRTUALE CORSO DI LAUREA TRIENNALE IN INFORMATICA UNIVERSITA DEGLI STUDI DELLA BASILICATA Sommario della lezione Introduzione
DettagliUNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Algoritmi
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Algoritmi Algoritmi classici Alcuni problemi si presentano con elevata frequenza e sono stati ampiamente studiati Ricerca di un elemento in un vettore
Dettagli10. Memoria Virtuale. 10. Memoria Virtuale Le basi
1 10. Memoria Virtuale Tutti i metodi di gestione della MP tentano di tenere in MP più processi possibile per aumentare la multiprogrammazione Tenere un processo interamente in MP diminuisce il numero
DettagliLezione 14 File system: preparazione
Lezione 14 File system: preparazione Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2016/2017 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio Emilia http://weblab.ing.unimo.it/people/andreolini/didattica/sistemi-operativi
DettagliStrutture fisiche e strutture di accesso ai dati
Strutture fisiche e strutture di accesso ai dati 1 A L B E R T O B E L U S S I P R I M A P A R T E A N N O A C C A D E M I C O 2 0 1 2-2 0 1 3 Gestore dei metodi di accesso 2 E il modulo del DBMS che esegue
DettagliStruttura interna del Sistema Operativo. 3. La gestione della memoria virtuale
Struttura interna del Sistema Operativo 3. La gestione della memoria virtuale Il concetto di memoria virtuale Separare il concetto di spazio di indirizzamento di un programma eseguibile e dimensione effettiva
Dettagliif (a>c) d = d + 5; a = b + d + e; else e = e + 2; f = f + 2; c = c + f; b = a + f;
Quesito 1. Il parallelismo insito in un programma e quello da esso esplicitabile per accelerarne l esecuzione vengono limitati, tra le altre cose, dal grado di dipendenza esistente tra le sue istruzioni:
DettagliMemoria Virtuale. Lezione 29 Sistemi Operativi
Memoria Virtuale Lezione 29 Sistemi Operativi I Principi Abbiamo sinora assunto che durante l esecuzione di un programma, lo stesso debba risiedere completamente in MC Intorno alla metà degli anni 70 viene
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
DettagliSISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007
2007 SISTEMI OPERATIVI Gestione della memoria Domande di verifica Luca Orrù Centro Multimediale Montiferru 18/06/2007 Gestione della memoria 1. Si descriva il concetto di memoria virtuale (esame del 19-06-2006)
DettagliCognome: Nome: Matricola:
Cognome: Nome: Matricola: Sistemi Operativi A.A. 2006-2007, prova scritta del 23 aprile 2007 Libri e appunti chiusi. Vietato comunicare con chiunque. Vietato l'uso di cellulari, calcolatrici, palmari e
DettagliCognome: Nome: Matricola: Sistemi Operativi A.A , prova scritta del 25 settembre 2008.
ognome: Nome: Matricola: Sistemi Operativi A.A. 2007-2008, prova scritta del 25 settembre 2008. Usa questa pagina per la brutta, staccala, non consegnarla. Sistemi Operativi A.A. 2007-2008, prova scritta
DettagliIl concetto di memoria virtuale. Struttura interna del Sistema Operativo. Memoria virtuale: indirizzi virtuali. Codifica Esadecimale
Il concetto di memoria virtuale Struttura interna del Sistema Operativo 3. La gestione della memoria virtuale 25 marzo 2004 Separare il concetto di spazio di indirizzamento di un programma eseguibile e
DettagliMemoria. Sistemi Operativi Giuseppe Prencipe. Memoria virtuale. Gestione della memoria. Paginazione su richiesta. Paginazione su richiesta
Sistemi Operativi Giuseppe Prencipe Memoria Virtuale Memoria Abbiamo visto varie tecniche per gestire la memoria Permettono la presenza contemporanea di più processi in memoria La memoria virtuale è una
DettagliMemoria Virtuale. Lezione 6-7 Sistemi Operativi
Memoria Virtuale Lezione 6-7 Sistemi Operativi Problemi implementativi Dal punto di vista del SO la realizzazione di un sistema di VM richiede la soluzione di una serie di problemi: Individuazione di strutture
DettagliSistemi Operativi 9 luglio 2013 Compito
Si risponda ai seguenti quesiti, giustificando le risposte. Gli esercizi e le domande marcate con l asterisco (*) devono essere svolti soltanto da chi ha in piano di studi l esame di Sistemi Operativi
DettagliCalcolatori Elettronici
Calcolatori Elettronici La memoria gerarchica La cache: come migliorare le prestazioni Ricapitolando (1) La memoria principale e la cache sono scomposte in blocchi di uguale dimensione L indirizzo del
DettagliEsercizi su strutture dati
Esercizi su strutture dati Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 21 dicembre 2016 Liste collegate
DettagliSistemi Operativi. Lezione 3 Processi e Thread
Lezione 3 Processi e Thread Introduzione Sino ai sistemi batch la CPU di un sistema svolgeva un attività, la portava a termine e solo allora avviava un altra attività Con l avvento della multiprogrammazione
DettagliAXO. Operativi. Architettura dei Calcolatori e Sistemi. memoria virtuale
AXO Architettura dei Calcolatori e Sistemi Operativi memoria virtuale concetto di memoria virtuale Separare il concetto di: spazio di indirizzamento di un programma eseguibile e dimensione effettiva della
DettagliEsercizi sulla memoria cache - Informatica 2 - L. Breveglieri 1
Esercizio 1 Sia data una memoria cache di tipo a indirizzamento diretto (direct-mapped), con blocchi di dimensioni pari a una sola parola per blocco, e contenente. La parola è lunga 16 bit, e la memoria
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):
DettagliVeloce e cara. Lenta e economica. I livelli di memoria. E il supporto del calcolatore per conservare dati e istruzioni (programmi) La memoria centrale
I livelli di memoria LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica Veloce e cara E il supporto del calcolatore per conservare dati e istruzioni (programmi) Sistemi Operativi : La gestione
DettagliGestione della Memoria Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica
Gestione della Memoria Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica prof. Ing. Corrado Santoro A.A. 2010-11 Architettura di un sistema operativo Progr 1 Progr 2 Progr
DettagliIntroduzione alle memorie cache. Cristina Silvano, 06/01/2013 versione 2 1
Introduzione alle memorie cache Corso ACSO prof. Cristina SILVANO Politecnico di Milano Cristina Silvano, 06/01/2013 versione 2 1 Obiettivo Sommario Livelli della gerarchia di memoria Memoria cache: concetti
DettagliSistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.
Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca
Dettagli06/05/2009. Caratteristiche desiderabili Ampia capacità Velocità Economicità
Sistema di Memoria Caratteristiche desiderabili Ampia capacità Velocità Economicità 1 Memoria Cache L'idea alla base della memoria cache nasce dalla semplice osservazione che la memoria centrale (dove
DettagliLa memoria virtuale. Operating System Concepts 9 th Edition
La memoria virtuale La memoria virtuale Background Paginazione su richiesta Copy on Write Sostituzione delle pagine Allocazione dei frame Thrashing File mappati in memoria Allocazione di memoria del kernel
DettagliGestione della Memoria Introduzione ai Sistemi Operativi Corso di Informatica Laurea in Fisica
Gestione della Memoria Introduzione ai Sistemi Operativi Corso di Informatica Laurea in Fisica prof. Ing. Corrado Santoro A.A. 2008-09 Architettura di un sistema operativo Progr 1 Progr 2 Progr 3 Progr
DettagliBlocchi di più parole
Blocchi di più parole Per trarre vantaggio dalla località spaziale non conviene avere blocchi di una sola parola ma blocchi di più parole che occupano nella memoria principale posizioni vicine. Esempio:
DettagliSistemi Operativi A.A. 2011/2012
Sistemi Operativi A.A. 2011/2012 Esercitazione 13 Dicembre 2011 Esercizio 1 - Scheduling dei processi Data la seguente sequenza di processi Processo Istante Arrivo Durata Priorità P 1 0 6 3 P 2 2 5 2 P
DettagliSistemi Operativi. C.d.L. in Informatica (laurea triennale) Anno Accademico Dipartimento di Matematica e Informatica Catania
Sistemi Operativi C.d.L. in Informatica (laurea triennale) Anno Accademico 2012-2013 Dipartimento di Matematica e Informatica Catania Gestione della Memoria Prof. Mario Di Raimondo Memoria centrale e processi
DettagliRegistri. Registri semplici
Registri Registri semplici........................................ 795 Registri a scorrimento................................... 797 Contatori asincroni con flip-flop T........................798 Contatori
DettagliGerarchie di memoria Memorie a componenti dinamici 1
Gerarchie di memoria Memorie a componenti dinamici 1 Denominate Dynamic RAM Memorizzazione su componenti capacitivi 1 transistor per bit (4-6 per Static RAM), dunque maggiore densità Richiede un ciclo
DettagliL hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:
Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti
DettagliMiglioramento delle prestazioni
Miglioramento delle prestazioni Migliorare sia larghezza di banda sia latenza: uso di cache multiple Introdurre una cache separata per istruzioni e dati (split cache) Beneficio: Le operazioni di lettura/scrittura
DettagliLa memoria virtuale 9.2. Sistemi Operativi a.a. A.A. 2009-10 2013-2014
La Memoria Virtuale La memoria virtuale Background Paginazione su richiesta Copy on Write Sostituzione delle pagine Allocazione dei frame Thrashing File mappati in memoria Allocazione di memoria del kernel
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
DettagliGrafi: visita generica
.. Grafi: visita generica Una presentazione alternativa (con ulteriori dettagli) Algoritmi di visita Scopo: visitare tutti i vertici di un grafo (si osservi che per poter visitare un vertice occorre prima
DettagliGestione della memoria
Prof. Diomede Mazzone Gestione della memoria Memoria Virtuale Cosa accade usualmente Alcuni processi possono rimanere in stato di ready per molto tempo, occupando memoria! Le pagine fisiche di memoria
DettagliOrganizzazione Fisica dei Dati (Parte II)
Modello Fisico dei Dati Basi di Dati / Complementi di Basi di Dati 1 Organizzazione Fisica dei Dati (Parte II) Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Modello Fisico
DettagliSistemi Operativi 1. Mattia Monga. 11 marzo 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 e 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliMemoria Virtuale. Alessandro A. Nacci ACSO 2014/2014
Memoria Virtuale Alessandro A. Nacci alessandro.nacci@polimi.it ACSO 2014/2014 1 2 Algoritmo LRU! Buone prestazioni in media! Utilizza bit di controllo che riportano le informazioni sugli accessi alle
DettagliLezione 3. Sommario. Le operazioni aritmetiche binarie. L aritmetica binaria. La somma La sottrazione La moltiplicazione
Lezione 3 Le operazioni aritmetiche binarie Sommario L aritmetica binaria La somma La sottrazione La moltiplicazione 1 Definizione Si indica con il termine bit più significativo il bit più a sinistra,
DettagliUniversità degli Studi di Cassino
Corso di Cache Anno Accademico 24/25 Francesco Tortorella Cache livello della gerarchia di memoria Processore Controllo Datapath Registri On chip cache Cache di secondo livello (SRAM) Memoria principale
DettagliLezione 3 Sistemi Operativi e misure di performance. Parleremo di
Lezione 3 Sistemi Operativi e misure di performance Parleremo di Ambienti di Elaborazione e Natura della computazione Classi di Sistemi Operativi Efficienza, Performance del Sistema, e Servizi Utente Sistemi
Dettagli= 0, 098 ms. Da cui si ricava t 2 medio
1. Una macchina ha uno spazio degli indirizzi a 32 bit e una pagina di 8 KB. La tabella delle pagine è completamente nell hardware, con una parola a 32 bit per voce. Quando parte un processo, la tabella
Dettagli9. Memoria Virtuale. 9.1 Memoria Virtuale: introduzione
1 9. Memoria Virtuale Concetti di base Demand Paging (Paginazione su richiesta) Prestazioni del Demand Paging Rimpiazzamento delle pagine Algoritmi di rimpiazzamento Allocazione dello spazio in Memoria
DettagliSistemi Operativi Gestione della Memoria (parte 3)
Sistemi Operativi Gestione della Memoria Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Paginazione: l anomalia di Belady - 1 Nel 1969 Lazlo Belady
DettagliSISTEMI OPERATIVI E LABORATORIO (Indirizzo Sistemi e Reti) 5 luglio 2004
SISTEMI OPERATIVI E LABORATORIO (Indirizzo Sistemi e Reti) 5 luglio 2004 Cognome: Nome: Matricola: Scelgo di svolgere (marcate solo una delle due scelte possibili): [ ] solo la parte relativa al laboratorio
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
DettagliGerarchie di memoria Politiche di rimpiazzo dei blocchi
Politiche di rimpiazzo dei blocchi Quale blocco conviene sostituire in cache per effettuare uno swap? (Penalità di miss) Casuale, per occupazione omogenea dello spazio First-In-First-Out (FIFO), per sostituire
DettagliWeb caching. Corso di Applicazioni Telematiche. A.A Lezione n.3 - parte I Prof. Roberto Canonico
Web caching Corso di Applicazioni Telematiche A.A. 2005-06 Lezione n.3 - parte I Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Web caching Si parla genericamente
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
DettagliEsercitazione E2 Memoria virtuale
Esercitazione E2 Memoria virtuale Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-1 Memoria virtuale 1 Si consideri un sistema a memoria virtuale con indirizzi virtuali a 32 bit, indirizzi fisici
DettagliAlgoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema
Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina
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
DettagliINDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso
INDICI PER FILE Strutture ausiliarie di accesso 2 Accesso secondario Diamo per scontato che esista già un file con una certa organizzazione primaria con dati non ordinati, ordinati o organizzati secondo
DettagliRappresentazione dell informazione
Rappresentazione dell informazione Problema che coinvolge aspetti filosofici Interessa soprattutto distinguere informazioni diverse Con un solo simbolo è impossibile Pertanto l insieme minimo è costituito
Dettagli