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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 Nome: Cognome: Matricola: fila: posto: corso: aula: Esercizio 1 (4 punti) Un sistema operativo simile a UNIX gestisce la memoria con paginazione a domanda mediante il processo PageDaemon (con parametri Lotsfree e MinFree), che applica l algoritmo di sostituzione Second Chance. Ad ogni intervento, il processo PageDaemon si comporta nel modo seguente: se NumeroDiBlocchiLiberi MinFree e NumeroDiBlocchiLiberi < LotsFree, applica ripetutamente l algoritmo Second Chance sui blocchi che contengono pagine caricate in memoria, e ogni volta scarica la pagina da questo selezionata come vittima, finchè NumeroDiBlocchiLiberi = Lotsfree + 2; se NumeroDiBlocchiLiberi < MinFree esegue lo swapout di uno o più processi, finché diviene NumeroDiBlocchiLiberi Lotsfree. Per lo swapout dei processi si segue l ordine alfabetico. Gli elementi della CoreMap hanno i campi Proc (processo a cui è assegnato il blocco; il campo è vuoto se il blocco è libero); Pag (pagina del processo caricata nel blocco), Rif (bit di pagina riferita, utilizzato da Second Chance). Al tempo t (quando sono presenti i processi A, B, C, D, la Core Map ha la configurazione mostrata in tabella (non sono mostrati i blocchi assegnati al sistema operativo) e il viene attivato il processo il PageDaemon. Proc D C C C B A C B C B B A D D D B C B A D A Pag Rif Blocco Core Map al tempo t Si chiede quali sono le pagine scaricate dal processo PageDaemon e la configurazione della CoreMap nelle seguenti ipotesi (alternative): a) PageDaemon ha parametri Lotsfree= 5 e MinFree= 3 e il puntatore dell algoritmo di SecondChance è posizionato sul blocco 7; b) PageDaemon ha parametri Lotsfree= 7 e MinFree= 3 e il puntatore dell algoritmo di SecondChance è posizionato sul blocco 14. Ipotesi a) Si ha NumeroDiBlocchiLiberi = MinFree e NumeroDiBlocchiLiberi < LotsFree e pertanto PageDaemon applica ripetutamente l algoritmo Second Chance per scaricare 4 pagine. Vengono scaricate le pagine B-0; C-2; B-3; A-2. La configurazione finale della CoreMap è la seguente: Proc D C C C B A C B B A D D D B C A D Pag Rif Blocco Ipotesi b) Si ha NumeroDiBlocchiLiberi = MinFree e NumeroDiBlocchiLiberi < LotsFree e pertanto PageDaemon applica ripetutamente l algoritmo Second Chance per scaricare 6 pagine. Vengono scaricate le pagine B-3, A-2, C-5, C-10, A-0, B-0. La configurazione finale della CoreMap è la seguente: Proc D C B C C B B A D D D B C A D Pag Rif Blocco

2 Ipotesi a) Vengono scaricate le pagine: La configurazione finale della CoreMap è la seguente: Proc Pag Rif Blocco Ipotesi b) Vengono scaricate le pagine: La configurazione finale della CoreMap è la seguente: Proc Pag Rif Blocco Esercizio 2 (5 punti) Spiegare la differenza tra algoritmi di sostituzione locali e globali. Dire poi in quale di queste due classi rientra l algoritmo del working set motivando la risposta. (max. 5 righe): Si consideri un sistema che gestisce la memoria con paginazione a domanda, applicando una politica di controllo dinamico del Working Set. Per ogni processo sono definiti i seguenti dati: l intero MaxBlocchi: massimo numero di blocchi disponibili per il caricamento del Working Set, che viene ridefinito periodicamente dal demone WorkingSetManager; l intero PagineResidenti, uguale al numero di pagine attualmente caricate in memoria e variabile nel tempo; la tabella delle pagine di ogni processo, con campi Blocco, R (bit di pagina riferita) e TUR (tempo di ultimo riferimento). In particolare, il valore di R è quello usuale (0 se la pagina non è stata riferita, 1 altrimenti). Invece il valore di TUR viene aggiornato al tempo attuale ogni volta che l algoritmo di sostituzione trova il bit R della pagina a 1 e lo resetta. Quando un processo avanza, per ogni pagina riferita: se il riferimento non determina un Page Fault la pagina viene marcata come riferita; se il riferimento determina Page Fault, la pagina riferita viene caricata nel blocco libero individuato dal primo elemento della lista dei blocchi liberi in memoria (che si suppone sempre non vuota), viene aggiornata conseguentemente la tabella delle pagine (inizializzando il valore di TUR al tempo attuale e ponendo R=1) e viene incrementata la variabile PagineResidenti; Il demone WorkingSetManager, che interviene periodicamente, esegue le seguenti operazioni per ogni processo: Fase 1) per ogni pagina residente in memoria, se R= 1 assegna TUR= tempo attuale e pone R=0. Fase 2) per ogni processo: se PagineResidenti>MaxBlocchi: scarica dalla memoria principale PagineResidenti MaxBlocchi, selezionandole in ordine crescente del valore di TUR;

3 se per l ultima pagina scaricata si ha TUR > tempo_attuale 20, incrementa MaxBlocchi; se invece PagineResidenti< MaxBlocchi, decrementa MaxBlocchi. Al tempo T1=25, subito dopo un intervento di WorkingSetManager, per il processo P si ha MaxBlocchi = 6 e la tabella delle pagine ha la seguente configurazione: Pagina Blocco R TUR Inoltre, sempre al tempo T1, la lista dei blocchi liberi in memoria sia: , Tra il tempo T1 e il tempo T2=35 avanza il processo P, poi al tempo T2 viene eseguito nuovamente il demone WorkingSetManager. Si chiede di mostrare il valore di PagineResidenti, di MaxBlocchi e la tabella delle pagine del processo P al tempo T2=35 prima dell esecuzione del WorkingSetManager; al termine della prima fase di esecuzione del WorkingSetManager (al tempo T3=36) e al termine dell esecuzione del WorkingSetManager (al tempo T4=37), nelle seguenti ipotesi (da considerare in alternativa): 1) Durante la sua esecuzione il processo P riferisce nell ordine le seguenti pagine: 8 (26), 10(27), 0(28), 3(29), 8(30), 11(31), 0(32), 11(33), 3(34), 2(35) (nota: tra parentesi è indicato l istante di riferimento). T2: Tabella delle Pagine T3: Tabella delle Pagine T4: Tabella delle Pagine Pagina Blocco R TUR Pagina Blocco R TUR Pagina Blocco R TUR Pagine Residenti= ; Pagine Residenti= ; Pagine Residenti= ; MaxBlocchi= ; MaxBlocchi= ; MaxBlocchi= ; 2) Durante la sua esecuzione il processo P riferisce nell ordine le seguenti pagine: 11(26), 2(27), 0(28), 2(29), 11(30), 6(31), 0(32), 2(33), 9(34), 5(35) (nota: tra parentesi è indicato l istante di riferimento). T2: Tabella delle Pagine T3: Tabella delle Pagine T4: Tabella delle Pagine Pagina Blocco R TUR Pagina Blocco R TUR Pagina Blocco R TUR

