SOLUZIONE Istruzioni: Indirizzo logico Legittimo? Indirizzo fisico Dati:

Documenti analoghi
SOLUZIONE Istruzioni: Indirizzo logico Legittimo? Indirizzo fisico SI NO SI Dati:

ESERCIZIO M-1 Rilocazione statica con caricamento in partizioni fisse

Sistemi Operativi e Laboratorio, Prova del 25/5/2016

Sistemi Operativi e Laboratorio, Prova del 5/6/2017

Sistemi Operativi e Laboratorio, Prova del 16/1/2015

Sistemi Operativi e Laboratorio, Prova del 9/9/2014

Sistemi Operativi e Laboratorio, Prova del 15/01/2014

CX: 4 K DX:12 K PX:4 K CY:16 K DY: 4 K PY:4 K

Sistemi Operativi e Laboratorio, Prova del 19/6/2014

Sistemi Operativi e Laboratorio, Prova del 19/12/2014

Sistemi Operativi e Laboratorio, Prova del 05/02/2014

Esercizio FAT 1. Soluzione:

Esercizio FAT 1. Soluzione: 1. Capacità del disco: 2 24 blocchi (3 byte=24 bit) 2

Sistemi Operativi e Laboratorio, Prova del 15/06/2016

Memoria Virtuale. Alessandro A. Nacci ACSO 2014/2014

Docente Prò Giuseppe - Corso PENTEST MIND PROJECT A cura di Prò Giuseppe

GESTIONE DELLA MEMORIA CENTRALE

CX: 4 K DX:12 K PX:4 K CY:16 K DY: 4 K PY:4 K

I processi Unix. Entry della tabella dei processi

Sistemi Operativi Esercizi Gestione Memoria

Sistemi Operativi e Laboratorio, Prova del 16/2/2015

Sistemi Operativi Da Unix a GNU/Linux (parte 2)

Sistemi Operativi e Laboratorio, Prova del 6/6/2019

Memoria Virtuale. Alessandro A. Nacci ACSO 2014/2014

Esercizio: memoria virtuale

Gestione della memoria 1

Corso di Informatica

Sistemi Operativi e Laboratorio, Prova del 9/9/2016

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

Il Gestore della Memoria. Tecnica a Partizioni Fisse e a Partizioni Variabili

Gestione della memoria

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

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

Esercizio: memoria virtuale

Gestione della Memoria Principale

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

Esercizio 1. Si consideri il seguente frammento di FAT: Blocco Fisico - valore nella FAT. e di directory D1 : nome file - primo blocco A 32 B 36

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

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

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

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

Memoria virtuale. Daniele Loiacono, Vittorio Zaccaria

Il sistema operativo

Simuliamo ora il funzionamento di LRU sulla reference string data:

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

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

Sistemi Operativi: Prof.ssa A. Rescigno Anno Acc Esercitazione. Memoria virtuale

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

Gestione della memoria

Gestione della Memoria

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

10. Memoria Virtuale. Esercizi

PROVA SCRITTA DEL MODULO DI. 18 Settembre 2018

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

Laboratorio di Sistemi Operativi Simulatori

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

Cognome e nome: Matricola: Posto:

MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 7 Febbraio 2002

Sistemi Operativi A - Esercizi - 4

Gestione della memoria. Introduzione Swapping Allocazione contigua Paginazione

Esercizio Dispositivi-1. Soluzione


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

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

3.3 Memoria virtuale Generalità. 3.3 Memoria virtuale Spazi di indirizzamento Memoria virtuale Spazi di indirizzamento - 2

Il concetto di memoria virtuale. Struttura interna del Sistema Operativo. Memoria virtuale: indirizzi virtuali. Codifica Esadecimale

SISTEMI OPERATIVI. Gestione della memoria. Gestione della memoria. Partizionamento Paginazione Segmentazione Memoria virtuale. 08.

SIMULAZIONE DELLA PROVA INTERMEDIA DEL CORSO DI CALCOLATORI ELETTRONICI

Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo!

Corso di laurea in Ingegneria Biomedica, Elettrica, Elettronica ed Informatica

La gestione della memoria su IA-32. Lez. 32 Sistemi Operativi

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 14 Febbraio 2007

Matlab/Octave - Esercitazione 13

Sistemi operativi e distribuiti

Esercitazione E2 Memoria virtuale

Sistemi operativi - Concetti ed esempi -Settima edizione

Esercitazione su Gerarchie di Memoria

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

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

La gerarchia delle memorie


Struttura interna del Sistema Operativo. 3. La gestione della memoria virtuale

Settore Inizio lettura: t+ Fine lettura Inizio trasf. in memoria Fine trasf. in memoria 5 (35-21).0,1= 1,4 1,5 1,5 1,56

Gestione della Memoria

