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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 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 buffer ha n posizioni ed è gestito secondo il modello produttore consumatore. In particolare, ogni messaggio depositato nel buffer ha dimensione fissa ed occupa una sola posizione, ed ogni messaggio presente nel buffer deve essere prelevato da un qualsiasi consumatore una ed una sola volta. I soli thread produttori sono associati ad una priorità fissa che è utilizzata per determinare l ordine di sospensione quando il buffer è pieno. In particolare, quando un thread produttore effettua l operazione deposito di un messaggio nel buffer, se ci sono posizioni libere nel buffer segue la normale procedura di deposito. Altrimenti, se il buffer è pieno, il produttore crea una variabile di condizione privata che inserisce in ordine di priorità alla coda dei processi in attesa di deposito e si sospende. La riattivazione dei thread produttori sospesi in attesa di deposito viene effettuata dai consumatori in ordine di priorità. Per la gestione del buffer si utilizzano le variabili intere testa, coda e lunghezza inizializzate a 0, inoltre si utilizzano la variabile lock per gestire la mutua esclusione nell accesso al buffer, e la variabile di condizione buffervuoto per la sospensione dei thread consumatori quando il buffer è vuoto. Inoltre, i thread utilizzano la coda codadeposito nella quale vengono inserite in ordine di priorità le variabili di condizione private create dai thread produttori che si sospendono. Su codadeposito sono definite le operazioni insert, empty, first, remove e maxpriority. La insert prende come parametro una variabile di condizione e un valore di priorità, ed inserisce la variabile di condizione nella coda in ordine di priorità; la empty restituisce true se la coda è vuota (e false altrimenti); la first restituisce il primo elemento della coda, la remove prende come parametro una variabile di condizione s ed elimina dalla coda l elemento corrispondente ad s; infine, la maxpriority restituisce la massima priorità degli elementi presenti in coda. Completare le seguenti procedure di deposito e prelievo utilizzate dai thread per accedere al buffer. deposito(msg, priorità) { if (lunghezza ==n) { self = new Condition; codadeposito.insert(self, priorità); while ( codadeposito.maxpriority() > priorità ) codadeposito.remove(self); delete self; } buf[testa] = msg; testa=(testa + 1) % n; lunghezza ++; return; } prelievo(msg) { while () msg = buf[coda]; coda =(coda + 1) % n; lunghezza --; if () return(msg); }

2 deposito(msg, priorità) { lock.acquire(); if (lunghezza ==n) { self = new Condition; codadeposito.insert(self, priorità); while ( lunghezza==n codadeposito.maxpriority() > priorità ) self.wait(lock); codadeposito.remove(self); delete self; } buf[testa] = msg; testa=(testa + 1) % n; lunghezza ++; buffervuoto.signal(); lock.release(); return; } prelievo(msg) { lock.acquire(); while (lunghezza == 0) buffervuoto.wait(lock); msg = buf[coda]; coda =(coda + 1) % n; lunghezza --; if (!codadeposito.empty() ) codadeposito.first() ->signal(); lock.release(); return(msg); }

3 Esercizio 2 (4 punti) Un processore dispone dei registri speciali PC, PS, dello stack pointer SP e dei registri generali R1, R2 e R3. Al riconoscimento di un interruzione, l hardware salva i registri speciali (PC, PS) e il registro SP nello stack del nucleo e salta all indirizzo specificato dal vettore di interruzione, corrispondente al punto di ingresso della funzione di servizio, caricando con gli opportuni valori nei registri PC, PS e SP. L istruzione IRET ripristina i registri PC, PS e SP dallo stack del nucleo. Prima di eseguire altre operazioni, le funzioni di servizio del sistema operativo salvano i registri R1, R2 e R3 nello stack del nucleo, e li ripristinano immediatamente prima di eseguire l istruzione IRET, prelevandone i contenuti dallo stack del nucleo. Il sistema operativo offre supporto al multithreading, realizzato a livello del nucleo, e riserva un area di memoria per il vettore di interruzione e per lo stack del nucleo. A un certo tempo sono presenti nel sistema il thread T1 e T2 entrambi appartenenti allo stesso processo. Il thread T1 è in esecuzione, e il thread T2 è in stato di attesa sulla variabile di condizione cond. In questa situazione, il thread T1 esegue una chiamata di sistema per invocare una signal(cond). I descrittori di T1 e T2, lo stack del nucleo, i registri del processore hanno i contenuti mostrati nella tabella seguente. Il vettore di interruzione associato a questa chiamata di sistema corrisponde all indirizzo 1300 e alla parola di stato BEFA. Stato Esec Stato Attesa 2019 PC E000 PC A0AA 2018 SP F000 PS 1683 PS R SP F010 SP C0CC 2016 R R R R R R R R PC E0E0 PS 1682 UTENTE Assumendo che la signal preveda una semantica di tipo Mesa (non effettua il prerilascio del processore), si chiede di riportare nelle tabelle dello schema di soluzione i contenuti dei descrittori di T1 e T2, dello stack del nucleo e dei registri del processore: 1) immediatamente dopo il riconoscimento dell interruzione, 2) dopo il salvataggio temporaneo dei registri eseguito dalla funzione di servizio; 3) immediatamente prima del ripristino dei registri eseguito dalla funzione di servizio; 4) immediatamente prima dell esecuzione dell istruzione IRET; 5) immediatamente dopo l esecuzione dell istruzione IRET. 1) immediatamente dopo il riconoscimento dell interruzione, Stato Stato 2019 PC PC 2018 SP PS PS 2017 R1 SP SP 2016 R2 R1 R R3 R2 R R3 R PC PS 2) dopo il salvataggio temporaneo dei registri eseguito dalla funzione di servizio; Stato Stato 2019 PC PC 2018 SP PS PS 2017 R1 SP SP 2016 R2 R1 R R3