4 Pagine Residenti= ; Pagine Residenti= ; Pagine Residenti= ; MaxBlocchi= ; MaxBlocchi= ; MaxBlocchi= ; 1) il processo P e riferisce le pagine: 8 (26), 10(27), 0(28), 3(29), 8(30), 11(31), 0(32), 11(33), 3(34), 2(35) T2=35: Tabella delle Pagine T3: Tabella delle Pagine T4: Tabella delle Pagine Pagina Blocco R TUR Pagina Blocco R TUR Pagina Blocco R TUR Pagine Residenti= 8; MaxBlocchi=6; Pagine Residenti= 8; MaxBlocchi=6; Pagine Residenti=6; MaxBlocchi=6 2) il processo P e riferisce le pagine: 11(26), 2(27), 0(28), 2(29), 11(30), 6(31), 0(32), 2(33), 9(34), 5(35) T2=35: Tabella delle Pagine T3: Tabella delle Pagine T4: Tabella delle Pagine Pagina Blocco R TUR Pagina Blocco R TUR Pagina Blocco R TUR Pagine Residenti= 10; MaxBlocchi=6; Pagine Residenti= 10; MaxBlocchi=6; Pagine Residenti=6; MaxBlocchi=7

5 Esercizio 3 (5 punti) Spiegare (in al max. 5 righe) i vantaggi gli svantaggi di un file system FAT rispetto ad FFS ed NTFS. In un file system simile a UNIX i blocchi del disco hanno ampiezza di 1 Kbyte e i puntatori ai blocchi sono a 32 bit. Gli i-node contengono, oltre agli altri attributi, 5 puntatori diretti e 3 puntatori indiretti (indiretto singolo, doppio e triplo). Il primo blocco del disco ha indice 0. Si consideri il file corrispondente all i-node 22, lungo bytes, e allocato sulla sequenza di blocchi contigui da a Il blocco indice di primo livello collegato dal puntatore indiretto singolo dell i-node è il Il file è aperto in lettura/scrittura ed è individuato dal file descriptor fd, l ultimo byte letto dal file è il 8.999, per cui la posizione dell I/O pointer per la prossima operazione sul file è il byte In questo stato viene effettuata un operazione di scrittura: write(fd, &buf, 6.000) con cui si scrivono caratteri (ciascuno di un byte) sul file a partire dalla posizione Si suppone che l operazione termini con successo. Nell ipotesi che, al momento nel quale venga richiesta l operazione di scrittura, i blocchi liberi nel disco siano (nell ordine): 1000, 1001, 1002, 1003, 1004, 1005, 1006, e che i blocchi vengano allocati ai file attingendo a questa lista in ordine crescente, si chiede: 1. Quanti (e quali) blocchi logici contiene il file dopo la scrittura e a quali blocchi fisici corrispondono 2. Quali blocchi del disco sono stati modificati dall operazione di scrittura 3. Quale è il contenuto dell i-node del file dopo l operazione di scrittura 4. Quali è il contenuto del blocco (blocco indice di primo livello) 5. Quanti byte del file sono contenuti nell ultimo blocco fisico allocato al file 1. Dopo la scrittura il file ha dimensione bytes, quindi contiene div = 15 blocchi logici numerati da 0 a 14. I blocchi logici sono allocati rispettivamente sui blocchi fisici da a e da a Dato che la scrittura inizia a partire dal blocco logico div 1024 = 8, i blocchi logici modificati dall operazione di scrittura sono quelli da 8 a 14, corrispondenti ai blocchi fisici: 2008, 2009, 2010, 2011, 1000, 1001, In aggiunta è modificato anche il blocco indice L i-nodo del file è: Puntatore Valore del puntatore Il file ha bisogno di un solo blocco indice, il 4.000, che contiene: Indice di elemento nel blocco Valore del puntatore

6 L ultimo blocco dati (il 1002), contiene ((15000) mod 1024) byte = 664 byte 1. Dopo la scrittura il file contiene i blocchi logici da a corrispondenti ai blocchi fisici: 2. I blocchi fisici modificati dall operazione di scrittura sono: 3. L i-nodo del file è: Puntatore Valore del puntatore 4. Il contenuto del blocco è: Indice di elemento nel Valore del puntatore Indice di elemento nel Valore del puntatore blocco blocco L ultimo blocco dati contiene byte Esercizio 4 (3 punti) Spiegare la differenza tra thread I/O bound e CPU-Bound (max. 5 righe): In un sistema ad un dato istante di tempo t termina il processo in esecuzione mentre nella coda pronti sono presenti i processi A, B,C,D,E, con durate residue di esecuzione mostrate nella tabella. Processo Tempo di arrivo Durata A t-5 23 B t-4 41 C t-3 12

