Sistemi Operativi e Laboratorio, Prova del 05/02/2014
|
|
- Cesarina Pozzi
- 6 anni fa
- Visualizzazioni
Transcript
1 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 stesso. Un generico utente che arriva all'ufficio, prende un numero di ordine di servizio (realizzato mediante la variabile intera turno inizializzata a 0). Se non c'è nessun altro utente in attesa (e quindi se il numero di turno che ha preso è uguale al valore della variabile intera stiamoservendo), attiva l'impiegato (eventualmente sospeso sulla variabile di condizione Impiegato) e si avvia allo sportello. Altrimenti, si sospende sulla condizione CodaUtenti in attesa di essere riattivato dall'impiegato. Se non ci sono utenti da servire, l impiegato si sospende sulla variabile di condizione Impiegato. Altrimenti, serve l'utente che aveva preso il numero di prenotazione uguale a stiamoservendo, ed incrementa di uno il valore di tale variabile. Quindi, passa a servire il prossimo utente (quello il cui numero di prenotazione è uguale al valore attuale di stiamoservendo). Gli utenti e l'impiegato sono thread di uno stesso processo. Per la soluzione del problema, si utilizzano i seguenti dati condivisi dai thread: turno: intero non negativo; valore iniziale 0; stiamoservendo: intero non negativo; valore iniziale 0; utentiinattesa: intero non negativo; valore iniziale 0. Contiene il numero di utenti in attesa di essere serviti allo sportello. Per gli studenti che sostengono la prova di verifica intermedia: Si chiede di completare la soluzione proposta utilizzando i meccanismi delle variabili di condizione (visti a lezione e sul libro), con la variabile MutexPosta, di tipo mutex e le variabili CodaUtenti e Impiegato, di tipo condition, il cui utilizzo è descritto sopra. Per tutti gli altri studenti: Si chiede di completare la soluzione proposta utilizzando i meccanismi della libreria pthread, con la variabile MutexPosta, di tipo mutex e le variabili CodaUtenti e Impiegato, di tipo condition, il cui utilizzo è descritto sopra. //codice dell'utente int x=turno; turno ++; utentiinattesa ++; while x>stiamoservendo //l'utente si mette in attesa // <va allo sportello per il servizio e alla fine esce> } //codice dell'impiegato while true while utentiinattesa ==0 //l'impiegato si mette in attesa // utentiinattesa --; < serve l'utente> stiamoservendo++; }
2 - Per gli studenti che sostengono la prova di verifica intermedia //codice dell'utente MutexPosta. Acquire(); int x=turno; turno ++; utentiinattesa ++; while x>stiamoservendo CodaUtenti.wait(&MutexPosta); //l'utente si mette in attesa // Impiegato.signal(&MutexPosta); MutexPosta. Release(); <va allo sportello per il servizio e alla fine esce> } //codice dell'impiegato while true MutexPosta. Acquire(); while utentiinattesa ==0 Impiegato.wait(&MutexPosta); //l'impiegato si mette in attesa // utentiinattesa --; MutexPosta. Release(); < serve l'utente> MutexPosta. Acquire(); stiamoservendo++; codautenti.broadcast(&mutexposta); MutexPosta. Release(); } - Per gli altri studenti //codice dell'utente pthread_mutex_lock(&mutexposta); int x=turno; turno ++; utentiinattesa ++; while x>stiamoservendo pthread_cond_wait(&codautenti,&mutexposta); //l'utente si mette in attesa // pthread_cond_signal(&impiegato); pthread_mutex_unlock(&mutexposta); <va allo sportello per il servizio e alla fine esce> } //codice dell'impiegato while true pthread_mutex_lock(&mutexposta); while utentiinattesa ==0 pthread_cond_wait(&impiegato,&mutexposta); //l'impiegato si mette in attesa // utentiinattesa --; pthread_mutex_unlock(&mutexposta); < serve l'utente> pthread_mutex_lock(&mutexposta); stiamoservendo++; pthread_cond_broadcast(&codautenti); pthread_mutex_unlock(&mutexposta); }
3 Esercizio 2 (4 punti) Si consideri un processore che dispone dei registri speciali PC (program counter), PS (program status) e SP (stack pointer), e di un banco di registri generali, utilizzati sia in stato utente, sia in stato supervisore, che comprende i registri R1, R2 e R3. Inoltre, il nucleo dispone di un proprio stack, che inizia all indirizzo 2020 e si espande verso il basso. Al riconoscimento di un interruzione, il processore salva sullo stack del nucleo i soli registri speciali. Il sistema operativo realizza i thread a livello del nucleo e lo schedulatore gestisce esclusivamente i thread. La politica di scheduling è a priorità e con prerilascio (un valore maggiore della priorità corrisponde a priorità maggiore). Al tempo t sono presenti nel sistema il thread T i1 del processo P i, che si trova in stato di esecuzione, e il thread T j1 del processo P j, che è in stato di attesa sul semaforo sem. In questo istante di tempo, thread T i1 invoca la chiamata di sistema: V(sem) per gli studenti che sostengono la prova di verifica intermedia; signal(sem) per tutti gli altri studenti. Immediatamente dopo il riconoscimento della chiamata di sistema, i registri del processore, i descrittori di T i1 e T j1 hanno i contenuti mostrati in tabella. Lo stack del nucleo è vuoto. Supponendo che il vettore di interruzione associato all interruzione sia 3500 e che la parola di stato del nucleo sia 376A, si chiede: a) il contenuto dei descrittori, dei registri generali e speciali e dello stack del nucleo durante la fase di estrazione della prima istruzione della procedura di gestione della chiamata di sistema; b) il contenuto dei descrittori, dei registri generali e speciali e dello stack del nucleo durante la fase di estrazione dell istruzione IRET con la quale termina la procedura di gestione dell interruzione; c) il contenuto dei descrittori, dei registri generali e speciali e dello stack del nucleo durante la fase di estrazione dell istruzione eseguita subito dopo la IRET. Stato Esec Stato Attesa 2020 Priorità 5 Priorità SP F000 PC E000 PC A0AA 2018 R PS 1683 PS R SP F010 SP C0CC 2016 R R R R R R R PC E0E0 PS 1682 UTENTE a) contenuto dei descrittori, dei registri generali e speciali e dello stack del nucleo durante la fase di estrazione della prima istruzione della procedura di gestione dell interruzione: Stato Stato 2020 Priorità Priorità 2019 SP PC PC 2018 R1 PS PS 2017 R2 SP SP 2016 R3 R1 R R2 R R3 R PC PS b) contenuto dei descrittori, dei registri generali e speciali e dello stack del nucleo durante la fase di estrazione dell istruzione IRET con la quale termina la procedura di gestione dell interruzione; Stato Stato 2020 Priorità Priorità 2019 SP PC PC 2018 R1 PS PS 2017 R2 SP SP 2016 R3 R1 R R2 R R3 R3 2013
4 PC Sistemi Operativi e Laboratorio, Prova del 05/02/2014 PS c) contenuto dei descrittori, dei registri generali e speciali e dello stack del nucleo durante la fase di estrazione dell istruzione eseguita subito dopo la IRET. Stato Stato 2020 Priorità Priorità 2019 SP PC PC 2018 R1 PS PS 2017 R2 SP SP 2016 R3 R1 R R2 R R3 R PC PS a) contenuto dei descrittori, dei registri generali e speciali e dello stack del nucleo durante la fase di estrazione della prima istruzione della procedura di gestione dell interruzione: Stato Esec Stato Attesa 2020 E0E0 Priorità 5 Priorità SP 2017 PC E000 PC A0AA 2018 F000 R PS 1683 PS R SP F010 SP C0CC 2016 R R R R R R R PC 3500 PS 376A SUPERVISORE b) contenuto dei descrittori, dei registri generali e speciali e dello stack del nucleo durante la fase di estrazione dell istruzione IRET con la quale termina la procedura di gestione dell interruzione; Stato Esec Stato Pronto 2020 E0E0 Priorità 5 Priorità SP 2017 PC E000 PC A0AA 2018 F000 R PS 1683 PS R SP F010 SP C0CC 2016 R R R R R R R PC 3500+?? PS 376A SUPERVISORE c) Contenuto dei descrittori, dei registri generali e speciali e dello stack del nucleo durante la fase di estrazione dell istruzione eseguita subito dopo la IRET. Stato Esec Stato Pronto 2020 Priorità 5 Priorità SP F000 PC E000 PC A0AA 2018 R PS 1683 PS R SP F010 SP C0CC 2016 R R R R R R R
5 PC E0E0 PS 1682 UTENTE Esercizio 3 (4 punti) In un file system UNIX i blocchi del disco hanno ampiezza di 1Kbyte e i puntatori ai blocchi sono a 16 bit. Gli i-node contengono, oltre agli altri attributi, 10 puntatori diretti e 3 puntatori indiretti. Il primo blocco del disco ha indice logico 0. Si chiede: 1. il numero di puntatori che possono essere contenuti in un blocco indiretto; 2. l indice logico del primo blocco e dell ultimo blocco indirizzabili con puntatori diretti; 3. l indice logico del primo blocco e dell ultimo blocco indirizzabili con indirizzamento indiretto semplice; 4. Si consideri un file aperto (il cui i-node è caricato in memoria principale), la cui lunghezza corrente (in byte) è e il cui i-node contiene i seguenti puntatori a blocchi: Puntatore Valore del puntatore dove il blocco indiretto 800 ha il seguente contenuto parziale: Indice di elemento nel blocco Valore del puntatore Dire la dimensione in blocchi del file e a quali blocchi del disco bisogna accedere per leggere 2000 bytes del file a partire dal byte Numero di puntatori che possono essere contenuti in un blocco indiretto: ; 2. Il primo e l ultimo blocco indirizzabili con puntatori diretti hanno rispettivamente indici logici: ; 3. Il primo e l ultimo blocco indirizzabili con indirizzamento indiretto semplice hanno rispettivamente indici logici: ; 4. L ultimo carattere del file è contenuto nel blocco ; quindi il file è composto da blocchi; Il primo carattere da leggere è il , ed è contenuto nel blocco di indice logico: L ultimo carattere da leggere è il numero, che è contenuto nel blocco di indice logico:. Quindi i blocchi logici da leggere sono:. I blocchi logici da leggere sono allocati nei blocchi fisici:. I blocchi fisici da leggere sono:. 1. Un indirizzo occupa 16 bit=2 bytes. Pertanto, il numero di puntatori che possono essere contenuti in un blocco indiretto è dato da 2^10/2= 512; 2. il primo e l ultimo blocco indirizzabili con puntatori diretti hanno rispettivamente indici logici 0 e 9; 3. il primo e l ultimo blocco indirizzabili con indirizzamento indiretto semplice hanno rispettivamente indici logici 10 e ( ) - 1= 521; 4. l ultimo carattere del file è contenuto nel blocco ( ) div 2^10= 486; quindi il file è composto da 487 blocchi; il primo carattere da leggere è il , sul quale è posizionato il puntatore di lettura, è contenuto nel blocco di indice logico: div 2^10= 13. L ultimo carattere da leggere è il numero = , che è contenuto nel blocco di indice logico: div 2^10= 15. Quindi i blocchi logici da leggere sono il 13, 14 e 15, che rientrano nell indirizzamento indiretto singolo. Nella sequenza dei blocchi indirizzati dall indirizzamento indiretto singolo, Il puntatore corrispondente al blocco logico 13 occupa la posizione 13-10=3 del blocco fisico 800. Quindi il file system deve leggere il blocco indice di primo livello 800. All interno di questo blocco individua gli elementi 3, 4 e 5 che contengono i puntatori ai blocchi 677, 678 e 705 che devono essere letti. I blocchi da leggere sono quindi 800, 677, 678, 705
6 Esercizio 4 (4 punti) Un sistema simile a Windows gestisce la memoria con paginazione a domanda mediante un Working Set Manager. A un certo tempo, lo stato di occupazione della memoria (senza considerare i blocchi riservati al sistema operativo) è quello descritto nella seguente Core Map, i cui elementi hanno valore nullo se il blocco è libero, o altrimenti identificano il processo e la pagina a cui il blocco è assegnato. B,6 A,4 A,2 B,4 C,2 A,8 C,5 B,1 C,6 B,2 C,7 B,5 A,7 C, Nel sistema sono presenti i processi A, B e C, le cui tabelle delle pagine sono le seguenti (il campo TempoRif registra il tempo virtuale del processo al quale è avvenuto l ultimo riferimento alla pagina): Pagina Blocco TempoRif Pagina Blocco TempoRif Pagina Blocco TempoRif Processo A - 5 Processo B - 4 Processo C - 6 A ogni processo è assegnato un WorkingSet Ammissibile di 4 pagine. Per ogni pagina riferita da un processo che avanza, si procede nel modo seguente: Se la pagina è presente in memoria, si scrive il valore attuale del tempo virtuale del processo nel campo TempoRif della tabella delle pagine. Se si verifica un PageFault, la pagina riferita viene caricata in un blocco disponibile (anche se il numero di pagine caricate, o insieme residente, supera la dimensione del Working Set Ammissibile), registrando il valore attuale del tempo virtuale del processo nel campo TermpoRif. I blocchi disponibili vengono assegnati in ordine crescente di indice. Il Working Set Manager viene attivato quando il numero di blocchi disponibili si riduce a 2, e si comporta nel modo seguente: - considera i soli processi la cui dimensione dell insieme residente (numero di pagine caricate in memoria) superi quello del WorkingSet Ammissibile (che è 4 per tutti i processi) e per questi processi ordina globalmente le pagine per valori decrescenti del parametro TempoVirtuale- TempoRif, dove TempoVirtuale è il valore attuale del tempo virtuale del processo; - scarica dalla memoria le pagine secondo questo ordinamento, fino a quando il numero di blocchi disponibili diventa uguale a 8. In caso di parità tra due o più pagine si considera l ordine alfabetico dei processi. A partire dal tempo considerato il sistema evolve nel modo seguente: 1. Avanza il processo C, che ai tempi virtuali 12, 13, 14 e 15 riferisce rispettivamente le pagine 1, 2, 0, e 9 2. Avanza il processo B, che ai tempi virtuali 10, 11, 12, 13 e 14 riferisce rispettivamente le pagine 6, 5, 0, 6 e 8. Si chiede la configurazione della CoreMap e delle tabelle delle pagine dei 3 processi al termine dei punti 1 e 2. Nei casi nei quali viene eseguito il Working Set Manager indicare anche il tempo virtuale dei processi al momento dell esecuzione del Working Set Manager, e quante e quali pagine vengono rimosse. 1) Configurazione della CoreMap e delle tabelle delle pagine al termine del punto 1: Vengono caricate le pagine: Viene quindi eseguito il Working Set Manager [SI/NO]? Se SI: il Working Set Manager rimuove le pagine: Core Map e tabelle delle pagine al termine del punto 1: Pagina Blocco TempoRif Pagina Blocco TempoRif Pagina Blocco TempoRif
7 Processo A Processo B Processo C 2) Configurazione della CoreMap e delle tabelle delle pagine al termine del punto 2: Vengono caricate le pagine: Viene quindi eseguito il Working Set Manager [SI/NO]? Se SI: il Working Set Manager rimuove le pagine: Core Map e tabelle delle pagine al termine del punto 2: Pagina Blocco TempoRif Pagina Blocco TempoRif Pagina Blocco TempoRif Processo A Processo B Processo C 1) Configurazione della CoreMap e delle tabelle delle pagine al termine del punto 1: B,6 C,1 C,0 A,4 A,2 B,4 C,2 A,8 C,5 B,1 C,6 B,2 C,7 B,5 A,7 C, Pagina Blocco TempoRif Pagina Blocco TempoRif Pagina Blocco TempoRif Processo A - 5 Processo B - 4 Processo C - 6 Non è stato eseguito il Working Set Manager 2) Configurazione della CoreMap e delle tabelle delle pagine al termine del punto 2: B,6 C,1 C,0 A,4 B,0 A,2 B,4 C,2 B,8 A,8 C,5 B,1 C,6 B,2 C,7 B,5 A,7 C, Pagina Blocco TempoRif Pagina Blocco TempoRif Pagina Blocco TempoRif
8 Processo A - 5 Processo B - 4 Processo C - 6 Viene quindi eseguito il Working Set Manager che rimuove 6 pagine dei soli processi B e C. Il tempo attuale del processo B è: 15 Il tempo attuale del processo C è: 16 TempoVirtuale- TempoRif delle pagine dei processi B e C: B0 3; B1 11; B2 8; B4 10; B5 4; B6 2; B9 1; C0 2; C1 4; C2 3; C5 7; C6 5; C7 11; C9 1; Vengono quindi rimosse le pagine: B1, C7, B4, B2, C5, C6 B,6 C,1 C,0 A,4 B,0 A,2 C,2 B,8 A,8 B,5 A,7 C, Pagina Blocco TempoRif Pagina Blocco TempoRif Pagina Blocco TempoRif Processo A - 5 Processo B - 4 Processo C - 6 Esercizio 5 (3 punti) Si consideri un File System simile a NTFS che alloca i file in sequenze contigue (nel seguito chiamate run) individuate mediante coppie del tipo (inizio, lunghezza), dove inizio è l indice del primo blocco fisico del run e lunghezza esprime il numero di blocchi che la compongono. Ogni file è descritto da un MFT record che contiene, oltre ad altri attributi, una o più coppie (inizio, lunghezza). Il File System è ospitato da un disco con 2 facce, NTracce = 50 tracce per faccia e NSettori = 100 settori per traccia. Il tempo necessario per percorrere un settore è di 0,1 msec, conseguentemente il tempo di rotazione del disco è pari a 10 msec. Il tempo medio di esecuzione di un operazione di seek per posizionare la testina del disco da una traccia ad una adiacente è di 4 msec. Dopo un operazione di seek, il disco impiega in media un tempo pari alla metà del tempo rotazionale per posizionare la testina sul settore da leggere o scrivere. Assumiamo per semplicità che ogni blocco del file system sia allocato in un settore e si assuma che, dato un indice di blocco B, questo sia allocato nel settore individuato dalla terna <Faccia, Traccia, Settore>: Faccia = B div (NTracce x NSettori) Traccia = (B mod (NTracce x NSettori)) div NSettori Settore = (B mod (NTracce x NSettori)) mod NSettori dove div è la divisione intera e mod restituisce il resto della divisione. Si consideri il file Stromboli, il cui MFT record definisce, nell ordine, i seguenti run contigui: 1. (4000, 20), che contiene i blocchi fisici corrispondenti ai blocchi logici di indici compresi in [0,20) 2. (2000, 15), che contiene i blocchi fisici corrispondenti ai blocchi logici di indici compresi in [20,35) Si calcoli il tempo necessario per leggere l intero file Stromboli, supponendo che le teste di lettura/scrittura siano inizialmente posizionate sulla traccia 2 e che il tempo di esecuzione delle eventuali operazioni di seek sia sempre uguale a quello medio. Il primo blocco da leggere nel run 1 si trova nel blocco fisico 4000, che è allocato nel settore: L ultimo blocco da leggere nel run 1 si trova nel blocco fisico 4019, che è allocato nel settore: Operazioni sul run 1: Numero di blocchi estratti dal run 1: blocchi Tempo necessario per estrarre i blocchi dal run 1: Il primo blocco da leggere nel run 2 si trova nel blocco fisico 2000, che è allocato nel settore:
9 L ultimo blocco da leggere nel run 2 si trova nel blocco fisico 2014, che è allocato nel settore: Operazioni sul run 2: Numero di blocchi estratti dal run 2: blocchi Tempo necessario per estrarre i blocchi dal run 1: Tempo totale impiegato: Il primo blocco da leggere nel run 1 si trova nel blocco fisico 4000, che è allocato nel settore: <0, 40, 0> L ultimo blocco da leggere nel run 1 si trova nel blocco fisico 4019, che è allocato nel settore: <0, 40, 19> Operazioni sul run 1: Numero di blocchi estratti dal run 1: 20 blocchi Tempo necessario per estrarre i blocchi dal run 1: 4 msec (seek)+ 5 msec (metà tempo rotazionale) + 20* 0,1 (lettura settori) = 11 msec Il primo blocco da leggere nel run 2 si trova nel blocco fisico 2000, che è allocato nel settore: <0, 20, 0> L ultimo blocco da leggere nel run 2 si trova nel blocco fisico 2014, che è allocato nel settore: <0, 20, 14> Operazioni sul run 2: Numero di blocchi estratti dal run 2: 15 blocchi Tempo necessario per estrarre i blocchi dal run 1: 4 msec (seek)+ 5 msec (metà tempo rotazionale) + 15* 0,1 (lettura settori) = 10,5 msec Tempo totale impiegato: 21,5 msec Esercizio 6 (3 punti) Un sistema con 4 processi A, B, C, D e risorse dei tipi R1, R2, R3, R4, rispettivamente di molteplicità [5, 6, 3, 6] adotta nei confronti dello stallo la politica di riconoscimento ed eliminazione. Ad un dato istante di tempo t tutti i processi sono sospesi e si è raggiunto uno stallo, come mostrato nelle tabelle seguenti. Assegnazione attuale Esigenza Massima Esigenza residua (esclusa l assegnazione attuale) Molteplicità R1 R2 R3 R4 R1 R2 R3 R4 R1 R2 R3 R4 R1 R2 R3 R4 A 2 3 A 4 4 A B 1 1 B B C 2 1 C 2 3 C Disponibilità D 3 2 D D Dire quali delle seguenti azioni (da considerarsi in alternativa) elimina lo stallo: a) il processo A viene forzato a rilasciare 1 risorsa di tipo R1 b) il processo C viene forzato a rilasciare 1 risorsa di tipo R4 Ipotesi a): Stato raggiunto dopo il rilascio di un istanza di R1 da parte di A: Assegnazione attuale Esigenza Massima Esigenza residua (esclusa l assegnazione attuale) Molteplicità R1 R2 R3 R4 R1 R2 R3 R4 R1 R2 R3 R4 R1 R2 R3 R4 A A A B B B C C C Disponibilità D D D Verifica dello stato sicuro: 1) Il processo può terminare [SI/NO] la disponibilità di R1, R2, R3, R4} diviene } 2) Il processo può terminare [SI/NO] la disponibilità di R1, R2, R3, R4} diviene } 3) Il processo può terminare [SI/NO] la disponibilità di R1, R2, R3, R4} diviene }
10 4) Il processo può terminare [SI/NO] la disponibilità di R1, R2, R3, R4} diviene } Di conseguenza: stallo eliminato? [SI/NO] b) Stato raggiunto dopo il rilascio di un istanza di R4 da parte di C: Assegnazione attuale Esigenza Massima Esigenza residua (esclusa l assegnazione attuale) Molteplicità R1 R2 R3 R4 R1 R2 R3 R4 R1 R2 R3 R4 R1 R2 R3 R4 A A A B B B C C C Disponibilità D D D Verifica dello stato sicuro: 1) Il processo può terminare [SI/NO] la disponibilità di R1, R2, R3, R4} diviene } 2) Il processo può terminare [SI/NO] la disponibilità di R1, R2, R3, R4} diviene } 3) Il processo può terminare [SI/NO] la disponibilità di R1, R2, R3, R4} diviene } 4) Il processo può terminare [SI/NO] la disponibilità di R1, R2, R3, R4} diviene } Di conseguenza: stallo eliminato? [SI/NO] Ipotesi a): Stato raggiunto dopo il rilascio di un istanza di R1 da parte di A: Assegnazione attuale Esigenza Massima Esigenza residua (esclusa l assegnazione attuale) Molteplicità R1 R2 R3 R4 R1 R2 R3 R4 R1 R2 R3 R4 R1 R2 R3 R4 A 1 3 A 4 4 A B 1 1 B B C 2 1 C 2 3 C Disponibilità D 3 2 D D Per la verifica dello stato sicuro: Nessun processo può terminare Di conseguenza: stallo eliminato? NO b) Stato raggiunto dopo il rilascio di un istanza di R4 da parte di C: Assegnazione attuale Esigenza Massima Esigenza residua (esclusa l assegnazione attuale) Molteplicità R1 R2 R3 R4 R1 R2 R3 R4 R1 R2 R3 R4 R1 R2 R3 R4 A 2 3 A 4 4 A B 1 1 B B C 2 C 2 3 C Disponibilità D 3 2 D D Per la verifica dello stato sicuro: 1) Il processo A può terminare La disponibilità di R1, R2, R3, R4} diviene 4,2,1,4} 2) Il processo C può terminare La disponibilità di R1, R2, R3, R4} diviene 4,2,3,4} 3) Il processo D può terminare La disponibilità di R1, R2, R3, R4} diviene 4,5,3,6} 4) Il processo B può terminare La disponibilità di R1, R2, R3, R4} diviene 5,6,3,6} Di conseguenza: stallo eliminato? SI
11 Esercizio 7 (2 punti) Si consideri un sistema che gestisce il processore con politica Round Robin, con quanto di tempo di 5 msec. Lo scheduler del processore è attivato dai seguenti eventi (che possono anche verificarsi contemporaneamente): il processo in esecuzione esaurisce il quanto di tempo; il processo in esecuzione si sospende; il processo in esecuzione termina. Nel sistema sono presenti i seguenti processi, che terminano dopo aver utilizzato il processore per la durata specificata in tabella: Proc Tempo di Durata Comportamento arrivo (msec) A 1 38 Avanza fino alla terminazione senza sospendersi B 3 60 Si sospende dopo aver utilizzato il processore per 12 msec; viene riattivato dopo 3 msec C 4 15 Avanza fino alla terminazione senza sospendersi D 5 20 Si sospende dopo aver utilizzato il processore per 8 msec; viene riattivato dopo 4 msec Utilizzando la seguente tabella per seguire l evoluzione dei processi, si chiede di determinare il tempo di terminazione del processo D, Tempo evento In esec Coda pronti 0 Arriva A A Il processo D termina all istante: Tempo evento In esecuzione Coda pronti 0 A B,C,D 5 Scade qdt B C,D,A 10 Scade qdt C D,A,B 15 Scade qdt D A,B,C 20 Scade qdt A B,C,D 25 Scade qdt B C,D,A 30 Scade qdt C D,A,B 35 Scade qdt D A,B,C 38 D si sospende * A B,C 43 Scade qdt B C,D,A 45 B si sospende * C D,A 50 Termina C D A,B 55 Scade qdt A B,D 60 Scade qdt B D,A 65 Scade qdt D A,B 70 Scade qdt A B,D 75 Scade qdt B D,A 80 Scade qdt D A,B 82 Termina D A B
12 * dato che i processi B e D restano sospesi meno di un quanto di tempo, quando vengono riattivati la coda pronti non è cambiata e quindi mantengono la loro posizione in coda. Il processo D termina all istante 82 Esercizio 8 (2 punti) Si consideri un sistema nel quale sono definiti il semaforo sem e i processi P1, P2 e P3. Lo scheduling avviene con una politica round robin, e la politica applicata al semaforo è FIFO. Al tempo t il processo P1 è in esecuzione e il processo P2 è in coda pronti. Inoltre il semaforo sem ha valore 0 e la coda associata al semaforo contiene il processo P3. Dopo il tempo t, si verificano in sequenza i seguenti di eventi: 1) P1 esegue V(sem) P1 esegue signal(sem) per gli studenti degli anni accademici precedenti l A.A. 2013/14 2) il processo in esecuzione esegue V(sem) esegue signal(sem) per gli studenti degli anni accademici precedenti l A.A. 2013/14 3) scade il quanto di tempo scade il quanto di tempo 4) il processo in esecuzione esegue P(sem) esegue wait(sem) per gli studenti degli anni accademici precedenti l A.A. 2013/14 Si chiede di specificare quale processo è in esecuzione subito dopo ogni evento e inoltre come si modificano il valore e la coda del semaforo sem e la CodaPronti. Sequenza di eventi In Esecuzione Coda Pronti Valore di sem Coda di sem 1) P1 esegue V(sem) (o, equivalentemente, signal(sem) 2) il processo in esecuzione esegue V(sem) (o, equivalentemente, signal(sem)) 3) scade il quanto di tempo 4) Il processo in esecuzione esegue P(sem) (o, equivalentemente, wait(sem)) Sequenza di eventi In Esecuzione Coda Pronti Valore di sem Coda di sem 1) P1 esegue V(sem) (o, equivalentemente, signal(sem) 2) il processo in esecuzione esegue V(sem) (o, equivalentemente, signal(sem)) P1 P2, P3 0 - P1 P2, P3 1-3) scade il quanto di tempo P2 P3, P1 1-4) Il processo in esecuzione esegue P(sem) (o, equivalentemente, wait(sem)) P2 P3, P1 0 - Esercizio 9 (2 punti) In un sistema tipo Unix che adotta una politica di schedulazione round robin, sono definiti il semaforo sem e i processi P1 e P2. Al tempo t il processo P1 è in esecuzione, la coda pronti contiene il processo P2 e il semaforo sem ha valore 0. Dopo il tempo t si verifica la seguente sequenza di eventi: 1) P1 esegue la chiamata di sistema fork() che genera il processo P3; 2) Scade il quanto di tempo; 3) Il processo in esecuzione esegue P(sem) per gli studenti che NON fanno la prova di verifica intermedia wait(sem); 4) Il processo in esecuzione esegue V(sem) - per gli studenti che NON fanno la prova di verifica intermedia signal(sem); Si chiede di specificare quale processo è in esecuzione dopo ogni evento e inoltre come si modificano le code dei processi pronti e il valore e la coda del semaforo sem. Sequenza di eventi In Esecuzione Coda pronti Valore di sem Coda di sem
13 1) P1 esegue fork() Sistemi Operativi e Laboratorio, Prova del 05/02/2014 2) Scade il quanto di tempo; 3) il processo in esecuzione esegue P(sem) (wait(sem)) 4) Il processo in esecuzione esegue V(sem) (signal(sem)) Sequenza di eventi In Esecuzione Coda pronti Valore di sem Coda di sem 1) P1 esegue fork() P1 P2, P3 0-2) Scade il quanto di tempo; P2 P3, P1 0-3) il processo in esecuzione esegue P(sem) (wait(sem)) 4) Il processo in esecuzione esegue V(sem) (signal(sem)) P3 P1 0 P2 P3 P1, P2 0 - Esercizio 10 (2 punti) In un sistema il cui nucleo riconosce i processi come unica l unità di schedulazione, i thread sono realizzati a livello utente. In questo sistema, quali delle seguenti operazioni richiedono la transizione in stato supervisore? Operazione Necessario stato supervisore? (SI/NO) Eseguire un istruzione SVC per invocare una chiamata di sistema Modificare la priorità di un thread Effettuare la commutazione di contesto tra due thread dello stesso processo Effettuare la commutazione di contesto tra due processi Operazione Necessario stato supervisore? (SI/NO) Eseguire un istruzione SVC per invocare una chiamata di sistema NO Modificare la priorità di un thread NO Effettuare la commutazione di contesto tra due thread dello stesso processo NO Effettuare la commutazione di contesto tra due processi SI
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),
DettagliSistemi 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
DettagliSistemi 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
DettagliSOLUZIONE 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
DettagliSistemi 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
DettagliEsercizio 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
DettagliESERCIZIO 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
DettagliSistemi 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,
DettagliESERCIZIO 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
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale
DettagliTECN.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
DettagliUniversità 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
DettagliJava 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
DettagliCognome e nome: Matricola: Posto:
Quesito 1: (+0,5 punti per ogni risposta esatta; -0,25 punti per ogni risposta sbagliata; 0 punti se lasciata in bianco) DOMANDA ero/also La tecnica di allocazione contigua è soggetta al problema della
DettagliYYY02 Esercizi per Teoria. Esercizi per preparazione alla prova scritta
YYY02 Esercizi per Teoria Esercizi per preparazione alla prova scritta Esercizio YYY02_02 - Busy Waiting In linguaggio ANSI C, siano dichiarate le seguenti variabili, e siano queste variabili debitamente
DettagliI 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
DettagliSISTEMI 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
DettagliSistemi Operativi. Lezione 3 Processi e Thread
Lezione 3 Processi e Thread Introduzione Sino ai sistemi batch la CPU di un sistema svolgeva un attività, la portava a termine e solo allora avviava un altra attività Con l avvento della multiprogrammazione
DettagliSistemi 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
DettagliSistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it e 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
Dettagliil Nucleo e la gestione dei processi
il Nucleo e la gestione dei processi 1. Programmi, processi e risorse Differenza fra programmi e processi Il Programma rappresenta la descrizione del procedimento logico (algoritmo) che deve essere eseguito
DettagliSistemi 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
DettagliLezione 16. Esercizio 2 (paginazione( di windows) di Linux) 1: soluzione. Esercitazione finale. 10 page faults 5 soft faults
Lezione Esercizio (paginazione( di windows) Esercitazione finale Sistema operativo con paginazione windows-like con: frame per le pagine attive unita di tempo per la permanenza nelle pagine in attesa Sequenza
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 20 Martedì 16-12-2014 1 System call per la gestione dei processi Creazione
DettagliSistemi Operativi. La gestione delle risorse
Sistemi Operativi La gestione delle risorse Introduzione Il sistema operativo ha il compito di fornire la gestione dell hardware ai programmi dell utente. Utente utilizza i programmi applicativi Programmi
Dettagli2. 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
DettagliGestione della memoria
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliInformatica 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
DettagliIl supporto al sistema operativo
Politecnico di Milano Il supporto al sistema operativo Prof. Mariagiovanna Sami sami@elet.polimi.it 2007- Obiettivi e Funzioni Perché introdurre il sistema operativo? Convenienza Rende più facile usare
DettagliI THREAD O PROCESSI LEGGERI
I THREAD O PROCESSI Processi (pesanti): LEGGERI entità autonome con poche risorse condivise (si prestano poco alla scrittura di applicazioni fortemente cooperanti) Ogni processo può essere visto come Immagine
DettagliEsercitazione E3 File System
Esercitazione E3 File System Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E3-1 Indici ISAM Si consideri un file di 60.000 record di 80 byte ciascuno, con un campo chiave di 16 byte, sul quale
DettagliLinguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA
Lezione n.11 n.11 Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di base relativi
DettagliProcessi. Descrittore di Processo (PCB) Context Switch Primitive per la creazione e terminazione dei processi. Il descrittore di processo (PCB)
Processi Descrittore di Processo (PCB) Context Switch Primitive per la creazione e terminazione dei processi 1 Il descrittore di processo (PCB) Il S.O. gestisce i processi associando a ciascuno di essi
DettagliSistema operativo: Gestione dei processi
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2009/2010 Sistema operativo: Gestione dei processi La presente dispensa e da
DettagliSystem 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:
DettagliLezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario
Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1
DettagliBootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:
Bootstrap Bootstrap All accensione di un calcolatore vengono attivati programmi di diagnostica scritti nella ROM (Read Only Memory) che verificano l assenza di guasti Poi viene attivato il programma di
DettagliSpazio 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 (){
DettagliFONDAMENTI DI INFORMATICA Lezione n. 11
FONDAMENTI DI INFORMATICA Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di
DettagliEsercizi 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
DettagliLezione XII: La gestione delle eccezioni in MINIX
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 4 aprile 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliSistemi Operativi: Concetti Introduttivi
Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione
DettagliNota: 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
DettagliChiamata di procedura remota
Con gli strumenti gia` visti, si puo` realizzare come segue: lato chiamante: send asincrona immediatamente seguita da una receive lato chiamato: una receive seguita, al termine dell azione richiesta, da
DettagliCorso di laurea in ingegneria informatica Esame di sistemi operativi 21 gennaio 2009 SOLUZIONI
Corso di laurea in ingegneria informatica Esame di sistemi operativi 21 gennaio 2009 SOLUZIONI 1. Si consideri il programma C seguente (gli #include necessari sono omessi): / programma principale / 1.
DettagliUniversità degli Studi di Padova - Corso di Laurea in Informatica
Università degli Studi di Padova - Corso di Laurea in Informatica Regole dell'esame Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 45 min dalla sua presentazione.
DettagliTEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati
TEORIA DEI SISTEMI OPERATIVI Sistemi monoprogrammatie multiprogrammati 1 STRUTTURA DEL SISTEMA OPERATIVO UTENTE La struttura di un sistema operativo è di tipo gerarchico: i programmi che lo compongono
DettagliSIMULAZIONE DELLA PROVA INTERMEDIA DEL CORSO DI CALCOLATORI ELETTRONICI
SIMULAZIONE DELLA PROVA INTERMEDIA DEL CORSO DI CALCOLATORI ELETTRONICI ESERCIZIO 1 (10 Punti) Si implementi una rete sequenziale la cui uscita valga Z=1 solo quando viene riconosciuta la sequenza in ingresso
DettagliIl presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello 27 giugno 2016 COGNOME E NOME MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3 esercizi e deve essere debitamente
Dettagli1. Le componenti principali di un sistema operativo sono: interfaccia con l utente (interprete dei comandi e/o interfaccia
1. Quali sono le componenti principali dei sistemi operativi? 2. Si descriva il meccanismo attraverso cui i programmi in esecuzione richiamano i servizi dei sistemi operativi. 1. Le componenti principali
DettagliOperazioni di I/O. Schema di collegamento fra dispositivi periferici e CPU
Operazioni di I/O 1 Schema di collegamento fra dispositivi periferici e CPU Memoria CPU buffer interfaccia Registro di controllo Registro Di stato Unità di controllo Dispositivo fisico 2 1 Unità di interfaccia
DettagliACSO Programmazione di Sistema e Concorrente
ACSO Programmazione di Sistema e Concorrente P2 Modello Thread 2/12/2015 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio di informazione) necessario tra attività
Dettagli2. Nucleo del sistema operativo (la gestione dei processi)
Architettura del sistema operativo Struttura interna del sistema operativo Linux shell Programmi utente Modo utente 2. Nucleo del sistema operativo (la gestione dei processi) - 31 marzo 2008 - Interfaccia
DettagliCorso di Laboratorio di Sistemi Operativi
Corso di Laboratorio di Sistemi Operativi Lezione 7 Alessandro Dal Palù email: alessandro.dalpalu@unipr.it web: www.unipr.it/~dalpalu Threads Un thread è l unità di base per l utilizzo della CPU. Composto
DettagliLe 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
DettagliLivelli del sottosistema di I/O
Input/Output 1 Livelli del sottosistema di I/O Software di I/O di livello utente Software di sistema indipendente dal dispositivo Driver dei dispositivi Gestori delle interruzioni Hardware Modo utente
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
DettagliSistemi Operativi. Lezione 4 I processi: implementazioni
Lezione 4 I processi: implementazioni UNIX Creazione di un processo Assegna al processo un identificatore univoco Alloca spazio per il processo Inizializza il PCB Predisponi gli opportuni agganci con strutture
Dettagli5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche
Device driver - gestori delle periferiche Struttura interna del sistema operativo Linux Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi periferici Interagiscono con
DettagliVerso i puntatori: Cosa è una variabile?
Verso i puntatori: Cosa è una variabile? Quando si dichiara una variabile, ad es. int a; si rende noto il nome e il tipo della variabile. Il compilatore alloca l opportuno numero di byte di memoria per
DettagliOrganizzazione di un SO monolitico
Organizzazione di un SO monolitico Applicazioni Interprete di comandi (shell) Interfaccia grafica (desktop) Gestore del Gestore delle processore / Gestore della periferiche/ Scheduler(s) memoria dispositivi
DettagliUniversità 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
DettagliSistemi Operativi (modulo di Informatica II) I processi
Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Il concetto di processo Schedulazione dei processi Operazioni sui processi
DettagliInformatica II Sistemi Operativi DIGIP - a.a. 2015/16
DIPARTIMENTO DI INFORMATICA Alberto Ceselli (alberto.ceselli@unimi.it) Informatica II Sistemi Operativi DIGIP - a.a. 2015/16 Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università
DettagliUniversità Ca' Foscari Venezia - Corso di Laurea in Informatica Sistemi Operativi prof. Augusto Celentano. Domande di riepilogo
Università Ca' Foscari Venezia - Corso di Laurea in Informatica Sistemi Operativi prof. Augusto Celentano Domande di riepilogo 1) Il descrittore di processo (Process Control Block) include al suo interno:
DettagliLA GESTIONE DELLA I/O
LA GESTIONE DELLA I/O Il S.O. È l interfaccia tra l hardware e i programmi che effettuano richieste di I/O Sottosistema di I/O strutturato in moduli chiamati DRIVER uno per ogni dispositivo I Driver rendono
DettagliElementi di Architettura e Sistemi Operativi. problema punti massimi i tuoi punti problema 1 6 problema 2 7 problema 3 7 problema 4 10 totale 30
Elementi di Architettura e Sistemi Operativi Bioinformatica - Tiziano Villa 28 Settembre 2012 Nome e Cognome: Matricola: Posta elettronica: problema punti massimi i tuoi punti problema 1 6 problema 2 7
DettagliIl Sistema Operativo
Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche
DettagliIl Sistema Operativo. Informatica Sistema Operativo 1
Il Sistema Operativo Informatica Sistema Operativo 1 O.S.:.: un intermediario SW Applicativo Sistema Operativo HW Informatica Sistema Operativo 2 O.S. vs applicativi Applicativi accesso a un insieme ridotto
DettagliProva 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
DettagliSi può simulare una struttura di directory a multilivelli con una struttura di directory a singolo livello?"
Si può simulare una struttura di directory a multilivelli con una struttura di directory a singolo livello?" SOL Se è permesso che i nomi dei file abbiano lunghezza arbitraria, basta associare al nome
DettagliSistemi Operativi Il Sistema Operativo Windows (parte 2)
Sistemi Operativi Il Sistema Operativo Windows (parte 2) Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Gestione della memoria 1 Ogni processo dispone
DettagliCorso di Informatica
Corso di Informatica Modulo T4 3-Gestione della memoria 1 Prerequisiti Rilocazione dinamica Spazio degli indirizzi Descrittore di processo Descrittore della memoria 2 1 Introduzione Una volta conosciute
DettagliUniversità degli Studi di Cassino
Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2004/2005 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione
DettagliElementi di Architettura e Sistemi Operativi
Elementi di Architettura e Sistemi Operativi Bioinformatica - Tiziano Villa 17 Settembre 2015 Nome e Cognome: Matricola: Posta elettronica: problema punti massimi i tuoi punti problema 1 5 problema 2 5
DettagliBasi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale
Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Struttura DBMS Gestore delle interrogazioni Decide le strategie di accesso ai dati per rispondere alle interrogazioni Gestore
DettagliEsercitazione 2: Java Thread
Esercitazione 2: Java Thread Thread Un thread è un singolo flusso sequenziale di controllo all interno di un processo Un thread (o processo leggero) è un unità di esecuzione che condivide codice e dati
DettagliEsercitazione 2: Java Thread. Java Thread. Java Thread. Un thread:
Esercitazione 2: Thread Un thread è un singolo flusso sequenziale di controllo all interno di un processo Un thread (o processo leggero) è un unità di esecuzione che condivide codice e dati con altri thread
DettagliIl 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
DettagliNel microprocessore 8086 abbiamo una gran quantità di registri
I registri del microprocessore 8086 Nel microprocessore 8086 abbiamo una gran quantità di registri AH AL AX 1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 B H B L BX 1 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 C H C L CX 1 0 1 1
DettagliStruttura Logica del S.O:
Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è
DettagliMemoria Virtuale. Alessandro A. Nacci ACSO 2014/2014
Memoria Virtuale Alessandro A. Nacci alessandro.nacci@polimi.it ACSO 2014/2014 1 2 Algoritmo LRU! Buone prestazioni in media! Utilizza bit di controllo che riportano le informazioni sugli accessi alle
DettagliModi di esecuzione user / kernel
Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2006/2007 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione
Dettagli1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione
1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione su un sistema con una sola CPU? 2. Qual è la differenza tra un interruzione e una trap? Si faccia qualche esempio. 1.
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 10 Giovedì 7-11-2013 1 Gestione della memoria La memoria principale è
DettagliInformatica 3. LEZIONE 20: Ordinamento esterno. Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno
Informatica 3 LEZIONE 20: Ordinamento esterno Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno Informatica 3 Lezione 20 - Modulo 1 Organizzazione della memoria Introduzione Dati in
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 205-6 Pietro Frasca Lezione 3 Martedì 7--205 Paginazione su richiesta Con la tecnica della paginazione
Dettagli14 Struttura della memoria secondaria Struttura del disco Struttura del disco
14 Struttura della memoria secondaria 1 Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Affidabilità 2 14.1 Struttura del disco 3 14.1 Struttura del disco I dischi
DettagliCompito di Informatica Grafica 4 appello 27/06/2011. Nome e Cognome Numero di Matricola
Nome e Cognome Numero di Matricola Esercizio 1 (12 punti) Si consideri la base di dati del sistema di prenotazioni di una catena di cinema. Ogni cinema (id_cinema) della catena ha a disposizione un certo
DettagliSistemi Operativi Esercizi Ricapitolazione. Docente: Claudio E. Palazzi
Sistemi Operativi Esercizi Ricapitolazione Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Problema Sincronizzazione Semafori Si considerino tre processi (A, B e C) i quali devono eseguire alcune operazioni
DettagliInput/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE
Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente
DettagliPerché il linguaggio C?
Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare
DettagliIntroduzione Definizioni
Informatica 3 Informatica 3 LEZIONE 20: Ordinamento esterno Lezione 20 - Modulo 1 Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno Organizzazione della memoria Politecnico di Milano
DettagliSistemi 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
Dettagliil tipo di parallelismo dipende dal grado di cooperazione
Thread Settembre 2009 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio d informazione) necessario tra attività svolte in parallelo processo macchina virtuale
DettagliArchitettura degli elaboratori Docente:
Politecnico di Milano Il File System Architettura degli elaboratori Docente: Ouejdane Mejri mejri@elet.polimi.it Sommario File Attributi Operazioni Struttura Organizzazione Directory Protezione Il File
DettagliGestione della Memoria
Gestione della Memoria Informatica B Il modello della memoria 2 E un modello lineare La memoria è una sequenza di celle numerate da 0 fino a un valore massimo M Il numero che identifica ogni cella è detto
DettagliEsercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni
Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore
DettagliSIMULAZIONE DELLA PRIMA PROVA INTERMEDIA DEL MODULO DI. CORSO DI LAUREA IN INGEGNERIA ELETTRICA ED ELETTRONICA, INGEGNERIA BIOMEDICA 21 Aprile 2015
SIMULAZIONE DELLA PRIMA PROVA INTERMEDIA DEL MODULO DI CORSO DI LAUREA IN INGEGNERIA ELETTRICA ED ELETTRONICA, INGEGNERIA BIOMEDICA NOME: COGNOME: MATRICOLA: CFU: ESERCIZIO 1 (7 punti) Disegnare il circuito
DettagliI SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.
I SISTEMI OPERATIVI Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. Le funzioni di un S.O. non sono definibili in modo esaustivo e puntuale così come non
Dettagli