Sistemi Operativi e Laboratorio, Prova del 10/4/2018 compito B

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

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

Modello della memoria in Unix. Quando si alloca la memoria. Gestione della memoria in UNIX

8 bit per la parola nel blocco 10 bit per l insieme (gruppo) nella cache 12 bit di etichetta. Esercizio 3 Memoria Cache

Memoria Virtuale. Considerazioni sulla paginazione e segmentazione

Capitolo 8 - Silberschatz

1) (commutazione pacchetto, prodotto banda-ritardo) 2) (frammentazione, commutazione di pacchetto) 3) (Selective Repeat)

MEMORIA FISICA (solo modo U) e SWAP file

Introduzione al Sistema Operativo

Memoria Virtuale. Background

PROVA SCRITTA DEL MODULO DI. CORSO DI LAUREA IN INGEGNERIA ELETTRICA ED ELETTRONICA, INGEGNERIA BIOMEDICA 14 febbraio 2017

Sistemi Operativi e Laboratorio, Prova del 10/4/2018 compito A

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

Transcript:

SRIZIO Segmentazione In un sistema che gestisce la memoria con spazio logico suddiviso in segmento codice e segmento dati (comprensivo della pila) e caricamento in partizioni variabili con rilocazione dinamica, i registri base e limite del segmento codice hanno a un certo istante i valori = 2. e L = 28., mentre i registri base e limite del segmento dati hanno i valori 2 = 4. e L 2 = 2.. Supponendo che il processo in esecuzione estragga istruzioni dagli indirizzi logici., 3. e 2., che riferiscono dati con indirizzi logici 4., 4. e 2., dire se ognuno dei precedenti indirizzi logici è legittimo e, in caso affermativo, calcolare il corrispondente indirizzo fisico. SOLUZION Istruzioni: Indirizzo logico Legittimo? Indirizzo fisico ati:.... 2.... 3........ 2.... 3....

SRIZIO Segmentazione 2 In un sistema che gestisce la memoria con segmentazione a domanda, l indirizzo logico è di 28 bit, dei quali i primi 6 bit codificano l indice di segmento e i restanti 22 bit definiscono l offset. Ogni elemento della tabella dei segmenti è formato da byte, dei quali byte contiene indicatori utili al gestore della memoria, 3 byte contengono il valore base, e i restanti 3 byte contengono il valore limite. Si chiede:. Il massimo numero di segmenti di un processo; 2. La massima dimensione di un segmento (in byte); 3. La massima dimensione della tabella dei segmenti (in byte); 4. Il massimo valore possibile per l indirizzo di origine di un segmento; SOLUZION. Massimo numero di segmenti di un processo: segmenti 2. Massima dimensione di un segmento (in byte): byte 3. Massima dimensione della tabella dei segmenti (in byte): byte 4. Massimo valore possibile per l indirizzo di origine di un segmento:

SRIZIO istanza passata approssimata Si consideri un sistema che gestisce la memoria con paginazione a domanda utilizzando un algoritmo LRU. La tabella delle pagine di ogni processo contiene, per ogni pagina, i campi blocco, P (bit di presenza), R (bit di uso) e P (contatore che registra la distanza passata approssimata della pagina). La distanza passata è aggiornata periodicamente dal processo di sistema PM, che in base al valore del bit R azzera o incrementa il contatore P. Al tempo t, quando viene attivato il processo PM, la configurazione della tabella delle pagine del processo P è mostrata in figura. Si chiede di completare il contenuto della tabella delle pagine al tempo t+ k, quando il processo PM ha terminato l aggiornamento della distanza passata. SOLUZION Tabella delle pagine al tempo t Tabella delle pagine al tempo t+ k ina blocco P R P ina locco P R - - - - 6 2 6 2 3 2 3 - - - 3-4 2 6 4 2 8 8 6 - - - 6-4 8 8 8 - - - - 2 2 - - - - 2 3 2 3

SRIZIO Tabelle delle pagine Si consideri un sistema dove gli indirizzi logici hanno la lunghezza di 32 bit e le pagine logiche e fisiche hanno ampiezza di 4 kyte. Per la gestione della memoria con paginazione dinamica si utilizzano tabelle delle pagine a 2 livelli. La tabella di primo livello comprende 2 elementi. Gli elementi di ogni tabella di primo o secondo livello occupano 4 byte, di cui è riservato agli indicatori (pagina caricata, riferita, modificata, ecc.) mentre i rimanenti individuano un indice di blocco fisico. Si chiede:. la lunghezza del campo offset, in numero di bit; 2. la lunghezza delle tabelle di secondo livello (numero di elementi); 3. lo spazio occupato in memoria da ogni tabella di secondo livello (numero di byte); 4. la massima dimensione della memoria fisica (numero di blocchi e di byte, espressi come potenze di 2). SOLUZION. lunghezza del campo offset: 2. lunghezza (numero di elementi) di ogni tabella di secondo livello: 3. spazio occupato in memoria da ogni tabella di secondo livello (numero di byte): 4. massima dimensione della memoria fisica:

SRIZIO Tabella delle pagine 2 Un sistema gestisce la memoria con paginazione e usa indirizzi logici di 32 bit, blocchi di memoria di kbyte e tabelle delle pagine a due livelli. La tabella delle pagine di livello (o directory) e quelle di 2 livello hanno uguale dimensione. Ogni elemento della tabella di primo livello e di quelle di secondo livello contiene l indice di un blocco di memoria e 2 bit di controllo. La memoria fisica ha una capacità di 4 Gbyte (= 2 32 byte) omande:. Nell indirizzo logico, quanti bit sono riservati all offset nella tabella di livello, quanti all offset nella tabella di 2 livello e quanti all offset nella pagina logica? 2. Quanti bit sono necessari per codificare un indice di blocco e quanti bit contiene ogni elemento dei tabella di primo o di secondo livello? 3. Quanti byte e quanti blocchi di memoria occupa ogni tabella? SOLUZION Il numero di blocchi fisici è. Offset in Tab livello (numero di bit): Offset in Tab 2 livello (numero di bit): Offset in pagina logica (numero di bit): it necessari per codificare un indice di blocco: Lunghezza in bit di ogni elemento di tabella: 2. Numero di byte occupati da ogni tabella: Numero di blocchi occupati da ogni tabella:

SRIZIO Tabella delle pagine 3 Si consideri un sistema che gestisce la memoria con paginazione dinamica con le seguenti caratteristiche: indirizzi logici di 32 bit e ampiezza dello spazio logico di ogni processo pari a 2 32 byte; pagine logiche e blocchi fisici di Kyte; tabelle delle pagine a due livelli; la tabella di primo livello comprende 2 elementi; tutti gli elementi della tabella di primo e di secondo livello hanno lunghezza pari a 32 bit, di cui sono indicatori e i restanti 22 codificano l indice di un blocco fisico; In questo sistema è presente il processo P, che ha allocato nello spazio virtuale due aree di memoria: Area : 2 Mbyte a partire dalla locazione * 24 Area 2: 4 Mbyte a partire dalla locazione 46* 24 Si chiede:. La lunghezza, in numero di bit, delle componenti dell indirizzo logico che indirizzano, rispettivamente, la tabella di primo livello, di secondo livello, e l offset; 2. Lo spazio occupato in memoria dalla tabella di primo livello e da ogni tabella di secondo livello (in byte); 3. La massima dimensione della memoria fisica (numero di blocchi e di byte, espressi come potenze di 2); 4. Lo spazio indirizzabile da una tabella di secondo livello;. Quali elementi della tabella di primo livello sono usati per indirizzare l Area ; 6. Quali elementi della tabella/ delle tabelle di secondo livello sono usate per indirizzare l Area ;. Quali elementi della tabella di primo livello sono usati per indirizzare l Area 2; 8. Quali elementi della tabella/ delle tabelle di secondo livello sono usate per indirizzare l Area 2; SOLUZION. Lunghezza del campo che indirizza la tabella di livello: 2. Lunghezza del campo che indirizza la tabella di 2 livello: 3. Lunghezza del campo offset: 4. Spazio occupato in memoria dalla tabella di livello: byte Spazio occupato in memoria dalla tabella di 2 livello: byte. Massima dimensione della memoria fisica: blocchi = byte 6. Spazio indirizzabile da una tabella di 2 livello: byte = Mbyte. L Area occupa le locazioni comprese tra e. L elemento/gli elementi della tabella di primo livello che indirizza/indirizzano l Area è quello/sono quelli di indice 8. Osservando che ogni elemento di una tabella di 2 livello indirizza Kbyte, gli elementi della tabella/delle tabelle di secondo livello che indirizza/indirizzano l Area sono: - quelli di indice nella tabella - quelli di indice nella tabella. L Area 2 occupa le locazioni comprese tra e. L elemento/gli elementi della tabella di primo livello che indirizza/indirizzano l Area 2 è quello/sono quelli di indice. Ricordando che ogni elemento di una tabella di 2 livello indirizza Kbyte, gli elementi della tabella/delle tabelle di secondo livello che indirizza/indirizzano l Area 2 sono: - quelli di indice nella tabella - quelli di indice nella tabella