7 D t-2 15 E t-1 20 Assumendo che tutti i processi avanzino senza mai sospendersi fino alla loro terminazione e che i tempi di esecuzione dello scheduler e della commutazione di contesto siano trascurabili, calcolare il tempo di permanenza nel sistema di ogni processo (definito come differenza tra il tempo di completamento dell esecuzione e il tempo di arrivo nel sistema,) e il tempo medio di permanenza dei processi, con le seguenti politiche di scheduling 1. Politica round robin con quanto di tempo di 10 ms e con i processi in coda pronti nell ordine A, B, C, D, E. 2. Politica SJF (Shortest Job First). 1. Politica round robin: processo in Inizio quanto di Fine quanto di Tempo residuo di esecuzione esecuzione tempo (t+ ) tempo (t+ ) A B C D E A B C Terminato al tempo 72 D Terminato al tempo 77 E Terminato al tempo 87 A Terminato al tempo 90 B Terminato al tempo 111 Pertanto: PROCESSO TEMPO DI ARRIVO TERMINA ESECUZIONE TEMPO DI PERMANENZA NEL SISTEMA A t-5 t B t-4 t C t-3 t D t-2 t E t-1 t Tempo medio di permanenza: ( )/5=90,4 msec 2. Politica SJF: PROCESSO TEMPO DI ARRIVO INIZIA ESECUZIONE TERMINA ESECUZIONE TEMPO DI PERMANENZA NEL SISTEMA C t-3 t+0 t D t-2 t+12 t+12+15= t E t-1 t+27 t+27+20= t A t-5 t+47 t+47+23= t B t-4 t+70 t+70+41= t Tempo medio di permanenza: ( )/5=56,4 msec 1. Politica round robin: PROCESSO TEMPO DI ARRIVO TERMINA ESECUZIONE TEMPO DI PERMANENZA NEL SISTEMA

8 A 0 B 0 C 0 D 0 E 0 Tempo medio di permanenza: msec 2. Politica SJF: PROCESSO TEMPO DI ARRIVO INIZIA ESECUZIONE C 0 D 0 E 0 A 0 B 0 Tempo medio di permanenza: msec TERMINA ESECUZIONE TEMPO DI PERMANENZA NEL SISTEMA Esercizio 5 (5 punti) In un file system NTFS con blocchi di dimensione 2KB e puntatori a 32 bit, la lista dei blocchi liberi per l allocazione contiene i blocchi: 1000, 1001, 1002, 1003, 5000, 5001, 5002,. Nel file system è presente il file LITTLE di dimensione bytes, che è allocato sui blocchi: 900, 901, 902, 950, 951 e che è già aperto dal file system con file descriptor fd. Si considerino i seguenti casi (in alternativa): 1. sul file viene eseguita l operazione: write(fd, &buf, 8000) a partire dalla fine del file (quindi dal byte 9.000) 2. sul file viene eseguita l operazione: write(fd, &buf, ) a partire dall inizio del file (quindi dal byte 0) 3. sul file viene eseguita l operazione: write(fd, &buf, 4096) a partire dal byte 8192 dire per ogni caso quali run occupa il file e quanti bytes sono contenuti nell ultimo blocco allocato al file. caso Run del file Bytes allocati nell ultimo blocco del file 1) 2) 3) Inoltre nel file system è anche allocato il file VERYLITTLE che contiene solo la stringa almost empty. Discutere il contenuto dell MFT record che lo descrive (max. 5 righe)

9 Caso Run del file Bytes allocati nell ultimo blocco del file 1) <900,3>, <950,2>, <1000,4> 616 2) <900,3>, <950,2>, <1000,2> 712 3) <900,3>, <950,2>, <1000,1> 2048 Nel caso del file VERYLITTLE, l intero file è memorizzato direttamente nel MFT record: metadati Nomefile, VERYLITTLE Contenuto, almost empty NULL Esercizio 6 (5 punti) Discutere i vantaggi della tecnica della segmentazione rispetto a meccanismi di allocazione con partizioni variabili e di traduzione degli indirizzi con una coppia di registri base/limite (max. 5 righe) Si consideri un sistema che gestisce la memoria con paginazione e tabelle delle pagine a due livelli. Gli indirizzi logici hanno lunghezza di 32 bit e l indirizzo logico è così ripartito: indice primo livello 13 bit; indice secondo livello 8 bit, offset 11 bit. Ogni elemento di una tabella di primo o di secondo livello contiene un indice di pagina fisica formato da 20 bit più 12 bit contenenti indicatori per il gestore della memoria e attributi di protezione della pagina. Si chiede: 1. la dimensione delle pagine logiche e dei blocchi fisici; 2. il numero di elementi contenuti in una tabella di primo e di secondo livello 3. la dimensione in byte di una tabella di primo e di secondo livello; 4. la massima dimensione della memoria fisica, espressa in numero di blocchi e in numero di byte. 5. quanto è grande (in bytes) lo spazio di memoria virtuale di un processo mappato da una tabella di secondo livello 6. la tabella di secondo livello necessaria per tradurre l indirizzo logico (supponendo che la MMU nella sua cache non abbia le informazioni necessarie per tradurre questi indirizzi). 7. quali tabelle di secondo livello sono necessarie per mappare un area di memoria virtuale di 1MB che inizia all indirizzo: dimensione delle pagine logiche: dimensione dei blocchi fisici:

10 2. numero di elementi in una tabella di primo livello: numero di elementi in una tabella di secondo livello: 3. dimensione in byte di una tabella di primo livello: dimensione in byte di una tabella di secondo livello: 4. la massima dimensione della memoria fisica: blocchi, quindi bytes 5. spazio di memoria virtuale di un processo mappato da una tabella di secondo livello: 6. tabella di secondo livello necessaria per tradurre l indirizzo logico : 7. tabelle di secondo livello necessarie per mappare un area di memoria virtuale di 1MB che inizia all indirizzo : 1. dimensione delle pagine logiche: 2 KB; dimensione dei blocchi fisici: 2 KB; 2. numero di elementi in una tabella di primo livello: 8 K = 8192 elementi; numero di elementi in una tabella di secondo livello: 256 elementi; 3. dimensione in byte di una tabella di primo livello: 32 KB; dimensione in byte di una tabella di secondo livello: 1 KB; 4. la massima dimensione della memoria fisica: 2 20 blocchi, quindi 2 20 *2 11 =2 31 bytes = 2 GB 5. spazio di memoria virtuale di un processo mappato da una tabella di secondo livello: 2 11 *2 8 = 512 KB 6. la tabella di secondo livello necessaria per tradurre l indirizzo logico è data da div 2^19 = 3 7. tabelle di secondo livello necessarie per mappare un area di memoria virtuale di 1MB che inizia all indirizzo : la prima di tali tabelle è la div 2^19 = 5, quindi, dato che ogni tabella mappa ½ MB, servono: 5,6,7, che contengono rispettivamente Bytes, bytes e bytes. Esercizio 7 (3 punti) Un disco RAID di livello 4 è composto da 5 dischi fisici, numerati da 0 a 4. Le strip corrispondono a blocchi. Il disco di indice 4 è ridondante e il suo blocco di indice i contiene la parità dei blocchi di indice i dei dischi non ridondanti, cioè dei dischi 0, 1, 2 e 3. Al tempo T il controller del RAID tenta di leggere la strip 100 sul disco 0, ma il comando fallisce perché la strip viene rilevata come danneggiata. Discutere come il controller può intervenire per mascherare il guasto (max 5 righe): Una volta riparato il disco guasto, la stripe 100, contenente i blocchi di indice 100 di tutti i dischi fisici ha il contenuto mostrati in tabella (nella quale non è mostrato il contenuto del disco 4 ridondante). Disco Disco Disco Disco Disco 4