4 R2 R R3 R PC PS 3) immediatamente prima del ripristino dei registri eseguito dalla funzione di servizio; Stato Stato 2019 PC PC 2018 SP PS PS 2017 R1 SP SP 2016 R2 R1 R R3 R2 R R3 R PC PS 4) immediatamente prima dell esecuzione dell istruzione IRET; Stato Stato 2019 PC PC 2018 SP PS PS 2017 R1 SP SP 2016 R2 R1 R R3 R2 R R3 R PC PS 5) immediatamente dopo l esecuzione dell istruzione IRET. Stato Stato 2019 PC PC 2018 SP PS PS 2017 R1 SP SP 2016 R2 R1 R R3 R2 R R3 R PC PS 1) immediatamente dopo il riconoscimento dell interruzione, Stato Esec Stato Attesa 2019 E0E0 PC E000 PC A0AA SP 2016 PS 1683 PS F000 R SP F010 SP C0CC 2016 R R R R R R R R

5 PC 1300 PS BEFA SUPERVISORE 2) dopo il salvataggio temporaneo dei registri eseguito dalla funzione di servizio; Stato Esec Stato Attesa 2019 E0E0 PC E000 PC A0AA SP 2013 PS 1683 PS F000 R SP F010 SP C0CC R R R R R R R R PC 1300+? PS BEFA SUPERVISORE 3) immediatamente prima del ripristino dei registri eseguito dalla funzione di servizio; Stato Esec Stato Pronto 2019 E0E0 PC E000 PC A0AA SP 2013 PS 1683 PS F000 R1? SP F010 SP C0CC R2? R R R3? R R R R PC ? PS BEFA SUPERVISORE 4) immediatamente prima dell esecuzione dell istruzione IRET; Stato Esec Stato Pronto 2019 E0E0 PC E000 PC A0AA SP 2016 PS 1683 PS F000 R SP F010 SP C0CC 2016 R R R R R R R R PC ? PS BEFA SUPERVISORE 5) immediatamente dopo l esecuzione dell istruzione IRET. Stato Esec Stato Pronto 2019 PC E000 PC A0AA 2018 SP F000 PS 1683 PS R SP F010 SP C0CC 2016 R R R R R R R R PC E0E0 PS 1682 UTENTE

6 Esercizio 3 (4 punti) Un sistema operativo simile a UNIX, che gestisce la memoria con paginazione a domanda, utilizza il processo PageDaemon, con parametri lotsfree= 6 e minfree=3, e l algoritmo di sostituzione Second Chance. 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 sono presenti i processi A, B, C, D e la Core Map ha la configurazione mostrata in figura, con il puntatore dell algoritmo di sostituzione posizionato sul blocco 9. In caso di errori di pagina, i blocchi liberi vengono assegnati in ordine crescente di indice. Proc C A B B A C D D D A B C B C Pag Rif Core Map al tempo t Il PageDaemon ha appena completato la sua esecuzione al tempo t, e successivamente viene eseguito ogni 5 msec. Ad ogni intervento, PageDaemon viene eseguito per 1 msec senza essere interrotto, ed applica il seguente algoritmo: - Se il numero di pagine libere è maggiore di lotsfree, carica i processi in stato swapped out seguendo lo stesso ordine dello swapout, col vincolo che il numero di pagine fisiche libere non deve scendere sotto lotsfree. Di questi processi vengono caricate solo le pagine che erano presenti in memoria e col bit Rif=1 allo swapout. - Se il numero di pagine libere è compreso tra minfree e lotsfree (estremi inclusi) scarica le pagine occupate usando l algoritmo second chance, finché il numero di pagine libere diventa pari a lotsfree Se il numero di pagine libere è minore di minfree effettua lo swapout dei processi in ordine di occupazione di memoria (in caso di parità procede in ordine alfabetico) fintanto che il numero di pagine libere diventa almeno pari a lotsfree+3. Considerare la seguente evoluzione del sistema: 1. Dal tempo t al tempo t+4 i processi in esecuzione riferiscono nell ordine le pagine: A0, A5, C3, C4, D6, A3, B0, B5, B6, C7, C10 2. Dal tempo t+4 al tempo t+5 avanza il Page Daemon. 3. Dal tempo t+5 al tempo t+9 i processi in esecuzione riferiscono nell ordine le pagine: D0, D1, D6, D1, B11, B5, A2, A8, A10, A15 4. Dal tempo t+9 al tempo t+10 avanza il Page Daemon. 5. Dal tempo t+10 al tempo t+14 i processi in esecuzione riferiscono nell ordine le pagine: B4, B5, A15, A10, A2, A1, D3, A12, B0, B9, B6 poi termina il processo A 6. Dal tempo t+14 al tempo t+15 avanza il Page Daemon. Mostrare la configurazione della CoreMap ai tempi t+4, t+5, t+9, t+10, t+14 e t+15. (Modificare incrementalmente la configurazione iniziale della CoreMap, aggiornando anche la posizione del puntatore) Proc A C A C C A B B B A B C C D D C D A B C B C Pag Rif Core Map al tempo t+4 Pagine caricate: A0, C3, C4, A3, B5, B6, C7, C10 Proc A A A B B B A B D D D A B B Pag Rif Core Map al tempo t+5 Pagine scaricate: swapout processo C (C0, C3, C4, C7, C8, C10, C12, C15) Proc A D A D A A B B B A B A A D D D A B B Pag Rif Core Map al tempo t+9 Pagine caricate: D0, D1, A2, A8, A10 Proc A D A D A A B B B A A D D A B Pag Rif Core Map al tempo t+10 Pagine scaricate: D4, B7, B2, A5