SRIZIO Tabella delle pagine 4 Si consideri un sistema dove gli indirizzi logici hanno la lunghezza di 32 bit e le pagine logiche e i blocchi fisici hanno ampiezza di 2 kyte.per la gestione della memoria con paginazione a domanda si utilizzano tabelle delle pagine a 3 livelli. Le tabelle di primo, secondo o terzo livello hanno tutte uguale lunghezza.per ogni tabella, gli elementi occupano 3 byte e riservano 4 bit agli indicatori (bit di presenza, riferimento, modifica e protezione in scrittura). I rimanenti bit codificano un indice di blocco fisico. Si chiede:. la lunghezza del campo offset, in numero di bit; 6. la lunghezza delle tabelle di secondo livello (numero di elementi);. lo spazio occupato in memoria da ogni tabella di secondo livello (numero di byte); 8. la massima estensione della memoria fisica (numero di blocchi e di byte, espressi come potenze di 2). SOLUZION. lunghezza del campo offset :.. bit 6. lunghezza, in numero di elementi, di ogni tabella di primo, secondo o terzo livello:.. elementi. spazio occupato da ogni tabella di primo, secondo o terzo livello, in numero di byte :.. byte 8. massima estensione della memoria fisica :.. blocchi.. byte

SRIZIO Segmentazione paginata In un sistema che gestisce la memoria con segmentazione paginata, l indirizzo logico è di 32 bit, dei quali i primi 6 bit codificano l indice di segmento e i restanti 26 bit definiscono l offset all interno del segmento. I 26 bit dell offset codificano l indice di pagina con 4 bit e l offset all interno della pagina con i restanti 2 bit. Si chiede: il massimo numero di segmenti di un processo, la dimensione di una pagina (in byte); la massima dimensione di un segmento (in numero di pagine); la massima dimensione della tabella delle pagine (in numero di descrittori). SOLUZION. Massimo numero di segmenti di un processo:.. segmenti imensione di una pagina: 2 2 = 4K 6. Massima dimensione di un segmento :.. pagine. Massimo numero di descrittori nella tabella delle pagine:..

sercizio Segmentazione paginata 2 Si consideri un sistema che gestisce la memoria con segmentazione, con spazio logico suddiviso in segmento codice, segmento dati e pila (rispettivamente individuati dagli indici,, 2) e caricamento in partizioni variabili con rilocazione dinamica. A un certo istante i registri base e limite del segmento codice, dati e pila hanno rispettivamente i valori =.4 e L= 38., = 2. e L= 8.22 e 2=. e L2= 3.2. Supponendo che il processo in esecuzione riferisca i seguenti indirizzi logici, formati da coppie contenenti l indice di segmento e l offset,. <,.4>, 2. <2, 3.>, 3. <3,.>, 4. <, 2.3>, si chiede se ognuno dei precedenti indirizzi logici è legittimo e, in caso affermativo, di qual è il corrispondente indirizzo fisico. Soluzione Indirizzo logico Legittimo? Indirizzo fisico <,.4>, <2, 3.>, <3,.>, <, 2.3>,

SRIZIO e daemon Un sistema operativo simile a UNIX, che gestisce la memoria con paginazione a domanda, utilizza il processo eaemon, con parametri lotsfree= e minfree=2, e l algoritmo di sostituzione Second hance. Gli elementi della oremap hanno i campi (processo a cui è assegnato il blocco; il campo è vuoto se il blocco è libero); (pagina del processo caricata nel blocco), (bit di pagina riferita utilizzato da Second hance). Al tempo t sono presenti i processi A,,, e la ore Map ha la configurazione mostrata in figura, con il puntatore dell algoritmo di sostituzione posizionato sul blocco. I primi 6 blocchi della memoria fisica sono riservati al sistema operativo e sono ignorati dall algoritmo di sostituzione. A A A 2 6 3 2 6 2 3 2 locco 2 3 4 6 8 2 3 4 6 8 2 2 22 23 ore Map al tempo t Il eaemon interviene al tempo t e successivamente ogni msec. Ad ogni intervento, eaemon avanza per msec occupando in modo esclusivo il processore e scarica fino a 3 pagine o, in alternativa, se il numero di pagine libere è minore di minfree, esegue lo swapout di un processo. La selezione dei processi candidati allo swapout avviene in ordine alfabetico. In caso di errori di pagina, i blocchi liberi vengono assegnati in ordine crescente di indice. onsiderare la seguente evoluzione del sistema:. al tempo t al tempo t+ avanza il processo eaemon; 2. al tempo t+ al tempo t+ avanzano i processi e, che riferiscono nell ordine le pagine,, 6, 2,, 4, 2, 3. al tempo t+ al tempo t+ avanza il processo eaemon; 4. al tempo t+ al tempo t+2 avanzano i processi e, che riferiscono nell ordine le pagine 3, 6, 2,,, 2, 3, ;. al tempo t+2 al tempo t+2 avanza il processo eaemon. Mostrare la configurazione della oremap ai tempi,,, 2 e 2 SOLUZION (Modificare la configurazione iniziale della oremap, aggiornando anche la posizione del puntatore) locco 2 3 4 6 8 2 3 4 6 8 2 2 22 23 ore Map al tempo t+ loc co 2 3 4 6 8 2 3 4 6 8 2 2 22 23 ore Map al tempo t+ loc co 2 3 4 6 8 2 3 4 6 8 2 2 22 23 ore Map al tempo t+