11 Dopo la riparazione del disco, al tempo T 1 arriva un comando di scrittura nella strip 100 del disco 0 del valore: Si chiede: 1) Quale è il contenuto della strip 100 del disco ridondante dopo la riparazione del guasto e prima del tempo T 1 2) Quali sono i dischi fisici sui quali si deve operare per eseguire la scrittura richiesta al tempo T 1 e di quali operazioni si tratta; 3) Quali di queste operazioni sono eseguibili in parallelo e quali vanno eseguite sequenzialmente? 4) Il contenuto della strip 100 dei dischi che vengono che vengono modificati. 1) Contenuto della strip 100 del disco ridondante 4 dopo la riparazione del guasto e prima del tempo T 1: Disco 4 2) Si devono eseguire le seguenti operazioni (indicarle secondo l ordine nel quale vengono eseguite): 1 disco/i: operazione: per quale motivo: 2 disco/i: operazione: per quale motivo: 3 disco/i: operazione: per quale motivo: 4 disco/i: operazione: per quale motivo: 5 disco/i: operazione: per quale motivo: 6 disco/i: operazione: per quale motivo: 3) Sono eseguibili in parallelo le operazioni: Vanno eseguite sequenzialmente le operazioni: 4) Queste operazioni modificano la strip 100 dei dischi e i nuovi contenuti sono i seguenti: Disco 0 Disco 1 Disco 2 Disco 3 Disco 4 1) Contenuto della strip 100 del disco ridondante 4 dopo la riparazione del guasto e prima del tempo T 1: Disco ) Si devono eseguire le seguenti operazioni: 1 lettura del vecchio valore sulla strip 100 del dischi 0 (per il ricalcolcolo della parità) 2 lettura del vecchio valore sulla strip 100 del dischi 4 (per il ricalcolcolo della parità) 3 scrittura sulla strip 100 del disco 0 (per modificare il contenuto) 4 scrittura sulla strip 100 del disco 4 (per modificare la parità ) 3) Sono eseguibili in parallelo le due operazioni di lettura [1,2], poi, in seguito, sono eseguibili in parallelo le due operazioni di scrittura [3,4] 4) Queste operazioni modificano la strip 100 dei dischi 0 e 4 e i nuovi contenuti sono i seguenti: Disco Disco Disco Disco Disco