7 Proc A D A D A A B B B D B A A A D B D A B Pag Rif Core Map al tempo t+14 (prima della terminazione di A) Pagine caricate: B4, D3, A12, B9 Proc D D B B B D B D B D B Pag Rif Core Map al tempo t+14 (dopo la terminazione di A) Proc C D C D C C B B B D B C C D B D B Pag Rif Core Map al tempo t+15 swapin processo C (C3, C4, C7, C8, C10, C12) (Modificare incrementalmente la configurazione iniziale della CoreMap, aggiornando anche la posizione del puntatore) Proc Pag Rif Core Map al tempo t+4 Pagine caricate: Proc Pag Rif Core Map al tempo t+5 Pagine scaricate: ; pagine caricate: Proc Pag Rif Core Map al tempo t+9 Pagine caricate: Proc Pag Rif Core Map al tempo t+10 Pagine scaricate: ; pagine caricate: Proc Pag Rif Core Map al tempo t+14 Pagine caricate: Proc Pag Rif

8 Core Map al tempo t+15 Pagine scaricate: ; pagine caricate: Esercizio 4 (4 punti) In un file system simile a UNIX, gli i-node hanno 10 puntatori diretti e due puntatori indiretti (indiretto singolo e doppio). I blocchi del disco hanno ampiezza di 1Kbyte, e i puntatori sono formati da 32 bit. In questo file system l i-node associato al file Parago di 400 KBbyte, contiene i seguenti puntatori: puntatore Valore Inoltre, i blocchi 360 e 361 hanno il seguente contenuto: Blocco Valore Blocco Valore Blocco Valore In questo file system, si consideri un operazione di lettura di 2000 caratteri dal file Parago, nei seguenti casi (in alternativa): a) il puntatore alla posizione corrente di lettura riferito al file Parago ha il valore di b) il puntatore alla posizione corrente di lettura riferito al file Parago ha il valore di Per ognuno dei due casi si chiede: 1. Quali blocchi fisici vengono letti per eseguire l operazione? 2. Quanti caratteri vengono copiati in buf da ogni blocco interessato alla lettura? a) Il puntatore alla posizione corrente di lettura riferito al file Parago ha il valore di il primo byte da leggere (10.000) che si trova nel blocco logico: /1024 = 9 con offset 784 l ultimo byte da leggere (11.999) che si trova nel blocco logico: /1024 = 11 con offset Quindi vanno letti i blocchi fisici: 593, 360, 490, 491 dove: 360 blocco indice di primo livello 2. Dal blocco 9 si leggono gli ultimi = 240 byte; Dal blocco 10 si leggono 1024 byte; Dal blocco 11 si leggono i primi 736 byte b) Il puntatore alla posizione corrente di lettura riferito al file Parago ha il valore di il primo byte da leggere ( ) che si trova nel blocco logico: /1024 = 267 con offset 592 l ultimo byte da leggere ( ) che si trova nel blocco logico: /1024 = 269 con offset 543 Tenuto conto che il primo blocco logico è indicizzato col puntatore indiretto doppio, 1. Vanno letti i blocchi fisici: 361, 420, 502, 503, 504 dove: 361 blocco indice di secondo livello, 420, blocco indice di primo livello 2. Dal blocco 502 si leggono gli ultimi = 432 byte; Dal blocco 503 si leggono 1024 byte; Dal blocco 504 si leggono i primi 592 byte a) Il puntatore alla posizione corrente di lettura riferito al file Parago ha il valore di Si leggono i blocchi logici: Si leggono i blocchi fisici:

9 b) Il puntatore alla posizione corrente di lettura riferito al file Parago ha il valore di Si leggono i blocchi logici: Si leggono i blocchi fisici: Esercizio 5 (4 punti) In un sistema dotato di un disco da 512 Gbyte, sia i blocchi su disco che le pagine fisiche sono di 2Kbyte. Si vuole stabilire se scegliere una rappresentazione del file system con FAT o con FFS (in quest ultimo caso, con i-node che contengono 8 indirizzi diretti, un indirizzo indiretto semplice e un indirizzo indiretto doppio, e in cui ogni i-node occupa 512 byte). Inoltre, nel file system è presente il file pippo di 1Gbyte. Dire: 1. La dimensione degli indirizzi su disco (in bit): 2. La dimensione dell'eventuale FAT in byte: numero di pagine che occupa la FAT: 3. Numero di blocchi occupati dal file pippo: ; memoria occupata dal file pippo nella FAT: 4. Memoria viene occupata dal file pippo in FFS: 5. il numero di accesso alla memoria per recuperare il byte di indirizzo del file pippo usando la FAT ed usando FFS : 1. la dimensione degli indirizzi su disco (in bit): 28 bit (per indicizzare i blocchi) 2. la dimensione dell'eventuale FAT, e il numero di pagine che occupa: 2^28 elementi di 28 bit, quindi 2^28*4 byte= 2^30 byte, che stanno in 2^30/2^11=2^19 pagine (512K pagine) 3. Il file pippo occupa 1Gbyte/2Kbyte = 2 19 blocchi; la memoria occupata da pippo nella FAT è: 2 19 *4 byte=2 21 byte 4. quanta memoria viene occupata da pippo in FFS: 512 byte per l'i-node + 32 byte per gli indirizzi diretti + 4 byte per l'indirizzo indiretto semplice + 2K byte per i blocchi dal nono al 520-esimo + 4 byte per l'indirizzo indiretto doppio+ 2K byte per il blocco di indirizzi indiretti doppi + 2^11*2^9 per i rimanenti blocchi. 5. Il byte si trova nel blocco Pertanto è necessario scorrere nella FAT in memoria puntatori. Nel caso di FFS invece bastano 4 accessi (1 per l'i-node+3 per la foglia nell'indirizzamento indiretto doppio). Esercizio 6 (3 punti) Si consideri un sistema dove gli indirizzi logici hanno la lunghezza di 64 bit e le pagine logiche e fisiche hanno ampiezza di 4Kbyte. Per la gestione della memoria con paginazione dinamica si utilizza paginazione a più livelli. Tutte le tabelle di ogni livello hanno la stessa dimensione delle pagine fisiche. Negli elementi di ogni tabella, che occupano 8 byte, 16 bit sono riservati agli indicatori (pagina caricata, riferita, modificata, ecc.) mentre i rimanenti rappresentano un indice di blocco fisico. Inoltre, la dimensione della memoria fisica è di 256 Gbyte. Si chiede: 1. la lunghezza del campo offset: _ 2. massima dimensione della memoria virtuale (in pagine): 3. lunghezza (numero di elementi) di ogni tabella : _ 4. numero di pagine fisiche: 5. numero di livelli necessari per poter rappresentare tutta la memoria fisica: 1. lunghezza del campo offset: 12 bit 2. massima dimensione della memoria virtuale (in pagine): 2 64 /2 12 = lunghezza (numero di elementi) di ogni tabella: 2 12 /2 3 = /2 12 =2 26 il numero di pagine fisiche 5. numero di livelli per poter rappresentare tutta la memoria fisica: 3 livelli (totale di 2 27 elementi) Esercizio 7 (3 punti)