locco 2 3 4 6 8 2 3 4 6 8 2 2 22 ore Map al tempo t+2 locco 2 3 4 6 8 2 3 4 6 8 2 2 22 ore Map al tempo t+2

SRIZIO e daemon bis Un sistema operativo simile a UNIX, che gestisce la memoria con paginazione a domanda, utilizza il processo eaemon, con parametri lotsfree= e minfree=4, e l algoritmo di sostituzione Second hance. Per l eventuale swapout, i processi sono considerati in ordine alfabetico. Notare che non si considera il parametro desfree. Gli elementi della oremap hanno i campi (processo a cui è assegnato il blocco), (pagina del processo caricata nel blocco) e (bit di uso, utilizzato da Second hance); questi campi sono vuoti se il blocco è libero. I blocchi di indici,, 2, 3, 4, e sono riservati al sistema operativo e sono ignorati dal eaemon. Il eaemon interviene al tempo t sono quando sono presenti i processi A,,,, e rimane in esecuzione per tutto il tempo necessario ad applicare la sua politica, utilizzando in modo esclusivo il processore (in altri termini, nessuno dei processi avanza in questo intervallo di tempo. onsiderando le ipotesi a), b), c) d) per la configurazione della oremap e per la posizione del puntatore al tempo t, definire per ciascuna ipotesi la configurazione della oremap e la posizione del puntatore al termine dell intervento del eaemon (riempire solo le caselle modificate). Inoltre elencare, con formato (proc, pag), le pagine eventualmente scaricate o i processi eventualmente scaricati. SOLUZION Ipotesi a) S. S. S. S. S. S. A A O. O. O. O. O. O. 2 3 2 4 A 3 A 8 8 A A 2 6 4 2 3 2 3 4 6 8 2 3 4 8 2 2 22 23 24 2 26 2 28 2 3 3 32 33 34 3 36 3 38 3 6 onfigurazione della oremap e posizione del puntatore al tempo t (per esempio: il blocco 2 è assegnato alla pagina del processo, con bit di uso,e il puntatore è posizionato sul blocco 2) S. S. S. S. S. S. O. O. O. O. O. O. 2 3 4 6 8 2 3 4 6 8 2 2 22 23 24 2 26 2 28 2 3 3 32 33 34 3 36 3 38 3 onfigurazione della oremap e posizione del puntatore al termine dell intervento di eaemon ine scaricate:. essi scaricati:. Ipotesi b) S. S. S. S. S. S. A O. O. O. O. O. O. 2 2 4 A 3 2 3 4 6 8 2 3 4 S. S. S. S. S. S. O. O. O. O. O. O. A 6 8 8 A 2 6 4 2 8 2 2 22 23 24 2 26 2 28 2 3 3 32 33 34 3 36 3 38 3 onfigurazione della oremap e posizione del puntatore al tempo t 2 3 4 6 8 2 3 4 6 8 2 2 22 23 24 2 26 2 28 2 3 3 32 33 34 3 36 3 38 3 onfigurazione della oremap e posizione del puntatore al termine dell intervento di eaemon ine scaricate:. essi scaricati:. Ipotesi c) S. S. S. S. S. S. A O. O. O. O. O. O. 2 A 3 2 4 A 3 3 2 3 4 6 8 2 3 4 6 A 8 8 A A onfigurazione della oremap e posizione del puntatore al tempo t 2 6 4 2 3 8 2 2 22 23 24 2 26 2 28 2 3 3 32 33 34 3 36 3 38 3

S. S. S. S. S. S. O. O. O. O. O. O. 2 3 4 6 8 2 3 4 6 8 2 2 22 23 24 2 26 2 28 2 3 3 32 33 34 3 36 3 38 3 onfigurazione della oremap e posizione del puntatore al termine dell intervento di eaemon ine scaricate:. essi scaricati:. Ipotesi d) S. S. S. S. S. S. A O. O. O. O. O. O. 2 A 3 2 4 A 2 3 3 2 3 4 6 8 2 3 4 6 S. S. S. S. S. S. O. O. O. O. O. O. A onfigurazione della oremap e posizione del puntatore al tempo t 2 3 4 6 8 2 3 4 6 8 8 A 8 A 2 6 4 2 3 8 2 2 22 23 24 2 26 2 28 2 3 3 32 33 34 3 36 3 38 3 8 2 2 22 23 24 2 26 2 28 2 3 3 32 33 34 3 36 3 38 3 onfigurazione della oremap e posizione del puntatore al termine dell intervento di eaemon ine scaricate:.essi scaricati:.