12 Nome: Cognome: Matricola: corso: MODULO LABORATORIO Esercizio 1 (4 punti): Realizzare i metodi push e pop di una coda concorrente Q di capacità fissa (N>0) aventi la seguente segnatura: int push(queue_t* Q, void* p); void* pop(queue_t* Q); L implementazione dei due metodi deve essere fatta utilizzando le primitive della libraria POSIX Thread (PThread). Nello specifico: il metodo push blocca il thread chiamante se la coda Q è piena; ritorna 0 in caso di inserimento con successo e -1 in caso di errore settando opportunamente errno. Se l invocazione va a buon fine, il dato puntato dal parametro p viene inserito in fondo alla coda Q. il metodo pop blocca il thread chiamante se la coda è vuota; ritorna NULL in caso di errore settando opportunamente errno, altrimenti ritorna il puntatore al dato estratto dalla testa della coda Q. Definire il tipo queue_t con tutto quanto necessario per implmentare i due metodi push e pop. typedef struct queue_t { queue_t; int push(queue_t *Q, void *data) { if (Q==NULL data==null) { ; ;...; while(q len >= Q->N) {...; Q buffer[q tail] = data; Q tail = (Q tail +1) % Q->N;.;.;.; void* pop(queue_t *Q) { if (Q==NULL) {.;.;..; while( Q->len == 0 ) {.; data = Q buffer[q head]; Q head = (Q head +1) % Q->N;.;.;.;

13 typedef struct queue_t { void **buffer; size_t head, tail, N, len; pthread_mutex_t mutex; pthread_cond_t full, empty; queue_t; int push(queue_t *Q, void *data) { if (Q==NULL data==null) { errno=einval; return -1; pthread_mutex_lock(&q mutex); while( Q len >= Q->N) pthread_cond_wait(&q full, &Q mutex); Q buffer[q tail] = data; Q tail = (Q tail +1) % Q->N; Q len += 1; pthread_cond_signal(&q empty); ** pthread_mutex_unlock(&q mutex); return 0; void* pop(queue_t *Q) { if (Q==NULL) { errno=einval; return NULL; pthread_mutex_lock(&q mutex); while( Q->len == 0) pthread_cond_wait(&q empty, &Q mutex); void* data = Q buffer[q head]; Q head = (Q head +1) % Q->N; Q len -= 1; pthread_cond_signal(&q full); pthread_mutex_unlock(&q mutex); return data; ** va bene anche if (Q len == 1) pthread_cond_broadcast(&q empty); va bene anche if (Q len == (q N-1)) pthread_cond_broadcast(&q full); Esercizio 2 (2 punti): Dato il seguente frammento di codice C, dare l output del programma coprendo sia i casi di successo che di fallimento delle system calls fork ed execlp. #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> #include <string.h> int main() { write(1,"ciao ", strlen("ciao ")); if (fork() == 0) { execlp("echo1", "echo", "mondo", "!", NULL); write(1, "goodbye\n", strlen("goodbye\n")); wait(null); write(1, "bye\n", strlen("bye\n")); return 0; Output:

14 Considerendo OK successo e KO fallimento, si ha: fork OK, execlp OK fork KO fork OK, execlp KO ciao mondo! bye ciao bye ciao goodbay bye bye

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

Sistemi Operativi e Laboratorio, Prova del 5/6/2017 Nome: Cognome: Matricola: fila: posto: corso: Esercizio 1 (5 punti) Un sistema operativo schedula i thread (implementati a livello del nucleo) con la tecnica delle MFQ (Multilevel Feedback Queue) e con

Dettagli

ESERCIZIO M-1 Rilocazione statica con caricamento in partizioni fisse

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

Dettagli

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

Sistemi Operativi e Laboratorio, Prova del 25/5/2016 Nome: Cognome: Matricola: fila: posto: corso: Esercizio 1 (4 punti) Un sistema con processi A, B, C, D, E e risorse dei tipi R1, R2, R3, R4, ha raggiunto lo stato mostrato nelle tabelle seguenti, che è

Dettagli

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

SOLUZIONE Istruzioni: Indirizzo logico Legittimo? Indirizzo fisico SI NO SI Dati: 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

Dettagli

SOLUZIONE Istruzioni: Indirizzo logico Legittimo? Indirizzo fisico Dati:

SOLUZIONE Istruzioni: Indirizzo logico Legittimo? Indirizzo fisico Dati: 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

Dettagli

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

Sistemi Operativi e Laboratorio, Prova del 16/1/2015 Nome: Cognome: Matricola: fila: posto: Esercizio 1 (5 punti) Si consideri un sistema dove la memoria è gestita con paginazione a domanda. La pagine logiche e i blocchi fisici hanno un ampiezza di 2 11

Dettagli

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

Sistemi Operativi e Laboratorio, Prova del 15/01/2014 Cognome e nome: Matricola: Corso [A/B] : fila: posto: Esercizio 1 (4 punti) Si consideri un processore che dispone dei registri speciali PC (program counter), PS (program status) e SP (stack pointer),

Dettagli

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

Sistemi Operativi e Laboratorio, Prova del 9/9/2014 Nome: Cognome: Matricola: fila: posto: Esercizio 1 (5 punti) Si consideri un processore che dispone dei registri speciali PC (program counter) e PS (program status), dello stack pointer SP e dei registri

Dettagli

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

Sistemi Operativi e Laboratorio, Prova del 19/12/2014 Nome: Cognome: Matricola: fila: posto: Esercizio 1 (4 punti) In un sistema che implementa i thread a livello del nucleo, m thread di uno stesso processo cooperano utilizzando il buffer condiviso buf. Il

Dettagli

Esercizio FAT 1. Soluzione:

Esercizio FAT 1. Soluzione: Esercizio FAT 1 In un disco con blocchi di 1 Kbyte (= 2 10 byte), è definito un file system FAT. Gli elementi della FAT sono in corrispondenza biunivoca con i blocchi fisici del disco. Ogni elemento ha

Dettagli

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

Esercizio FAT 1. Soluzione: 1. Capacità del disco: 2 24 blocchi (3 byte=24 bit) 2 Esercizio FAT 1 In un disco con blocchi di 1 Kbyte (= 2 10 byte), è definito un file system FAT. Gli elementi della FAT sono in corrispondenza biunivoca con i blocchi fisici del disco. Ogni elemento ha

Dettagli

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

Sistemi Operativi e Laboratorio, Prova del 05/02/2014 Cognome e nome: Matricola: Corso [A/B] : fila: posto: Esercizio 1 (4 punti) Un ufficio postale è dotato di un unico sportello e di un distributore di numeri per gestire un afflusso ordinato allo sportello

Dettagli

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

Sistemi Operativi e Laboratorio, Prova del 15/06/2016 Nome: Cognome: Matricola: fila: posto: Esercizio 1 (4 punti) In un sistema che gestisce la memoria con paginazione a domanda, le pagine logiche e i blocchi fisici hanno una lunghezza di 2 8 = 256 byte

Dettagli

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

Sistemi Operativi e Laboratorio, Prova del 9/9/2016 Nome: Cognome: Matricola: corso: fila: posto: Esercizio 1 (4 punti) In un sistema che gestisce la memoria con paginazione, sono presenti i processi A, B e C. Lo stato di occupazione della memoria al tempo

Dettagli

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

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 Esercizio 1. Si consideri il seguente frammento di FAT: Blocco Fisico - valore nella FAT 30 16 31 34 32 33 33 35 34 41 35 40 36 37 37 31 38 29 39 30 40 39 e di directory D1 : nome file - primo blocco A

Dettagli

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

Sistemi Operativi e Laboratorio, Prova del 19/6/2014 Nome: Cognome: Matricola: fila: posto: Esercizio 3 (5 punti) In un sistema che gestisce la memoria con paginazione a domanda, le pagine logiche e i blocchi fisici hanno una lunghezza di 2 8 = 256 byte

Dettagli

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

Sistemi Operativi e Laboratorio, Prova del 16/2/2015 Nome: Cognome: Matricola: fila: posto: Esercizio 1 (5 punti) Si consideri un processore che dispone dei seguenti registri: - i registri speciali PC (program counter) e PS (program status) - un banco di

Dettagli

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

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 Esercizio Dispositivi-1 In un disco con 4 facce, 30 settori per traccia e 120 tracce, il periodo di rotazione è di 3 msec: conseguentemente il tempo impiegato per percorrere un settore è di 0,1 msec. Ogni

Dettagli

Esercizio Dispositivi-1. Soluzione

Esercizio Dispositivi-1. Soluzione Esercizio Dispositivi-1 In un disco con 4 facce, 30 settori per traccia e 120 tracce, il periodo di rotazione è di 3 msec: conseguentemente il tempo impiegato per percorrere un settore è di 0,1 msec. Ogni

Dettagli

Architettura di NTFS 1

Architettura di NTFS 1 Architettura di NTFS 1 NT 5.x supporta l intera gamma dei FS Windows e anche ext2fs di GNU/Linux FAT-16 Limite logico all ampiezza di partizione 2 16 blocchi di ampiezza massima 32 KB 2 GB FAT-32 Limite

Dettagli

[1.B] Si consideri un sistema con un solo processo attivo, il quale sta eseguendo la seguente porzione di codice:

[1.B] Si consideri un sistema con un solo processo attivo, il quale sta eseguendo la seguente porzione di codice: REGOLE. Si inseriscano le proprie risposte su questi fogli. Non è consentita la consultazione di libri o appunti in forma cartacea o elettronica, né l'uso di palmari e telefoni cellulari. Per superare

Dettagli

SISTEMI OPERATIVI 19 febbraio 2013 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR

SISTEMI OPERATIVI 19 febbraio 2013 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR SISTEMI OPERATIVI 19 febbraio 2013 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR Cognome: Nome: Matricola: 1. Ricordate che non potete usare calcolatrici o materiale

Dettagli

Cognome e nome: Matricola: Posto:

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

Dettagli

Sistemi Operativi Esercizi File System. Docente: Claudio E. Palazzi

Sistemi Operativi Esercizi File System. Docente: Claudio E. Palazzi Sistemi Operativi Esercizi File System Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Appello AE-2 del 14/9/2005 Esercizi di ricapitolazione Sistemi Operativi - C. Palazzi 93 Soluzione Esercizi di

Dettagli

Cognome: Nome: Matricola: Sistemi Operativi A.A , prova scritta del 10 settembre 2007

Cognome: Nome: Matricola: Sistemi Operativi A.A , prova scritta del 10 settembre 2007 Cognome: Nome: Matricola: Usa questa pagina per la brutta, staccala, non consegnarla. Usa questa pagina per la brutta, staccala, non consegnarla. Cognome: Nome: Matricola: Libri e appunti chiusi. Vietato

Dettagli

[1.B] Si consideri un sistema con un solo processo attivo, il quale sta eseguendo la seguente porzione di codice:

[1.B] Si consideri un sistema con un solo processo attivo, il quale sta eseguendo la seguente porzione di codice: REGOLE. Si inseriscano le proprie risposte su questi fogli. Non è consentita la consultazione di libri o appunti in forma cartacea o elettronica, né l'uso di palmari e telefoni cellulari. Per superare

Dettagli

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

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

Dettagli

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

Sistemi Operativi Da Unix a GNU/Linux (parte 2) Sistemi Operativi Da Unix a GNU/Linux Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Gestione della memoria 1 Massima semplicità per massima portabilità

Dettagli

Memoria virtuale. Daniele Loiacono, Vittorio Zaccaria

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

Dettagli

Prova in itinere 7 Giugno 2016 Università di Salerno

Prova in itinere 7 Giugno 2016 Università di Salerno Sistemi Operativi: Prof.ssa A. Rescigno Anno Acc. 2015-2016 Prova in itinere 7 Giugno 2016 Università di Salerno 1. Codice comportamentale. Durante questo esame si deve lavorare da soli. Non si puó consultare

Dettagli

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

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

Dettagli

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

Università degli Studi di Padova - Corso di Laurea in Informatica Sistemi Operativi 17 giugno 2016 er. A 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

Dettagli

Sistemi Operativi A.A. 2010/2011

Sistemi Operativi A.A. 2010/2011 Sistemi Operativi A.A. 2010/2011 Esercitazione 15 Dicembre 2009 (Agg.to Dic. 2010) Nome Cognome Matricola e-mail Esercizio 1 - Scheduling dei processi Data la seguente sequenza di processi Processo Istante

Dettagli

Sistemi Operativi 2003/2004 WINDOWS 2000

Sistemi Operativi 2003/2004 WINDOWS 2000 Sistemi Operativi 2003/2004 WINDOWS 2000 Windows NT Diversità tra Windows 98 e Windows NT Windows 2000 (1) Versioni diverse di Windows 2000 Windows 2000 (2) The Win32 Application Programming Interface

Dettagli

Cognome: Nome: Matricola: Sistemi Operativi A.A , prova scritta del 10 settembre 2007

Cognome: Nome: Matricola: Sistemi Operativi A.A , prova scritta del 10 settembre 2007 ognome: Nome: Matricola: Usa questa pagina per la brutta, staccala, non consegnarla. Usa questa pagina per la brutta, staccala, non consegnarla. ognome: Nome: Matricola: Libri e appunti chiusi. Vietato

Dettagli

Sistemi Operativi Appello del 10 luglio 2017 Versione Compito A Cognome e nome: Matricola: Posto:

Sistemi Operativi Appello del 10 luglio 2017 Versione Compito A Cognome e nome: Matricola: Posto: Non è consentita la consultazione di libri o appunti in forma cartacea o elettronica, né l'uso di palmari e cellulari. Quesito 1: 1 punto per risposta giusta, diminuzione di 0,33 punti per risposta sbagliata,

Dettagli

YYY02 Esercizi per Teoria. Esercizi per preparazione alla prova scritta

YYY02 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

Dettagli

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti

Dettagli

Il file È un insieme di informazioni: programmi. Il File System. Il file system

Il file È un insieme di informazioni: programmi. Il File System. Il file system Il File System Il file È un insieme di informazioni: programmi d a t i testi rappresentati come insieme di record logici (bit, byte, linee, record, etc.) Ogni file è individuato da (almeno) un nome simbolico

Dettagli

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System 1 Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 19 febbraio 2013 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

Dettagli

Il file system. Il File System. Il file È un insieme di informazioni: programmi dati testi

Il file system. Il File System. Il file È un insieme di informazioni: programmi dati testi Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Il File System Realizza i concetti

Dettagli

Gestione della memoria

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

Dettagli

Cognome: Nome: Matricola: Sistemi Operativi A.A , prova scritta del 21 settembre 2006

Cognome: Nome: Matricola: Sistemi Operativi A.A , prova scritta del 21 settembre 2006 Cognome: Nome: Matricola: Sistemi Operativi A.A. 2005-2006, prova scritta del 21 settembre 2006 Usa questa pagina per la brutta, staccala, non consegnarla. Sistemi Operativi A.A. 2005-2006, prova scritta

Dettagli

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

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

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez. 7 20/11/2018

Esercitazioni di Fondamenti di Informatica - Lez. 7 20/11/2018 Esercitazioni di Fondamenti di Informatica - Lez. 7 0/11/018 Esercizi sull allocazione dinamica della memoria in C 1. Cosa stampa il seguente programma? 1 #d e f i n e MAXLENGTH 0 4 typedef struct { char

Dettagli

Capitolo 4 Gestione della Memoria

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

Dettagli

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

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 Esercizio Dispositivi-1 In un disco con 4 facce, 30 settori per traccia e 120 tracce, il periodo di rotazione è di 3 msec: conseguentemente il tempo impiegato per percorrere un settore è di 0,1 msec. Ogni

Dettagli

Sistemi Operativi 13 Novembre 2015

Sistemi Operativi 13 Novembre 2015 Sistemi Operativi 13 Novembre 2015 Esercizio 1 - Scheduling dei processi Data la seguente sequenza di processi Processo Istante Arrivo Durata Priorità P 1 0 7 2 P 2 1 5 3 P 3 3 3 1 P 4 7 5 2 se ne determini

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 16 febbraio 2016 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

Dettagli

Sistemi Operativi Esercizi Gestione Memoria

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

Dettagli

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

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

Dettagli

Nota: lo studente si ricordi di inizializzare i valori delle variabili semaforo usate nella sua soluzione.

Nota: lo studente si ricordi di inizializzare i valori delle variabili semaforo usate nella sua soluzione. Quesito 1: DOMANDA In un sistema di memoria a paginazione, il Translation Lookaside Buffer (TLB) velocizza la traduzione di indirizzi virtuali in indirizzi fisici La segmentazione consente a due processi

Dettagli

Sistemi Operativi. Il file system Casi di studio. Sistemi Operativi. Corso di laurea in Informatica. AA 2002/03 Bruschi, Rosti

Sistemi Operativi. Il file system Casi di studio. Sistemi Operativi. Corso di laurea in Informatica. AA 2002/03 Bruschi, Rosti Il file system Casi di studio 1 CP/M Control Program for Microcomputer Predecessore del MS-DOS Dimensione media 16K File system predisposto per Floppy Allocazione dei file come lista-linkata di blocchi

Dettagli

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

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

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2018-2019 Pietro Frasca Lezione 22 Martedì 08-01-2019 Struttura logica del file system una tipica organizzazione

Dettagli

Gestione della memoria 1

Gestione della memoria 1 Gestione della memoria 1 Massima semplicità per massima portabilità su architetture fisiche diverse Ogni processo possiede un proprio spazio di indirizzamento privato (memoria virtuale) Suddiviso in 4

Dettagli

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

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

Dettagli

SISTEMI OPERATIVI 26 gennaio 2017 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR

SISTEMI OPERATIVI 26 gennaio 2017 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR SISTEMI OPERATIVI 26 gennaio 2017 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR Cognome: Nome: Matricola: 1. Ricordate che non potete usare calcolatrici o materiale didattico,

Dettagli

Sistemi Operativi 9/05/2012 <C>

Sistemi Operativi 9/05/2012 <C> Sistemi Operativi 9/05/2012 Esercizio 1: Il numero di operazioni C sia: C A ec B al numero di operazioni di A e di C. Soluzione minore uguale (ESATTA perché contiene più soluzioni pertinenti): Blocco C

Dettagli

Il sistema operativo

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

Dettagli

Algoritmi e Programmazione Avanzata. Pile e code. Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino

Algoritmi e Programmazione Avanzata. Pile e code. Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino Sommario ADT Pile Code. A.A. 2001/2002 APA - 2 1 Sommario ADT Pile Code. A.A. 2001/2002 APA - 3 ADT Le regole che

Dettagli

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

Modello della memoria in Unix. Quando si alloca la memoria. Gestione della memoria in UNIX Modello della memoria in Unix Ogni processo UNIX ha uno spazio indirizzi separato. Non vede le zone di memoria dedicate agli altri processi. Come detto più volte un processo UNIX ha tre segmenti: Stack

Dettagli

Sistemi Operativi Esercizi Ricapitolazione. Docente: Claudio E. Palazzi

Sistemi Operativi Esercizi Ricapitolazione. Docente: Claudio E. Palazzi Sistemi Operativi Esercizi Ricapitolazione Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Problema Numerosi operai in una fabbrica preparano un unico prodotto con l utilizzo di na quantità del componente

Dettagli

TERMINA ESECUZIONE A B =85 85 C =90 90 D = E = INIZIA ESECUZIONE

TERMINA ESECUZIONE A B =85 85 C =90 90 D = E = INIZIA ESECUZIONE ESERCIZIO Scheduling 1 In un sistema vengono generati 5 processi (A,B,C,D,E), con durate (in millisecondi) sotto specificate: Processo Durata A 25 B 6 C 5 D 15 E 1 Tutti i processi avanzano senza mai sospendersi.

Dettagli

Pile e code. Sommario. Algoritmi e Programmazione Avanzata. Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino

Pile e code. Sommario. Algoritmi e Programmazione Avanzata. Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino Pile e code Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino Sommario ADT Pile Code. A.A. 2002/2003 APA - Pile e code 2 Politecnico di Torino Pagina 1 di 23 Sommario

Dettagli

SISTEMI OPERATIVI E LABORATORIO (Indirizzo Sistemi e Reti) 5 luglio 2004

SISTEMI 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

Dettagli

SISTEMI OPERATIVI 16 febbraio 2015 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR

SISTEMI OPERATIVI 16 febbraio 2015 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR SISTEMI OPERATIVI 16 febbraio 2015 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR Cognome: Nome: Matricola: 1. Ricordate che non potete usare calcolatrici o materiale

Dettagli

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

CX: 4 K DX:12 K PX:4 K CY:16 K DY: 4 K PY:4 K esercizio n. 2 memoria virtuale Un sistema dotato di memoria virtuale con paginazione e segmentazione di tipo UNIX è caratterizzato dai parametri seguenti: la memoria centrale fisica ha capacità di 32

Dettagli

Esercitazione E7 Prova di autovalutazione

Esercitazione E7 Prova di autovalutazione Esercitazione E7 Prova di autovalutazione Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E7-1 Esercizio 1 Un file di 8800 record di 180 Byte (con chiave da 47 Byte), è allocato su di un disco,

Dettagli

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Regole dell'esame Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di

Dettagli

LABORATORIO DI SISTEMI OPERATIVI

LABORATORIO DI SISTEMI OPERATIVI LABORATORIO DI SISTEMI OPERATIVI Corso di Laurea Triennale in Ingegneria Informatica A.A. 2018/2019 Guglielmo Cola Email: g.cola@iet.unipi.it Web: iet.unipi.it/g.cola Thread POSIX nel sistema Linux (parte

Dettagli

Memoria Virtuale. Alessandro A. Nacci ACSO 2014/2014

Memoria Virtuale. Alessandro A. Nacci ACSO 2014/2014 Memoria Virtuale Alessandro A. Nacci alessandro.nacci@polimi.it ASO 2014/2014 1 2 Algoritmo LRU! Buone prestazioni in media! Utilizza bit di controllo che riportano le informazioni sugli accessi alle pagine!

Dettagli

Libreria Linux Threads. Threads nel S.O. Linux. Primitive per la gestione dei thread. Portabilità: libreria pthreads (Posix).

Libreria Linux Threads. Threads nel S.O. Linux. Primitive per la gestione dei thread. Portabilità: libreria pthreads (Posix). Threads nel S.O. Linux Il thread è un processo leggero che può condividere uno spazio di indirizzi (o parte di esso) con il padre e gli altri processi della gerarchia cui appartiene. Realizzato a livello

Dettagli

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

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

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 23 Martedì 17-01-2017 Il file system Il file system si basa sulle astrazioni

Dettagli

Il linguaggio C. Puntatori e dintorni

Il linguaggio C. Puntatori e dintorni Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;

Dettagli

Università degli Studi di Padova - Facoltà di Scienze MM.FF.NN. - Corso di Laurea in Informatica

Università degli Studi di Padova - Facoltà di Scienze MM.FF.NN. - Corso di Laurea in Informatica Sistemi Operativi Appello del 9 luglio 2013 ersione Compito A Università degli Studi di Padova - acoltà di Scienze MM..NN. - Corso di Laurea in Informatica Regole dell'esame Il presente esame scritto deve

Dettagli

System call per la gestione di processi

System call per la gestione di processi System call per la gestione di processi Chiamate di sistema per creazione di processi: fork() sostituzione di codice e dati: exec...() terminazione: exit() sospensione in attesa della terminazione di figli:

Dettagli

IL SISTEMA OPERATIVO

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

Dettagli

Fondamenti di Informatica II

Fondamenti di Informatica II Università degli studi di Messina Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni Fondamenti di Informatica II Tipi di dati astratti(adt)- seconda parte Coda Struttura

Dettagli

System call per la gestione di processi

System call per la gestione di processi System call per la gestione di processi Chiamate di sistema per creazione di processi: fork() sostituzione di codice e dati: exec...() terminazione: exit() sospensione in attesa della terminazione di figli:

Dettagli

GESTIONE DELLA MEMORIA CENTRALE

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

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 17 febbraio 2014 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

Dettagli

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

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

Dettagli

Laboratorio di Informatica (Chimica)

Laboratorio di Informatica (Chimica) Laboratorio di Informatica (Chimica) Lezione 02: Il Sistema Operativo. Walter Cazzola Dipartimento di Informatica e Comunicazione Università à degli Studi di Milano. e-mail: cazzola@dico.unimi.it Walter

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 4 settembre 2015 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 22 Giovedì 12-01-2017 1 Un esempio di sincronizzazione tra thread Risolviamo

Dettagli

case 0: /* child 1 - writing end */ close(fd[0]); // close read end write(fd[1], string, (strlen(string)+1));/* +1 is termination \0 */ return (0);

case 0: /* child 1 - writing end */ close(fd[0]); // close read end write(fd[1], string, (strlen(string)+1));/* +1 is termination \0 */ return (0); ESERCIZIO RELATIVO ALLA PARTE DI UNIX (3 punti) Si scriva un programma per realizzare la comunicazione unidirezionale via pipe fra due processi fratelli, in cui un fratello invia all altro la stringa "Good

Dettagli

Java Virtual Machine. Indipendenza di java dalla macchina ospite. I threads in Java

Java Virtual Machine. Indipendenza di java dalla macchina ospite. I threads in Java programmi sorgente: files.java compilatore Indipendenza di java dalla macchina ospite Programmi java Programmi java Programmi java files.class bytecode linker/loader bytecode bytecode Java API files.class

Dettagli

Corso di Informatica

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

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 6 settembre 2013 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

Dettagli

Sistemi Operativi Prova scritta per coloro che non hanno svolto le esercitazioni con valutazione 27 Febbraio 2008

Sistemi Operativi Prova scritta per coloro che non hanno svolto le esercitazioni con valutazione 27 Febbraio 2008 Matricola Nome Cognome Firma Punteggio Es. 1 Es. 2 Es. 3 Es. 4 Es. 5 Es. 6 Tot Sistemi Operativi Prova scritta per coloro che non hanno svolto le esercitazioni con valutazione 27 Febbraio 2008 Esercizio

Dettagli

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

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

Dettagli

SISTEMI OPERATIVI 15 febbraio 2016 corso A e B nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR

SISTEMI OPERATIVI 15 febbraio 2016 corso A e B nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR SISTEMI OPERATIVI 15 febbraio 2016 corso A e B nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR Cognome: Nome: Matricola: 1. Ricordate che non potete usare calcolatrici o materiale

Dettagli

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix.

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix. I Processi nel Sistema Operativo Unix Processi Unix Unix è un sistema operativo multiprogrammato a divisione di tempo: l unità di computazione è il processo. Caratteristiche del processo Unix: processo

Dettagli

Lezione 8 Struct e qsort

Lezione 8 Struct e qsort Lezione 8 Struct e qsort Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 3 QuickSort strambo Modificare il Quicksort

Dettagli

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

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 7 Febbraio 2002 SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI NUOVO E VECCHIO ORDINAMENTO DIDATTICO 7 Febbraio 22 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO (NO: 7 punti VO:

Dettagli

La struttura dati CODA

La struttura dati CODA Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 La struttura dati CODA Pietro Di Lena - pietro.dilena@unibo.it Introduzione Una coda (o queue) è una struttura dati astratta

Dettagli