10 In un sistema al tempo t sono presenti 5 processi (A,B,C,D,E), che hanno durata residua (in millisecondi) specificate nella seguente tabella: Processo Durata residua A 20 B 25 C 16 D 15 Lo scheduler adotta la politica Shortest Remaining Time First (SRTF). Mostrate l evoluzione nel tempo dl sistema fino al tempo 29 (indicando il processo in esecuzione, il contenuto della coda pronti e della coda di attesa), nell ipotesi che si verifichi la seguente sequenza di eventi: - Tempo 3: Viene generato il processo E con durata pari a 11 - Tempo 6: Il processo in esecuzione si sospende per I/O sul disco - Tempo 7: Il processo in esecuzione termina anticipatamente - Tempo 17: Il processo in esecuzione si sospende per I/O sul disco - Tempo 28: Viene riattivato il primo processo in attesa sul disco - Tempo 29: Viene riattivato il secondo processo in attesa sul disco Tempo t= Evento Processo in esecuzione Tempo residuo processo in esecuzione Coda pronti (con tempo residuo di esecuzione) 0 Stato iniziale D 15 B(25), A(20) C(16) - 3 Viene generato il processo E con durata pari a 11 6 Il processo in esecuzione si sospende per I/O sul disco 7 Il processo in esecuzione termina anticipatamente 17 Il processo in esecuzione si sospende per I/O sul disco 28 Viene riattivato il primo processo in attesa sul disco 29 Viene riattivato il secondo processo in attesa sul disco Tempo t= Evento Processo in esecuzione Tempo residuo processo in esecuzione Coda pronti (con tempo residuo di esecuzione) Processi sospesi Processi sospesi 0 Stato iniziale D 15 B(25), A(20) C(16) 3 Viene generato il processo E con durata pari a 11 E 11 B(25), A(20) C(16), D(12) 6 Il processo in esecuzione si D 12 B(25), A(20), C(16), E(8) sospende per I/O sul disco 7 Il processo in esecuzione C 16 B(25), A(20), E(8) termina anticipatamente 17 Il processo in esecuzione si A 20 B(25) C(6), E(8) sospende per I/O sul disco 28 Viene riattivato il primo E 8 B(25), A(9) C(6) processo in attesa sul disco 29 Viene riattivato il secondo C 6 B(25), A(9), E(7) processo in attesa sul disco 35 Termina C E 7 B(25), A(9) 42 Termina E A 9 B(25) 50 - A 1 B(25) Esercizio 8 (2 punti)

11 In un sistema con risorse R1, R2, R3, R4, R5 tutte con molteplicità 3, sono presenti i processi P1, P2, P3 e P4 che inizialmente non possiedono risorse e successivamente avanzano senza interagire reciprocamente, alternandosi nello stato di esecuzione con una sequenza decisa arbitrariamente dallo scheduler. Nel corso della propria esistenza, ciascun processo esegue una propria sequenza individuale di richieste, che si intercala con quelle degli altri processi dando luogo a una sequenza globale determinata dalle arbitrarie decisioni delle scheduler. Dopo aver ottenuto e utilizzato le risorse che richiede, ogni processo termina rilasciando tutte le risorse ottenute. Si consideri le sequenze individuali di richieste sotto riportate: Processo Prima Richiesta Seconda Richiesta Terza Richiesta Quarta Richiesta Terminazione P1 1 istanza di R4 2 istanze di R3 3 istanze di R2 1 istanza di R1 Rilascia tutto P2 2 istanze di R3 1 istanza di R2 2 istanze di R1 - Rilascia tutto P3 2 istanze di R4 2 istanze di R5 2 istanze di R3 1 istanza di R1 Rilascia tutto P4 3 istanze di R5 2 istanze di R2 1 istanze di R1 Rilascia tutto Può verificarsi stallo? Motivare la risposta e in caso affermativo riportare una sequenza globale che conduce allo stallo. Lo stallo è possibile [SI/NO]? Motivazione: Lo stallo è possibile [SI/NO]? NO Motivazione: Lo non può verificarsi perché la sequenza di richieste avviene in modo ordinato. In particolare l ordinamento è: R4, R5, R3, R2, R1 Esercizio 9 (2 punti) Si consideri un sistema in cui sono definiti i semafori sem1 e sem2, e i processi P1, P2, P3 e P4. Lo scheduling avviene con politica round robin, con quanto di tempo 2 msec. Le code dei semafori sono gestiti con la disciplina standard. Al tempo t il processo P3 è in esecuzione, la coda pronti contiene il processo P1, la coda di sem2 contiene P4-->P2 (P4 è in testa alla coda, e sem1 ha la coda vuota e il suo valore è 1. A partire dal tempo t si verificano i seguenti eventi: 1) P3 esegue P(sem1) 2) scade il quanto di tempo 3) il processo in esecuzione esegue V(sem2) 4) il processo in esecuzione esegue V(sem2) 5) il processo in esecuzione esegue V(sem2) Specificare il processo in esecuzione, il contenuto delle code pronti e dei due semafori, ed il valore di ciascun semaforo, subito dopo ciascun evento su riportato. Evento Proc. In esecuzione Coda pronti Sem1 (valore, coda) Sem2 (valore, coda) Stato inziale al tempo t P3 P1 1, 0, P4, P2 P3 esegue P(sem1) scade il quanto di tempo il processo in esecuzione esegue V(sem2) il processo in esecuzione esegue V(sem2) il processo in esecuzione esegue V(sem2)

12 Evento Proc. In esecuzione Coda pronti Sem1 (valore, coda) Sem2 (valore, coda) Stato inziale al tempo t P3 P1 1, 0, P4, P2 P3 esegue P(sem1) P3 P1 0, 0, P4, P2 scade il quanto di P1 P3 0, 0, P4, P2 tempo il processo in P1 P3, P4 0, 0, P2 esecuzione esegue V(sem2) il processo in P1 P3, P4, P2 0, 0, esecuzione esegue V(sem2) il processo in P1 P3, P4, P2 0, 1, esecuzione esegue V(sem2)

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 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

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 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