sercizio second chance Un sistema operativo simile a UNIX, che gestisce la memoria con paginazione a domanda, utilizza il processo eaemon, con parametri lotsfree= e minfree=3, e l algoritmo di sostituzione Second hance. Gli elementi della oremap hanno i campi (processo a cui è assegnato il blocco; il campo è vuoto se il blocco è libero); (pagina del processo caricata nel blocco), (bit di pagina riferita utilizzato da Second hance). Al tempo t sono presenti i processi A,,, e la ore Map ha la configurazione mostrata in figura, con il puntatore dell algoritmo di sostituzione posizionato sul blocco. I primi 2 blocchi della memoria fisica sono riservati al sistema operativo e sono ignorati dall algoritmo di sostituzione. A A A A A A 2 6 4 4 3 6 4 2 3 8 locco 2 3 4 6 8 2 3 4 6 8 2 2 22 23 ore Map al tempo t eaemon interviene al tempo t e successivamente ogni msec. Ad ogni intervento, eaemon avanza per msec occupando in modo esclusivo il processore e scarica fino a 4 pagine (per arrivare a lotsfree pagine libere) se il numero di pagine libere è almeno minfree. Se invece il numero di pagine libere è minore di minfree, allora esegue lo swapout di uno o più processi fino ad arrivare ad almeno lotsfree pagine libere. La selezione dei processi candidati allo swapout avviene in ordine di dimensione (per primi i processi più grandi). In caso di errori di pagina, i blocchi liberi vengono assegnati in ordine crescente di indice. onsiderare la seguente evoluzione del sistema (i tempi sono espressi in millisecondi): al tempo t al tempo t+ avanza il processo eaemon; al tempo t+ al tempo t+ i processi A,, e riferiscono nell ordine le pagine: A, 3,,, 2, 6, 3, 2,,, al tempo t+ al tempo t+ avanza il processo eaemon; al tempo t+ al tempo t+2 i processi A,, e riferiscono nell ordine le pagine: A2, A, A, A, A4,,, 6,, 6, al tempo t+2 al tempo t+2 avanza il processo eaemon. Mostrare la configurazione della oremap ai tempi,,, 2 e 2 Soluzione (Modificare incrementalmente la configurazione iniziale della oremap, aggiornando anche la posizione del puntatore) locco 2 3 4 6 8 2 3 4 6 8 2 2 22 23 ore Map al tempo t+ ine scaricate: locco 2 3 4 6 8 2 3 4 6 8 2 2 22 23 ore Map al tempo t+ locco 2 3 4 6 8 2 3 4 6 8 2 2 22 23 ore Map al tempo t+ ine scaricate:

locco 2 3 4 6 8 2 3 4 6 8 2 2 22 23 ore Map al tempo t+2 locco 2 3 4 6 8 2 3 4 6 8 2 2 22 23 ore Map al tempo t+2 ine scaricate:

sercizio LRU locale e working set In un sistema che gestisce la memoria con paginazione, sono presenti i processi A, e. Lo stato di occupazione della memoria al tempo è descritto dalla seguente ore Map, dove per ogni blocco si specifica il processo a cui appartiene la pagina caricata e l indice della pagina medesima. Ad esempio, nel blocco è caricata la pagina 6 del processo. A A A A A A A 4 8 8 2 6 3 4 3 2 locc o 2 3 4 6 8 2 3 4 6 8 2 2 22 23 A un certo tempo le tabelle delle pagine dei tre processi sono le seguenti, dove il campo contiene il tempo virtuale (locale al processo) al quale è avvenuto l ultimo riferimento alla pagina. ina locco ina locco ina locco 6 2 2 2 23 2 3 3 6 3 2 3 4 4 3 8 4 2 4 4 3 6 6 2 6 2 2 8 4 6 8 8 8 8 6 8 8 8 2 esso A esso esso Per la gestione della memoria si utilizza un algoritmo di sostituzione LRU locale con controllo del working set. Il working set assegnato ai tre processi (inteso come numero di blocchi a disposizione del processo, anche se momentaneamente non occupati) ha dimensione. Al verificarsi di un errore di pagina, la pagina riferita viene caricata in un blocco disponibile se il numero di blocchi occupati dal processo è minore del limite assegnato al suo working set; in caso contrario si applica l algoritmo di sostituzione. I blocchi disponibili vengono assegnati in ordine crescente di indice. Si chiede come si modificano la ore Map e le Tabelle delle pagine se, a partire dal tempo considerati, si verificano le seguenti sequenze di riferimenti alla memoria (considerare le due alternative): 3. Alternativa : - ai tempi 2, 22, 23 e 24 il processo A riferisce le pagine 2, 3,, 8; - quindi ai tempi 3, 4, e 6 il processo riferisce le pagine,, 4, 4. Alternativa 2: - ai tempi 3, 4, e 6 il processo riferisce le pagine,, 6, ; - quindi ai tempi, 2, 2 e 22 il processo riferisce le pagine,, 6, Soluzione. Alternativa (mostrare solo gli elementi che cambiano) locc o 2 3 4 6 8 2 3 4 6 8 2 2 22 23 ina locco ina locco ina locco 2 2 2 3 3 3 4 4 4 6 6 6