Sistemi Operativi e Laboratorio, Prova del 6/4/2017 versione A

Sistemi Operativi e Laboratorio, Prova del 6/4/2017 versione A Nome: Cognome: Matricola: corso: 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

Dettagli

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

Sistemi Operativi e Laboratorio, Prova del 5/4/2016 Nome: Cognome: Matricola: fila: posto: corso: 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

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 10/4/2018 compito B

Sistemi Operativi e Laboratorio, Prova del 10/4/2018 compito B Nome: Cognome: Matricola: corso: fila: posto: sercizio 1 (5 punti) Un sistema con 5 processi (A,, C,, ) e risorse dei tipi R1, R2, R3, R4, rispettivamente di molteplicità [7, 7, 3, 6], utilizza l algoritmo

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

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 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 10/4/2018 compito A

Sistemi Operativi e Laboratorio, Prova del 10/4/2018 compito A Nome: Cognome: Matricola: corso: fila: posto: sercizio 1 (5 punti) Uno spool di stampa di un sistema multithread che gestisce due stampanti fisiche, è organizzato con un thread gestore che gestisce le

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 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

Sistemi Operativi e Laboratorio, Prova del?/?/?

Sistemi Operativi e Laboratorio, Prova del?/?/? Nome: Cognome: Matricola: fla: posto: corso: Esercizio 1 Quali delle seguenti operazioni possono essere eseguite da un processo in stato utente? Operazione: Invocare l istruzione TSL (test and set lock-tipo

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

Sistemi Operativi e Laboratorio, Prova del 6/4/2017 versione B

Sistemi Operativi e Laboratorio, Prova del 6/4/2017 versione B Nome: Cognome: Matricola: corso: fila: posto: sercizio 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

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

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

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

Sistemi Operativi e Laboratorio, Prova del?/?/?

Sistemi Operativi e Laboratorio, Prova del?/?/? Nome: Cognome: Matricola: fla: ooto: coroo: Esercizio 1 Quali delle seguenti operazioni possono essere eseguite da un processo in stato utente? Operazione: Eseguibili dai processi in stato utente Invocare

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

ESERCIZIO Cambio Di Contesto: System Call (1)

ESERCIZIO Cambio Di Contesto: System Call (1) ESERCIZIO Cambio Di Contesto: System Call (1) Si consideri un processore che dispone dei registri speciali PC (program counter) e PS (program status), dello stack pointer SP e dei registri generali R1

Dettagli

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

Sistemi Operativi e Laboratorio, Prova del 6/6/2019 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

Dettagli

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

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

Dettagli

I Processi. Il Concetto di Processo

I Processi. Il Concetto di Processo I Processi Il Concetto di Processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono eseguite

Dettagli

ESERCIZIO SincrAmbGlob-1

ESERCIZIO SincrAmbGlob-1 ESERCIZI DI SINCRONIZZAZIONE TRA THREAD CON SEMAFORI ESERCIZIO SincrAmbGlob-1 Si consideri un sistema nel quale è definito il semaforo sem1 e i thread P1, P2 e P3. Al tempo t il semaforo sem1 ha la seguente

Dettagli

Gestione dei Processi

Gestione dei Processi Gestione dei Processi Informatica B Che cosa è un processo per il SO? Processo programma! Rappresenta un istanza di un programma composta da: codice eseguibile (il programma stesso) dati del programma

Dettagli

Pag. 1. Il Nucleo del sistema operativo (la gestione dei processi)

Pag. 1. Il Nucleo del sistema operativo (la gestione dei processi) shell Programmi utente Modo utente Il Nucleo del sistema operativo (la gestione dei processi) Interfaccia delle chiamate di sistema File system Gestione processi Device driver Gestione memoria HARDWARE

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

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

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

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

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

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T5 B1-Programmazione multithreading 1 Prerequisiti Schedulazione Attesa indefinita Lo stallo Tecnica round-robin 2 1 Introduzione La programmazione concorrente consente di chiedere

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

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

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 40 min dalla sua presentazione.

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

LINUX: struttura generale

LINUX: struttura generale LINUX: struttura generale User Interface The layers of a UNIX system. 1 Processi in LINUX Ogni processo nasce con un solo thread Un processo gira in modalità utente; quando effettua una system call passa

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

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

SEMAFORI SEMAFORI. Sul semaforo sono ammesse solo due operazioni (primitive)

SEMAFORI SEMAFORI. Sul semaforo sono ammesse solo due operazioni (primitive) SEMAFORI 1 SEMAFORI Variabile intera non negativa con valore iniziale >= 0 Al semaforo è associata una lista di attesa Qs nella quale sono posti i descrittori dei processi che attono l autorizzazione a

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

Introduzione ai thread

Introduzione ai thread Introduzione ai thread Processi leggeri. Immagine di un processo (codice, variabili locali e globali, stack, descrittore). Risorse possedute: : (file aperti, processi figli, dispositivi di I/O..),. L immagine

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

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

Le risorse. Alcune definizioni

Le risorse. Alcune definizioni Le risorse Dicesi risorsa un qualunque oggetto, fisico o logico, di cui un processo necessita per portare a termine la sua evoluzione. Poiché un processo evolve eseguendo istruzioni (procedure), una risorsa

Dettagli

Sistemi Operativi. La gestione delle risorse

Sistemi Operativi. La gestione delle risorse Sistemi Operativi La gestione delle risorse Introduzione Il sistema operativo ha il compito di fornire la gestione dell hardware ai programmi dell utente. Utente utilizza i programmi applicativi Programmi

Dettagli

Sistemi di Calcolo (A.A ) Corso di Laurea in Ingegneria Informatica e Automatica Sapienza Università di Roma

Sistemi di Calcolo (A.A ) Corso di Laurea in Ingegneria Informatica e Automatica Sapienza Università di Roma Sistemi di Calcolo (.. 2014-2015) Corso di Laurea in Ingegneria Informatica e utomatica Sapienza Università di Roma Esercizi riepilogativi sulla seconda parte del Modulo I Eccezioni e processi Domanda

Dettagli

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni Roberta Gerboni 1 Gli stati di un processo Gli stati possibili nei quali si può trovare un processo sono: Hold (parcheggio): il programma (chiamato job) è stato proposto al sistema e attende di essere

Dettagli

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06. SISTEMI OPERATIVI 06.a Il Nucleo Nucleo di un SO Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher 1 Architettura di base dei SO Due le strutture di riferimento: a

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

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

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

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

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

PROVA SCRITTA DEL CORSO DI C A L C O L A T O R I E L E T T R O N I C I NUOVO E VECCHIO ORDINAMENTO DIDATTICO 24 Settembre 2008

PROVA SCRITTA DEL CORSO DI C A L C O L A T O R I E L E T T R O N I C I NUOVO E VECCHIO ORDINAMENTO DIDATTICO 24 Settembre 2008 PROVA SCRITTA DEL CORSO DI C A L C O L A T O R I E L E T T R O N I C I NUOVO E VECCHIO ORDINAMENTO DIDATTICO 24 Settembre 2008 NOME: COGNOME: MATRICOLA: ESERCIZIO 1 (NO: 8 punti - VO: 7 punti) Si vogliano

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

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 8 Martedì 8-11-2016 1 Algoritmi di scheduling basati sulle priorità Assegnano

Dettagli

Sistemi Operativi. Lezione 3 Processi e Thread

Sistemi Operativi. Lezione 3 Processi e Thread Lezione 3 Processi e Thread Introduzione Sino ai sistemi batch la CPU di un sistema svolgeva un attività, la portava a termine e solo allora avviava un altra attività Con l avvento della multiprogrammazione

Dettagli

I processi Unix. Entry della tabella dei processi

I processi Unix. Entry della tabella dei processi I processi Unix Ciascun processo Unix può evolvere in stato utente o in stato kernel. Il passaggio dall uno all altro stato avviene mediante SVC. Poiché il processo può andare in attesa di un evento nell

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 18 Martedì 11-12-2018 L indirizzo fisico della tabella delle pagine

Dettagli

Spazio di indirizzamento virtuale

Spazio di indirizzamento virtuale Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 016-01 Spazio di indirizzamento virtuale Pietro Di Lena - pietro.dilena@unibo.it // The function name says it all int stack_overflow (){

Dettagli

Monitor. Le procedure entry sono le sole operazioni che possono essere utilizzate dai processi per accedere alle variabili comuni.

Monitor. Le procedure entry sono le sole operazioni che possono essere utilizzate dai processi per accedere alle variabili comuni. Monitor Costrutto sintattico che associa un insieme di procedure ad una struttura dati comune a più processi. Il compilatore può verificare che esse siano le sole operazioni permesse su quella struttura.

Dettagli

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

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

Dettagli

Corso di Informatica Modulo T3 1-Nucleo e processi

Corso di Informatica Modulo T3 1-Nucleo e processi Corso di Informatica Modulo T3 1-Nucleo e processi 1 Prerequisiti Concetto stack Programmazione elementare Struttura elementare del computer Concetto intuitivo di sottoprogramma 2 1 Introduzione Vediamo

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à 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

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

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

Introduzione al Sistema Operativo

Introduzione al Sistema Operativo Introduzione al Sistema Operativo Informatica B Il sistema Operativo q Il sistema operativo (SO) è uno strato software che nasconde agli utenti i dettagli dell architettura hardware del calcolatore q Fornisce

Dettagli

Il supporto al sistema operativo

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

Dettagli

Il Concetto di Processo

Il Concetto di Processo I Processi Il Concetto di Processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, l esecuzione l di un processo è sequenziale (le istruzioni vengono eseguite

Dettagli

In questa lezione Strutture dati elementari: Pila Coda Loro uso nella costruzione di algoritmi.

In questa lezione Strutture dati elementari: Pila Coda Loro uso nella costruzione di algoritmi. In questa lezione Strutture dati elementari: Pila Coda Loro uso nella costruzione di algoritmi. 1 strutture dati (astratte) Una struttura dati astratti consiste di uno o più insiemi con delle operazioni

Dettagli

Esercizi di utilizzo del semaforo semplice di competizione per l'uso di una risorsa comune

Esercizi di utilizzo del semaforo semplice di competizione per l'uso di una risorsa comune Esercizi di utilizzo del semaforo semplice di competizione per l'uso di una risorsa comune a) Uso di una risorsa condivisa Siano P 1, P 2, P 3,, P k i processi che condividono l uso di una risorsa comune

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

5 Thread. 5 Thread. 5 Thread. Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni:

5 Thread. 5 Thread. 5 Thread. Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni: 1 Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni: codice del programma in esecuzione un area di memoria contenente le strutture dati dichiarate

Dettagli

Dati: variabili globali Program Counter Alcuni registri di CPU Stack: parametri, variabili locali a funzioni/procedure

Dati: variabili globali Program Counter Alcuni registri di CPU Stack: parametri, variabili locali a funzioni/procedure Il Concetto di Processo Il processo è un programma in esecuzione. I Processi È l unità di esecuzioneall interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono eseguite

Dettagli

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

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

Dettagli

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

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

Dettagli

Monitor [Hoare 74] Costrutto sintattico che associa un insieme di procedure/funzioni (entry) ad una struttura dati comune a più processi.

Monitor [Hoare 74] Costrutto sintattico che associa un insieme di procedure/funzioni (entry) ad una struttura dati comune a più processi. Monitor [Hoare 74] Costrutto sintattico che associa un insieme di procedure/funzioni (entry) ad una struttura dati comune a più processi. Il compilatore può verificare che esse siano le sole operazioni

Dettagli

Monitor [Hoare 74] Uso del monitor

Monitor [Hoare 74] Uso del monitor Monitor [Hoare 74] Costrutto sintattico che associa un insieme di procedure/funzioni (entry) ad una struttura dati comune a più processi. Il compilatore può verificare che esse siano le sole operazioni

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

Simuliamo ora il funzionamento di LRU sulla reference string data:

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

Dettagli

Il Concetto di Processo

Il Concetto di Processo I Processi Il Concetto di Processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono eseguite

Dettagli

Esercizi sulla macchina assembler, strutturazione a livelli, spazio di indirizzamento

Esercizi sulla macchina assembler, strutturazione a livelli, spazio di indirizzamento Architettura degli Elaboratori, a.a. 2005-06 Esercizi sulla macchina assembler, strutturazione a livelli, spazio di indirizzamento Esercizio 1 (svolto) a) Compilare in assembler Risc (Cap. V) un programma

Dettagli

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Cosa vedremo: Esecuzione di un programma Concetto di processo Interruzioni Sistemi monotasking e multitasking Time-sharing Tabella dei

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

ESERCITAZIONE 6 - Soluzioni. Processi e thread

ESERCITAZIONE 6 - Soluzioni. Processi e thread ESERCITAZIONE 6 - Soluzioni Processi e thread 2 Processi e Thread 3 Calcolatori e processi (1) 1) In figura è mostrato lo stato di tre processi. In teoria, con 3 stati potrebbero verificarsi 6 transizioni,

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

Il Sistema Operativo Ripasso

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

Dettagli

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca

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

Il Sistema Operativo Processi e Risorse

Il Sistema Operativo Processi e Risorse ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario Processi Evoluzione dei Processi Modello a Processi Interrupt Context Switching Risorse Risorsa, Classe, Istanza, Molteplicità

Dettagli

Sistema operativo e processi. Il Sistema Operativo ed i Processi. Il sistema operativo. Il sistema operativo

Sistema operativo e processi. Il Sistema Operativo ed i Processi. Il sistema operativo. Il sistema operativo Il Sistema Operativo ed i Processi Giuseppe Pozzi Impianti di Elaborazione Facoltà di Ingegneria di Como Politecnico di Milano giuseppe.pozzi@polimi.it - versione del 22 ottobre 2003 - Sistema operativo

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

2. Nucleo del sistema operativo (la gestione dei processi)

2. Nucleo del sistema operativo (la gestione dei processi) Struttura interna del sistema operativo Linux 2. Nucleo del sistema operativo (la gestione dei processi) Architettura (struttura) del sistema operativo shell Programmi utente Modo utente Interfaccia delle

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. 2017-18 Pietro Frasca Lezione 5 Martedì 17-10-2017 Descrittore del processo (PCB) Ogni processo è rappresentato

Dettagli