8 8 8 esso A esso esso 6. Alternativa 2: (mostrare solo gli elementi che cambiano) locc o 2 3 4 6 8 2 3 4 6 8 2 2 22 23 ina locco ina locco ina locco 2 2 2 3 3 3 4 4 4 6 6 6 8 8 8 esso A esso esso

sercizio inazione a domanda Un sistema operativo simile a UNIX, che gestisce la memoria con paginazione a domanda, utilizza il processo eaemon, con parametri lotsfree= 6 e minfree=2, e l algoritmo di sostituzione Second hance globale. Gli elementi della oremap hanno i campi (processo a cui è assegnato il blocco; il campo è vuoto se il blocco è libero); (pagina del processo caricata nel blocco), (bit di pagina riferita utilizzato da Second hance). Al tempo t sono presenti i processi A,,, e la ore Map ha la configurazione mostrata in figura, con il puntatore dell algoritmo di sostituzione posizionato sul blocco 6. A A A A 8 3 6 2 6 3 2 8 locco 2 3 4 6 8 2 3 4 6 8 2 2 ore Map al tempo t Il eaemon interviene al tempo t e successivamente ogni msec. Ad ogni intervento, eaemon avanza per msec occupando in modo esclusivo il processore e scarica pagine occupate fino a che il numero di pagine libere è pari a lotsfree+2 o, in alternativa, se il numero di pagine libere è minore di minfree, esegue lo swap out di alcuni processi. Per semplicità, la selezione dei processi candidati allo swap out avviene in ordine di dimensione (per primi i processi che occupano più blocchi), e i processi vengono scaricati finché in memoria ci sono almeno lotsfree+2 blocchi liberi. Il eaemon esegue anche lo swap in dei processi (sempre in ordine di dimensione), dei quali vengono caricate in memoria le sole pagine riferite al momento dello swap out. Lo swap in avviene quando il numero di blocchi liberi è pari al numero di pagine del processo da caricare più lotsfree+2. In caso di errori di pagina, i blocchi liberi vengono assegnati in ordine crescente di indice. onsiderare la seguente evoluzione del sistema:. al tempo t al tempo t+ avanza il processo eaemon; 2. al tempo t+ al tempo t+ avanzano i processi A, e, che riferiscono nell ordine le pagine A, 6, A, A8,,,, 8,,,, 8 3. al tempo t+ al tempo t+ avanza il processo eaemon; 4. al tempo t+ al tempo t+2 avanzano i processi, e, che riferiscono nell ordine le pagine A, A,, 2, 3,,, 2,,, 6. al tempo t+2 al tempo t+2 avanza il processo eaemon. Mostrare la configurazione della oremap ai tempi,,, 2 e 2 Soluzione (Modificare incrementalmente la configurazione iniziale della oremap, aggiornando anche la posizione del puntatore) locco 2 3 4 6 8 2 3 4 6 8 2 2 ore Map al tempo t+ Swapin dei processi: Swapout dei processi: Scaricate le pagine: locco 2 3 4 6 8 2 3 4 6 8 2 2 ore Map al tempo t+ aricate le pagine:

locco 2 3 4 6 8 2 3 4 6 8 2 2 ore Map al tempo t+ Swapin dei processi: Swapout dei processi: Scaricate le pagine: locco 2 3 4 6 8 2 3 4 6 8 2 2 ore Map al tempo t+2 aricate le pagine: locco 2 3 4 6 8 2 3 4 6 8 2 2 ore Map al tempo t+2 Swapin dei processi: Swapout dei processi: Scaricate le pagine:

sercizio LRU globale In un sistema che gestisce la memoria con paginazione, sono presenti i processi A, e. Lo stato di occupazione della memoria al tempo è descritto dalla seguente tabella, dove per ogni blocco si specifica nell ordine: il processo a cui appartiene la pagina caricata, l indice della pagina e il tempo al quale è avvenuto l ultimo riferimento alla pagina stessa. Ad esempio, nel blocco è caricata la pagina 6 del processo, il cui ultimo riferimento è avvenuto al tempo. SO SO SO SO SO SO,3 A,,,,6, A,4,3 A,,,4 A, 2 3 8 2 6 4 2 3 4 6 8 2 3 4 6 8 Per la gestione della memoria si utilizza un algoritmo di sostituzione LRU globale. Si considerino le seguenti sequenze di eventi (da considerare in alternativa): a) Il processo A riferisce la pagina 3 al tempo 3, la pagina 6 al tempo 4 e la pagina 4 al tempo ; b) Il processo A riferisce la pagina 8 al tempo 3, la pagina al tempo 4 e la pagina al tempo ; c) Il processo riferisce la pagina 4 al tempo 3, la pagina al tempo 4 e la pagina 8 al tempo ; ire quali pagine vengono scaricate dalla memoria e caricate in memoria ai tempi t= 3, t=4 e t=: Soluzione (a) (b) (c) t= ina scaricata ina caricata... Nel blocco 3 4 3 4 3 4

sercizio Working set Un sistema simile a Windows gestisce la memoria con paginazione a domanda mediante un Working Set Manager. A un certo tempo, lo stato di occupazione della memoria (senza considerare i blocchi riservati al sistema operativo) è quello descritto nella seguente ore Map, i cui elementi hanno valore nullo se il blocco è libero, o altrimenti identificano il processo e la pagina a cui il blocco è assegnato.,6 A, A,,4,2 A,,,,6,2,, A,, 4 2 8 2 3 4 6 8 2 2 22 23 24 2 26 2 28 2 Nel sistema sono presenti i processi A, e, le cui tabelle delle pagine sono le seguenti (il campo Tempo registra il tempo virtuale del processo al quale è avvenuto l ultimo riferimento alla pagina): ina locco Tempo ina locco Tempo ina locco Tempo 2 4 2 8 2 23 2 3 3 3 3 4 3 4 6 4 26 2 6 6 6 22 2 2 8 4 8 8 28 6 esso A - esso - 4 esso - 6 A ogni processo è assegnato un WorkingSet Ammissibile di 4 pagine. Per ogni pagina riferita da un processo che avanza, si procede nel modo seguente: Se la pagina è presente in memoria, si scrive il valore attuale del tempo virtuale del processo nel campo Tempo della tabella delle pagine. Se si verifica un efault, la pagina riferita viene caricata in un blocco disponibile (anche se il numero di pagine caricate, o insieme residente, supera la dimensione del Working Set Ammissibile), registrando il valore attuale del tempo virtuale del processo nel campo Termpo. I blocchi disponibili vengono assegnati in ordine crescente di indice. Il Working Set Manager viene attivato quando il numero di blocchi disponibili si riduce a 2, e si comporta nel modo seguente: - considera i soli processi la cui dimensione dell insieme residente (numero di pagine caricate in memoria) superi quello del WorkingSet Ammissibile (che è 4 per tutti i processi) e per questi processi ordina globalmente le pagine per valori decrescenti del parametro TempoVirtuale- Tempo, dove TempoVirtuale è il valore attuale del tempo virtuale del processo; - scarica dalla memoria le pagine secondo questo ordinamento, fino a quando il numero di blocchi disponibili diventa uguale a 8. In caso di parità tra due o più pagine si considera l ordine alfabetico dei processi. A partire dal tempo considerato il sistema evolve nel modo seguente: Avanza il processo, che ai tempi virtuali 2, 3, 4 e riferisce rispettivamente le pagine, 2,, e Avanza il processo, che ai tempi virtuali,, 2, 3 e 4 riferisce rispettivamente le pagine 6,,, 6 e 8. Si chiede la configurazione della oremap e delle tabelle delle pagine dei 3 processi al termine dei punti e 2. Nei casi nei quali viene eseguito il Working Set Manager indicare anche il tempo virtuale dei processi al momento dell esecuzione del Working Set Manager, e quante e quali pagine vengono rimosse. Soluzione ) onfigurazione della oremap e delle tabelle delle pagine al termine del punto : Vengono caricate le pagine: Viene quindi eseguito il Working Set Manager [SI/NO]? Se SI: il Working Set Manager rimuove le pagine:

ore Map e tabelle delle pagine al termine del punto : 2 3 4 6 8 2 2 22 23 24 2 26 2 28 2 ina locco Tempo ina locco Tempo ina locco Tempo 2 2 2 3 3 3 4 4 4 6 6 6 8 8 8 esso A esso esso 2) onfigurazione della oremap e delle tabelle delle pagine al termine del punto 2: Vengono caricate le pagine: Viene quindi eseguito il Working Set Manager [SI/NO]? Se SI: il Working Set Manager rimuove le pagine: ore Map e tabelle delle pagine al termine del punto 2: 2 3 4 6 8 2 2 22 23 24 2 26 2 28 2 ina locco Tempo ina locco Tempo ina locco Tempo 2 2 2 3 3 3 4 4 4 6 6 6 8 8 8 esso A esso esso