AXO Architettura dei Calcolatori e Sistemi Operativi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "AXO Architettura dei Calcolatori e Sistemi Operativi"

Transcript

1 Politecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Luca Breveglieri prof. Giuseppe Pelagatti prof.ssa Donatella Sciuto prof.ssa Cristina Silvano AXO Architettura dei Calcolatori e Sistemi Operativi Prova di mercoledì 23 novembre 202 Cognome Nome Matricola Firma Istruzioni Si scriva solo negli spazi previsti sui fogli distribuiti e per la minuta si utilizzino le pagine bianche in fondo. Non si separino i fogli tranne eventualmente l ultimo per la minuta, che va consegnato anche se staccato intestandolo con nome e cognome. È vietato portare con sé libri, eserciziari e appunti, nonché cellulari e altri dispositivi mobili di calcolo o comunicazione. Chiunque fosse trovato in possesso di documentazione relativa al corso anche se non strettamente attinente alle domande proposte vedrà annullata la propria prova. Non è possibile lasciare l aula conservando il tema della prova in corso. Tempo a disposizione: 2 h : 30 m Valore indicativo di domande ed esercizi, voti parziali e voto finale: esercizio (4 punti) esercizio 2 (4 punti) esercizio 3 (4 punti) esercizio 4 (4 punti) voto finale: (6 punti) AXO prova di venerdì 23 novembre 202 pagina di 4

2 esercizio n. modello thread e parallelismo Si consideri il programma C seguente (gli #include sono omessi): pthread_mutex_t law = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_t order = PTHREAD_MUTEX_INITIALIZER; sem_t mess; int global = 0; void one (void arg) { int local = 0; pthread_mutex_lock (&law); sem_post (&mess); local = ; / statement A / pthread_mutex_unlock (&law); global = ; pthread_mutex_lock (&order); local = 3; / statement B / pthread_mutex_unlock (&order); return (void ) global; } / end one / void two (void arg) { int local = 0; pthread_mutex_lock (&order); global = 2; pthread_mutex_lock (&law); sem_wait (&mess); / statement C / local = (int) arg; pthread_mutex_unlock (&law); pthread_mutex_unlock (&order); return NULL; } / end two / void main ( ) { pthread_t th_, th_2; sem_init (&mess, 0, 0); pthread_create (&th_2, NULL, two, void 2); pthread_create (&th_, NULL, one, NULL); pthread_join (th_, &global); / statement D / pthread_join (th_2, NULL); return; / end main / AXO prova di venerdì 23 novembre 202 pagina 2 di 4

3 Si completi la tabella qui sotto indicando lo stato di esistenza della variabile locale nell istante di tempo specificato da ciascuna condizione, così: se la variabile esiste, si scriva ESISTE; se non esiste, si scriva NON ESISTE; e se può essere esistente o inesistente, si scriva PUÒ ESISTERE. Ogni casella della tabella va riempita in uno dei tre modi (non va lasciata vuota). Si badi bene alla colonna condizione: con subito dopo statement X si chiede lo stato che la variabile o il parametro assume tra lo statement X e lo statement immediatamente successivo del thread indicato. condizione local in th_ variabile locale local in th_2 subito dopo stat. A subito dopo stat. C subito dopo stat. D Si completi la tabella qui sotto, indicando i valori delle variabili globali (sempre esistenti) nell istante di tempo specificato da ciascuna condizione. Il valore della variabile va indicato così: intero, carattere, stringa, quando la variabile ha un valore definito; oppure X quando è indefinita se la variabile può avere due o più valori, li si riporti tutti quanti il semaforo può avere valore positivo o nullo (non valore negativo) Si badi bene alla colonna condizione: con subito dopo statement X si chiede il valore (o i valori) che la variabile ha tra lo statement X e lo statement immediatamente successivo del thread indicato. condizione mess variabili globali global subito dopo stat. A subito dopo stat. B subito dopo stat. C subito dopo stat. D Il sistema può andare in stallo (deadlock). Qui si indichino gli statement dove si bloccano i due thread, precisando il valore (o i valori) della variabile global: th_ th_2 global AXO prova di venerdì 23 novembre 202 pagina 3 di 4

4 esercizio n. 2 nucleo e commutazione tra processi Si considerino i seguenti frammenti di programma: / programma CODICE_X.c / main ( ) {... pid = fork ( ); if (pid == 0) { / codice eseguito solo dal figlio Q / fd = open ( /acso/file, O_RDWR); / 3 blocchi / execl ( /acso/codice_y,...); write (stdout, err_msg, 20); exit (); } else { / codice eseguito solo dal padre P / pid = wait (&status); exit (0); } / end if / } / CODICE_X / / programma CODICE_Y.c / main ( ) {... pid = fork ( ); sleep (2); if (pid == 0) { / codice eseguito solo dal figlio S / exit (2); } else { / codice eseguito solo da R e Q (dopo execl) / write (fd, buffer, 000); / 2 blocchi / exit (); } / end if / } / CODICE_Y / Si considerino i seguenti processi nel sistema: è dato un processo P che esegue il programma CODICE_X; il processo P crea un processo figlio Q che, in un certo istante della sua esecuzione, richiede una mutazione di codice (programma CODICE_Y), la quale va a buon fine un processo R, che non è figlio né di P né di Q, viene creato in un certo momento ed esegue il programma CODICE_Y; il processo R crea un processo figlio S Non ci sono altri processi nel sistema. AXO prova di venerdì 23 novembre 202 pagina 4 di 4

5 Ulteriori specifiche del sistema:. i processi utente hanno associata una priorità, il processo idle ha priorità minima e non sono da considerare altri processi nel sistema 2. le priorità relative a tutti i processi di interesse attivi nel sistema sono indicate quando necessario nella tabella di commutazione dei processi da completare 3. il buffer del driver di standard output ha dimensione di 50 caratteri 4. per tutte le operazioni su file che implicano trasferimento di blocchi: a) la dimensione di un blocco di dati trasferito da o verso file tramite DMA, è di 52 byte b) l interruzione di fine DMA è associata al trasferimento di un singolo blocco del file (eventi DMA_in e DMA_out per lettura e scrittura di un blocco rispettivamente) 5. le operazioni di lettura e scrittura su file accedono sempre a disco, cioè è sempre necessario eseguire trasferimenti in DMA 6. per l apertura del file: a) è sempre necessario trasferire in DMA: un blocco per l accesso allo Inode di ogni cartella o file presente nel nomepercorso (pathname), tranne che per la cartella radice, e un blocco per il contenuto di ogni cartella presente nel nomepercorso (pathname) b) una volta terminata l operazione di apertura, l area di memoria centrale viene resa disponibile e pertanto una successiva apertura del file richiede trasferimento tramite DMA 7. l operazione close di chiusura di un file implica solo l aggiornamento delle tabelle gestite dal S.O. che sono presenti in memoria centrale 8. le chiamate di sistema wait e waitpid invocano la funzione Sleep_on su un evento opportuno 9. per completare la tabella delle commutazioni, si faccia riferimento alla notazione vista a lezione DOMANDA Si completino le parti mancanti della tabella di commutazione dei processi riportata alle due pagine seguenti. AVVERTENZE Nella tabella di commutazione proposta sono previste righe da completare, dove: a) è specificato l evento (con informazioni aggiuntive); in questo caso sono da completare le parti relative allo stato dei processi e se richiesto ai moduli del SO e al contesto b) è specificato lo stato dei processi raggiunto dopo il verificarsi dell evento; in questo caso sono da completare i campi relativi all evento (con eventuali informazioni aggiuntive) e se richiesto ai moduli del SO e al contesto NOTA BENE: l evento in questione è sempre determinabile univocamente dallo stato raggiunto, dall evoluzione precedente dei processi, dal codice dei programmi e dalle ulteriori specifiche di sistema se l evento è un interrupt è obbligatorio usare la notazione n interrupt indicando esattamente il numero di interruzioni che si sono verificate AXO prova di venerdì 23 novembre 202 pagina 5 di 4

6 evento (è preceduto dal processo nel cui contesto l evento si verifica) informazioni aggiuntive moduli del Sistema Operativo eseguiti per gestire l evento processo/i nel cui contesto è eseguito ogni modulo stato dei processi dopo la gestione dell evento P Q R S esec non esiste non esiste non esiste P: pid = fork il quanto di tempo di P è scaduto G_SVC_ fork G_SVC_2 Preempt_ Change G_SVC_2 3 P P P P P Q Q pronto esec non esiste non esiste Q: open open ha inizializzato il DMA in lettura P: pid = wait idle: 2 interrupt da DMA_in attesa (E2) attesa (E) esec non esiste R: pid = fork R: interrupt da DMA_in l ultimo è relativo all ultimo blocco da trasferire per la open di Q S = R < Q TABELLA DI COMMUTAZIONE DEI PROCESSI (continua) AXO prova di venerdì 23 novembre 202 pagina 6 di 4

7 evento (è preceduto dal processo nel cui contesto l evento si verifica) informazioni aggiuntive moduli del Sistema Operativo eseguiti per gestire l evento processo/i nel cui contesto è eseguito ogni modulo stato dei processi dopo la gestione dell evento P Q R S Q: pid = fork in codice mutato la fork fallisce per mancanza di memoria e restituisce un valore < 0 Q: sleep (2) S < R la sleep di R è già stata eseguita attesa (E2) attesa (E3) attesa (E4) esec S: exit ( 2) idle: interrupt da orologio sono passati 2 secondi della sleep di Q attesa (E2) esec attesa (E4) non esiste Q: exit () P: interrupt da orologio il quanto di tempo di P è scaduto P: 2 interrupt da DMA_out l ultimo è relativa all ultimo blocco da trasferire P < R TABELLA DI COMMUTAZIONE DEI PROCESSI (fine) AXO prova di venerdì 23 novembre 202 pagina 7 di 4

8 esercizio n. 3 memoria virtuale Un sistema dotato di memoria virtuale con paginazione e segmentazione tipo UNIX è caratterizzato dai parametri seguenti: la memoria fisica ha capacità 32 K byte, la memoria logica ha capacità di 32 K byte e la dimensione delle pagine è di 4096 byte. (a) Nel sistema vengono attivati i processi P, Q, e R. Essi eseguono i programmi X e Y, come indicato nel seguito. La dimensione iniziale dei segmenti dei due programmi X e Y è la seguente: CX: 4 K DX: 2 K PX:4 K CY: 6 K DY: 4 K PY:4 K Si inserisca in tabella la struttura in pagine della memoria virtuale dei due programmi X e Y; si ricorra alla notazione: CX0,..., DX0,, PX0,, CY0,, DY0,... PY0. indirizzo di pagina virtuale X Y 6 7 (b) A un certo istante t 0 sono terminati, nell ordine, gli eventi seguenti: Creazione del processo P e lancio il programma X ( fork di P ed exec di X) P accede nell ordine alle pagine dati, dati 0 e pila P esegue una sbrk di indirizzo massimo 5020 hex (virtuale assoluto) P richiede una nuova pagina di pila Creazione del processo Q e lancio del programma Y ( fork di Q ed exec di Y) Q salta all istruzione di indirizzo 2B3A hex (virtuale assoluto) poi accede all area dati all indirizzo 422A hex (virtuale assoluto) Q crea 2 pagine di pila Considerando le ipotesi seguenti, si compilino le tabelle della situazione al tempo t 0 relative alla memoria fisica e al contenuto della MMU: il lancio in esecuzione di un programma avviene caricando solo la pagina di codice con l istruzione di partenza, la prima pagina dati e una pagina di pila, in quest ordine il caricamento di ulteriori pagine in memoria avviene on demand (su richiesta) nella sbrk vengono caricate tutte le pagine dati aggiunte fino all indirizzo richiesto; il numero R di pagine residenti è pari a 4 l indirizzo di partenza del programma X è 0AAA hex (virtuale assoluto) l indirizzo di partenza del programma Y è 39A0 hex (virtuale assoluto) si utilizza l algoritmo LRU per la sostituzione di pagine di memoria, considerando che almeno una pagina di pila debba sempre rimanere in memoria (si noti che l allocazione di una nuova pagina di pila consente l eliminazione della vecchia pagina di pila) l allocazione delle pagine virtuali nelle pagine fisiche avviene sempre in sequenza all inizio della sequenza di eventi la MMU è vuota e se è richiesta una nuova riga si utilizza sempre la prima riga libera AXO prova di venerdì 23 novembre 202 pagina 8 di 4

9 situazione al tempo t 0: indirizzo di pagina virtuale P Q indirizzo fisico memoria fisica MMU pagine allocate proc. NPV NPF valid bit AXO prova di mercoledì 23 novembre 202 pagina 9 di 4

10 (c) A un certo istante t > t 0 sono terminati, nell ordine, gli eventi seguenti: Q termina ( exit di Q) P esegue una fork e crea il processo R R esegue un assegnamento all indirizzo 4200 hex (virtuale assoluto) Si completino le tabelle con la situazione al tempo t. situazione al tempo t : indirizzo fisico memoria fisica MMU pagine allocate proc. NPV NPF valid bit AXO prova di mercoledì 23 novembre 202 pagina 0 di 4

11 Esercizio 4: File system (parte prima 2punti) Si consideri un calcolatore dotato di sistema operativo Linux e in cui valgono le seguenti ulteriori specifiche:. per tutte le operazioni su file: a) la dimensione di un blocco trasferito in DMA da o su file è di 52 byte b) l interruzione di fine DMA è associata al trasferimento di un singolo blocco c) il sistema deve garantire che, per tutti i file aperti, il blocco contenente la posizione corrente sia in memoria 2. per la lettura e scrittura su file: d) le operazioni di lettura e scrittura su file accedono sempre a disco, cioè è sempre necessario eseguire trasferimenti in DMA 3. per l apertura del file: e) è sempre necessario trasferire in DMA: blocco per l accesso allo Inode di ogni cartella (catalogo) o file presente nel nomepercorso (pathname) (tranne che per la cartella radice), e DOMANDA blocco per il contenuto di ogni cartella (catalogo) presente nel nomepercorso (pathname) f) Le chiamate di sistema sono DIPENDENTI e rimangono a disposizione in memoria blocchi allocati/letti dalle precedenti chiamate di sistema Per ciascuna delle chiamate di sistema sotto riportate si indichi la posizione corrente nel file dopo la chiamata, il numero totale di interruzioni di fine DMA che si verificano affinché l operazione possa essere completata, la sequenza di accessi agli inode e ai blocchi (del tipo: ILista[X] oppure Blocco Y) in memoria principale (MM) o su disco (vedi anche le prime due righe di esempio di soluzione in tabella) Chiamata di sistema Posizione corrente nel file DOPO la chiamata di sistema n. di interruzioni di fine DMA Sequenza di accessi in memoria (MM) o disco. fd=open( /dir/dir2/file, O_RDONLY) Ilista[0] in MM Blocco 4 fd2=open( /dir/dir3/file2, O_RDONLY) read (fd, buf, 3) read (fd2, buf2, 026) lseek (fd2, 0L, 0) read(fd2, buf3, 5300) Il contenuto del volume durante l esecuzione è il seguente: ILista:<0,dir,4>,<6,dir,9>,<7,dir,8>,<0,dir,2>,<60,norm,56>, <86,norm,70,72,80,8,82,83,84,85,86,97,98,99,00>,<92,norm,90> Blocco 4: < 6, dir> Blocco 9: < 7, dir3 > <0, dir2> Blocco 2: < 60, file> AXO prova di mercoledì 23 novembre 202 pagina di 4

12 Blocco 8: < 92, file3> <86, file2> Blocco 98: <600, 60, 727> Nota bene: lo inode associato al catalogo radice / ha 0 come inumber; la ilista contiene terne <inumber, tipo_file, indice_blocchi>; i cataloghi contengono coppie < inumber, nome_file>. AXO prova di mercoledì 23 novembre 202 pagina 2 di 4

13 Esercizio 4: File system (parte seconda 2punti) Si consideri un calcolatore dotato di sistema operativo Linux e in cui valgono le seguenti ulteriori specifiche: 4. per tutte le operazioni su file: g) la dimensione di un blocco trasferito in DMA da o su file è di 52 byte h) l interruzione di fine DMA è associata al trasferimento di un singolo blocco i) il sistema deve garantire che, per tutti i file aperti, il blocco contenente la posizione corrente sia nel buffer di memoria 5. per la lettura e scrittura su file: j) le operazioni di lettura e scrittura su file accedono sempre a disco, cioè è sempre necessario eseguire trasferimenti in DMA k) Un blocco viene riscritto su disco solo quando è necessario salvarne il contenuto l) E disponibile un solo buffer di memoria di 52 Byte per contenere il blocco dati corrente 6. per l apertura del file: m) è sempre necessario trasferire in DMA: blocco per l accesso allo Inode di ogni cartella (catalogo) o file presente nel nomepercorso (pathname) (tranne che per la cartella radice), e DOMANDA blocco per il contenuto di ogni cartella (catalogo) presente nel nomepercorso (pathname) n) L Inode di un file viene letto al momento dell apertura e mantenuto in memoria fino alla chiusura; Per ciascuna delle chiamate di sistema sotto riportate si indichi la posizione corrente nel file dopo la chiamata, il numero totale di interruzioni di fine DMA che si verificano affinché l operazione possa essere completata, la sequenza di accessi agli inode e ai blocchi (del tipo: ILista[X] oppure Blocco Y) in memoria principale (MM) o su disco (vedi anche le prime due righe di esempio di soluzione in tabella) Chiamata di sistema Posizione corrente nel file DOPO la chiamata di sistema Blocchi di file2 letti Blocchi di file2 scritti n. di interruzioni di fine DMA Sequenza di accessi in memoria (MM) o disco. fd2=open( /dir/dir3/file2, O_RDONLY) 0 Bl. 70 (tot. 7) Ilista[0] in MM Blocco 4 Ilista[6] Blocco 9 ILista[7] Blocco 8 ILista[86] R Bl. 70 nel buf read (fd2, buf, 026) 026 Bl. 72 Bl. 80 (tot. 2) ILista[86] R Bl. 70 da buf R Bl. 72 R Bl. 80 nel buf write(fd2, buf, 026) 2052 Bl. 8 Bl. 82 Bl. 80 Bl. 8 (tot. 4) ILista[86] R Bl. 80 da buf W Bl. 80 R Bl. 8 W Bl. 8 R Bl. 82 nel buf AXO prova di mercoledì 23 novembre 202 pagina 3 di 4

14 lseek (fd2, 200L, ) /*rel. a posiz. corrente */ 852 read(fd2, buf, 026) 2878 write(fd2, buf, 026) 3904 Bl. 8 Bl. 82 (tot. 2) Bl. 82 Bl. 83 Bl. 84 Bl. 85 Bl. 83 Bl. 84 (tot. 2) (tot. 4) close (fd2) Bl. 85 (tot. ) Il contenuto del volume durante l esecuzione è il seguente: ILista[86] R Bl. 82 da buf W Bl. 82 R Bl. 8 nel buf ILista[86] R Bl. 8 da buf R Bl. 82 R Bl. 83 nel buf ILista[86] R Bl. 83 da buf W Bl. 83 R Bl. 84 W Bl. 84 R Bl. 85 nel buf ILista[86] R Bl. 85 da buf W Bl. 85 ILista:<0,dir,4>,<6,dir,9>,<7,dir,8>,<0,dir,2>,<60,norm,56>, <86,norm,70,72,80,8,82,83,84,85,86,97,98,99,00>,<92,norm,90> Blocco 4: < 6, dir> Blocco 9: < 7, dir3 > <0, dir2> Blocco 2: < 60, file> Blocco 8: < 92, file3> <86, file2> Blocco 98: <600, 60, 727> Nota bene: lo inode associato al catalogo radice / ha 0 come inumber; la ilista contiene terne <inumber, tipo_file, indice_blocchi>; i cataloghi contengono coppie < inumber, nome_file>. AXO prova di mercoledì 23 novembre 202 pagina 4 di 4

AXO Architettura dei Calcolatori e Sistemi Operativi

AXO Architettura dei Calcolatori e Sistemi Operativi Politecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Luca Breveglieri prof. Giuseppe Pelagatti prof.ssa Donatella Sciuto prof.ssa Cristina Silvano AXO Architettura

Dettagli

Esercizio n. 4 File system

Esercizio n. 4 File system Esercizio n. 4 File system Un processo P esegue il programma seguente, creando un processo figlio Q, che crea a sua volta un figlio R: int main ( ) { /* processo P */ / dichiarazioni varie / fd = open

Dettagli

AXO Architettura dei Calcolatori e Sistemi Operativi

AXO Architettura dei Calcolatori e Sistemi Operativi Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria prof.ssa Anna Antola prof. Luca Breveglieri prof. Roberto Negrini prof. Giuseppe Pelagatti prof.ssa Donatella Sciuto prof.ssa

Dettagli

Memoria Virtuale. Alessandro A. Nacci ACSO 2014/2014

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

Dettagli

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

Memoria Virtuale. Alessandro A. Nacci ACSO 2014/2014

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

Dettagli

AXO Architettura dei Calcolatori e Sistemi Operativi

AXO Architettura dei Calcolatori e Sistemi Operativi Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria prof.ssa Anna Antola prof. Luca Breveglieri prof. Roberto Negrini prof. Giuseppe Pelagatti prof.ssa Donatella Sciuto prof.ssa

Dettagli

Struttura interna del sistema operativo Linux

Struttura interna del sistema operativo Linux Struttura interna del sistema operativo Linux 5. I device driver A cura di: Anna Antola Giuseppe Pozzi DEI, Politecnico di Milano anna.antola/giuseppe.pozzi@polimi.it -versione del 30 marzo 2004-1-04.-04

Dettagli

5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche

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

Dettagli

ACSO Architettura dei Calcolatori e Sistemi Operativi

ACSO Architettura dei Calcolatori e Sistemi Operativi olitecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Cristina Silvano ACSO Architettura dei Calcolatori e Sistemi Operativi rova di venerdì 26 Febbraio 200 Cognome Nome Matricola Firma

Dettagli

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

Dettagli

Informatica 2 Prova di giovedì 10 maggio 2007

Informatica 2 Prova di giovedì 10 maggio 2007 olitecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Luca Breveglieri Informatica 2 rova di giovedì 10 maggio 2007 prof. Giuseppe elagatti prof.ssa Donatella ciuto

Dettagli

Informatica 2 Esame di venerdì 2 marzo 2007

Informatica 2 Esame di venerdì 2 marzo 2007 olitecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Luca Breveglieri prof. Giuseppe elagatti prof.ssa Donatella Sciuto Informatica 2 Esame di venerdì 2 marzo 2007

Dettagli

Sistemi Operativi Teledidattico

Sistemi Operativi Teledidattico Sistemi Operativi Teledidattico Anno 2002 3a esercitazione 5/10/2002 Paolo Torroni processi fork (creazione di un figlio) exec (sostituzione di codice del programma in esecuzione) wait (attesa della terminazione

Dettagli

CAP9. Device drivers

CAP9. Device drivers Struttura interna del sistema operativo Linux CAP9. Device drivers Device drivers Gestori di periferiche Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi periferici

Dettagli

Programmazione di concorrente - Deadlock

Programmazione di concorrente - Deadlock Programmazione di concorrente - Deadlock Prof. Gerardo Pelosi & Ing. Michele Scandale 30 Ottobre 2014 Il materiale illustrato a lezione e in queste note contiene anche esempi di Fabrizio Castro, Luca Fossati,

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

Esercitazione 4. Gestione dei file in Unix

Esercitazione 4. Gestione dei file in Unix Esercitazione 4 Gestione dei file in Unix Primitive fondamentali (1/2) open close Apre il file specificato e restituisce il suo file descriptor (fd) Crea una nuova entry nella tabella dei file aperti di

Dettagli

Informatica 2 Esame di giovedì 13 settembre 2007

Informatica 2 Esame di giovedì 13 settembre 2007 olitecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Luca Breveglieri prof. Giuseppe elagatti prof.ssa Donatella Sciuto Informatica 2 Esame di giovedì 13 settembre

Dettagli

System call per la gestione di processi

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

Dettagli

System call per la gestione di processi

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

Dettagli

il tipo di parallelismo dipende dal grado di cooperazione

il 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

Dettagli

Thread: sincronizzazione Esercitazioni del 16 Ottobre 2009

Thread: sincronizzazione Esercitazioni del 16 Ottobre 2009 Thread: sincronizzazione Esercitazioni del 16 Ottobre 2009 Luca Fossati, Fabrizio Castro, Vittorio Zaccaria 19 ottobre 2009 Sequenze di esecuzione - 2 Sequenze di esecuzione - 2 Esercizio 1 Sequenze di

Dettagli

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

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

Dettagli

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

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

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 8 Febbraio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 8 Febbraio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 8 Febbraio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Il presente plico contiene 4 esercizi, deve essere debitamente compilato

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 6 Martedì 24-10-2017 1 Sostituzione del codice Tipicamente, dopo una

Dettagli

Architettura dei calcolatori e sistemi operativi. M2 Organizzazione della memoria virtuale Struttura dello spazio virtuale kernel e utente

Architettura dei calcolatori e sistemi operativi. M2 Organizzazione della memoria virtuale Struttura dello spazio virtuale kernel e utente Architettura dei calcolatori e sistemi operativi M2 Organizzazione della memoria virtuale Struttura dello spazio virtuale kernel e utente 18.01.2015 Architettura Intel x64 Lo spazio di indirizzamento virtuale

Dettagli

ACSO Programmazione di Sistema e Concorrente

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

Dettagli

Programmazione concorrente

Programmazione concorrente Programmazione concorrente Prof. Gerardo Pelosi & Ing. Michele Scandale 16 Ottobre 2014 Il materiale illustrato a lezione e in queste note contiene anche esempi di Fabrizio Castro, Luca Fossati, Vittorio

Dettagli

AXO Architettura dei Calcolatori e Sistemi Operativi

AXO Architettura dei Calcolatori e Sistemi Operativi Politecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Luca Breveglieri prof. Giuseppe Pelagatti prof.ssa prof. prof.ssa Donatella Sciuto Roberto Negrini Cristina Silvano

Dettagli

Sistemi Operativi (M. Cesati)

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

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2018-2019 Pietro Frasca Lezione 5 Martedì 16-10-2018 Operazioni sui processi Nella maggior parte dei

Dettagli

ESERCIZIO 1 Si consideri la seguente funzione f (A, B, C, D) non completamente specificata definita attraverso il suo ON-SET e DC-SET:

ESERCIZIO 1 Si consideri la seguente funzione f (A, B, C, D) non completamente specificata definita attraverso il suo ON-SET e DC-SET: Università degli Studi di Milano Corso Architettura degli elaboratori e delle reti Prof. Cristina Silvano A.A. 2004/2005 Esame scritto del 15 luglio 2005 Cognome: Matricola: Nome: Istruzioni Scrivere solo

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Politecnico di Milano COGNOME E NOME Facoltà di Ingegneria Industriale FONDAMENTI DI INFORMATICA Seconda prova in itinere 13 Febbraio 2017 Primo Appello (Laureandi) 13 Febbraio 2017 RIGA COLONNA MATRICOLA

Dettagli

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

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

Dettagli

Sistemi Operativi (M. Cesati)

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

Dettagli

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 9 Giovedì 2-11-2017 Comunicazione con pipe Oltre che con la memoria condivisa

Dettagli

Politecnico di Milano - Facoltà di Ingegneria INFORMATICA A - Corso per allievi GESTIONALI - Prof. C. SILVANO A. A. 2003/ novembre 2003

Politecnico di Milano - Facoltà di Ingegneria INFORMATICA A - Corso per allievi GESTIONALI - Prof. C. SILVANO A. A. 2003/ novembre 2003 Politecnico di Milano - Facoltà di Ingegneria INFORMATICA A - Corso per allievi GESTIONALI - Prof. C. SILVANO A. A. 2003/2004-19 novembre 2003 COGNOME: NOME: MATRICOLA: Istruzioni: Scrivere solo sui fogli

Dettagli

ACSO Architettura dei Calcolatori e Sistemi Operativi

ACSO Architettura dei Calcolatori e Sistemi Operativi Politecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Luca Breveglieri prof. Giuseppe Pelagatti prof.ssa Donatella Sciuto prof.ssa Cristina Silvano ACSO Architettura

Dettagli

COGNOME: NOME: MATRICOLA:

COGNOME: NOME: MATRICOLA: Politecnico di Milano - Facoltà di Ingegneria INFORMATICA A - Corso per allievi GESTIONALI - Prof. C. SILVANO A. A. 2001/2002-18 febbraio 2004 - RECUPERO 1 PARTE COGNOME: NOME: MATRICOLA: Istruzioni: Scrivere

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

Sistemi Operativi (M. Cesati)

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

Dettagli

Informatica 2 Esame di lunedì 11 Luglio 2005

Informatica 2 Esame di lunedì 11 Luglio 2005 Politecnico di Milano Dipartimento di Elettronica e Informazione prof. Cesare Alippi prof.ssa Anna Antola prof. Luciano Baresi prof. Luca Breveglieri prof. Luigi Lavazza prof. Giuseppe Pelagatti prof.ssa

Dettagli

Richiami sui Concetti Fondamentali dei Processi

Richiami sui Concetti Fondamentali dei Processi Processi Processi 1 Richiami sui Concetti Fondamentali dei Processi Processi 2 Definizione Nell ambito dei sistemi operativi esistono diverse definizioni di processo, ad es. un programma in esecuzione

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

Informatica 2 Prova di giovedì 24 febbraio 2005

Informatica 2 Prova di giovedì 24 febbraio 2005 olitecnico di Milano Dipartimento di Elettronica e Informazione prof. Cesare Alippi prof.ssa Anna Antola prof. Luciano Baresi prof. Luca Breveglieri prof. Luigi Lavazza prof. Giuseppe elagatti prof.ssa

Dettagli

Diplomi Universitari Teledidattici. Sistemi Operativi

Diplomi Universitari Teledidattici. Sistemi Operativi Compito di esonero del 3 luglio 1996 1. Si illustri brevemente il concetto di short term scheduling e si discutano i principali algoritmi usati per l assegnazione della CPU. Si prenda inoltre in considerazione

Dettagli

Processore Danilo Dessì. Architettura degli Elaboratori.

Processore Danilo Dessì. Architettura degli Elaboratori. Processore 8088 Architettura degli Elaboratori Danilo Dessì danilo_dessi@unica.it Subroutine Anche nel linguaggio assemblativo è possibile suddividere un programma in subroutine Per invocare una subroutine

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

Thread: sincronizzazione Esercitazioni del 09 Ottobre 2009

Thread: sincronizzazione Esercitazioni del 09 Ottobre 2009 Thread: sincronizzazione Esercitazioni del 09 Ottobre 2009 Luca Fossati, Fabrizio Castro, Vittorio Zaccaria October 10, 2009 Sincronizzazione - 1 1 Esercizio 1: Sincronizzazione - 1 Qual è il problema

Dettagli

GESTIONE DELLA COMUNICAZIONE LOCALE TRA PROCESSI IN UNIX:

GESTIONE DELLA COMUNICAZIONE LOCALE TRA PROCESSI IN UNIX: GESTIONE DELLA COMUNICAZIONE LOCALE TRA PROCESSI IN UNIX: Il primo meccanismo di comunicazione tra processi locali in ambiente Unix e stato il meccanismo delle pipe. Per processo locale si intende un processo

Dettagli

SISTEMI OPERATIVI. Processi in Linux. Giorgio Giacinto Sistemi Operativi

SISTEMI OPERATIVI. Processi in Linux. Giorgio Giacinto Sistemi Operativi SISTEMI OPERATIVI Processi in Linux 2 Creazione di processi concorrenti» La creazione di un processo figlio consente di far eseguire alcune funzionalità del programma in modo concorrente» Opzione 1 il

Dettagli

Linguaggio C: i file

Linguaggio C: i file Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica A - GES Prof. Plebani A.A. 2006/2007 Linguaggio C: i file La presente dispensa e da utilizzarsi ai soli fini didattici previa

Dettagli

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola. Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione INFORMATICA B Appello 27 giugno 2016 COGNOME E NOME MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3 esercizi

Dettagli

Architettura dei calcolatori e sistemi operativi. Input Output. IO 2 Il File System

Architettura dei calcolatori e sistemi operativi. Input Output. IO 2 Il File System Architettura dei calcolatori e sistemi operativi Input Output IO 2 Il File System File System E quel componente del Sistema Operativo che realizza i servizi di gestione dei file file: unità di archiviazione

Dettagli

Architetture dei Calcolatori e Sistemi Operativi

Architetture dei Calcolatori e Sistemi Operativi Prof. Gerardo Pelosi & Ing. Michele Scandale 23 Ottobre 2014 Gerardo Pelosi 1 Esercizio 1 Quattro amici fanno una scommessa: il vincitore sceglie casualmente a chi tocca bere

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 Processi in Unix/Linux caratteristiche

Dettagli

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

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

Dettagli

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 10 Martedì 7-11-2017 Thread a livello kernel Modello da uno a uno La

Dettagli

Memoria virtuale. Daniele Loiacono, Vittorio Zaccaria

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

Dettagli

eseguire comandi dati dall'utente, utilizzando una macchina reale, di livello inferiore,

eseguire comandi dati dall'utente, utilizzando una macchina reale, di livello inferiore, La programmazione di sistema Introduzione ai sistemi operativi multiprocesso Primitive per la gestione dei processi http://home.dei.polimi.it/silvano/acso.htm Il sistema ste operativo Il Sistema Operativo

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. 2014-15 Pietro Frasca Lezione 20 Martedì 16-12-2014 1 System call per la gestione dei processi Creazione

Dettagli

Il presente plico contiene 4 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

Il presente plico contiene 4 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola. Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione INFORMATICA B Appello 15 Settembre 2017 COGNOME E NOME MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi

Dettagli

Strutture dei sistemi di calcolo

Strutture dei sistemi di calcolo Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di protezione Architettura di un sistema di calcolo

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

Informatica 2 Esame di lunedì 17 luglio 2006

Informatica 2 Esame di lunedì 17 luglio 2006 olitecnico di Milano Dipartimento di Elettronica e Informazione prof. Cesare Alippi prof.ssa Anna Antola prof. Luca Breveglieri prof. ierluca Lanzi prof. Giuseppe elagatti prof.ssa Donatella Sciuto Informatica

Dettagli

Sistemi Operativi (M. Cesati)

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

Dettagli

System call per l accesso a file

System call per l accesso a file System call per l accesso a file Nome open creat close read write lseek unlink remove fcntl Significato apre un file in lettura e/o scrittura o crea un nuovo file crea un file nuovo chiude un file precedentemente

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

Operazioni su file di caratteri

Operazioni su file di caratteri Operazioni su file di caratteri Apertura fopen Chiusura fclose Scrittura fprintf Lettura fscanf Controllo fine file feof Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Apertura di un file: Si

Dettagli

Reti Logiche A Prova di mercoledì 12 novembre 2003

Reti Logiche A Prova di mercoledì 12 novembre 2003 Politecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Fabrizio Ferrandi Reti Logiche A Prova di mercoledì 12 novembre 2003 Matricola Cognome Nome Istruzioni Scrivere

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

Addendum alle chiamate di sistema per la gestione processi. E Mumolo

Addendum alle chiamate di sistema per la gestione processi. E Mumolo Addendum alle chiamate di sistema per la gestione processi E Mumolo Definiamo un processo proc.c che scrive l'argomento passato in linea: void main(int argc, char *argv[]){ printf("sono il processo %s\n",

Dettagli

Introduzione al Multithreading

Introduzione al Multithreading Introduzione al Multithreading Claudia Calidonna Istituto di di Cibernetica C.N.R. Argomenti principali Parleremo di : Processi & Threads Operazioni sui threads ed eventuali confronti tra operazioni sui

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

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 20 Giovedì 22-12-2016 Comunicazione: pipe In Unix, processi possono comunicare

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

Corso di Reti di Calcolatori T

Corso di Reti di Calcolatori T Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 0 (proposta) Lettura e Scrittura File in Java e C Luca Foschini Michele Solimando, Giuseppe Martuscelli

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

Reti Logiche A Appello del 9 luglio 2009

Reti Logiche A Appello del 9 luglio 2009 Politecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Fabrizio Ferrandi prof.ssa Cristiana Bolchini Reti Logiche A Appello del 9 luglio 2009 Matricola Cognome Nome

Dettagli

Processi Concetti di base. Esecuzione parallela e sequenziale Il concetto di processo Gestione dei processi

Processi Concetti di base. Esecuzione parallela e sequenziale Il concetto di processo Gestione dei processi Processi Concetti di base Esecuzione parallela e sequenziale Il concetto di processo Gestione dei processi Esecuzione sequenziale I sistemi di calcolo più semplici consentono unicamente l'esecuzione sequenziale

Dettagli

Sistemi Operativi (M. Cesati)

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

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

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione.

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione. Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 23 Gennaio 2012 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4

Dettagli

Capitolo 2: Strutture dei sistemi di calcolo

Capitolo 2: Strutture dei sistemi di calcolo Capitolo 2: Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di protezione Struttura delle reti di calcolatori

Dettagli

System Calls per la Gestione dei Processi

System Calls per la Gestione dei Processi System Calls per la Gestione dei Processi Domenico Cotroneo Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II Roadmap Process Context Identificativi getpid() getppid()

Dettagli

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione.

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione. Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 13 Novembre 2012 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene

Dettagli

Esercizio 1 (punti 5) E noto che un Full adder è un circuito logico che realizza le funzioni Riporto e Risultato seondo la definizione seguente

Esercizio 1 (punti 5) E noto che un Full adder è un circuito logico che realizza le funzioni Riporto e Risultato seondo la definizione seguente Informatica 1, Sez. di Cremona Appello del 12 Febbraio 2009 NB. Gli allievi Informatici e Gestionali, ad eccezione di coloro che hanno ottenuto il riconoscimento di 5 crediti per esami sostenuti in altri

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

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

Università degli Studi di Padova - Facoltà di Scienze MM.FF.NN. - Corso di Laurea in Informatica Università degli Studi di Padova - Facoltà di Scienze MM.FF.NN. - Corso di Laurea in Informatica Regole dell'esame Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo

Dettagli

Directory. Le directory unix sono file.

Directory. Le directory unix sono file. Le directory unix sono file. Directory Molte system call per i file ordinari possono essere utilizzate per le directory. E.g. open, read, fstat, close. Tuttavia le directory non possono essere create con

Dettagli

Sistemi Operativi (M. Cesati)

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

Dettagli

LinuxThreads: I thread nel sistema operativo LINUX: Linuxthreads. LinuxThreads. LinuxThreads

LinuxThreads: I thread nel sistema operativo LINUX: Linuxthreads. LinuxThreads. LinuxThreads I thread nel sistema operativo LINUX: Linuxthreads : Caratteristiche Processi leggeri realizzati a livello kernel System call clone: int clone(int (*fn) (void *arg), void *child_stack, int flags, void

Dettagli

2. Tipi di periferiche e classificazione dei gestori

2. Tipi di periferiche e classificazione dei gestori 9. I GESTORI DI PERIFERICHE 1. Introduzione I gestori di periferiche (device drivers) sono dei componenti il cui funzionamento, a differenza di quello del file system, è fortemente intrecciato con quello

Dettagli

AXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema

AXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema AXO Architetture dei Calcolatori e Sistema Operativo programmazione di sistema Il sistema operativo Il Sistema Operativo è un insieme di programmi (moduli software) che svolgono funzioni di servizio nel

Dettagli

Sistemi operativi Modulo II I semafori 2 Select

Sistemi operativi Modulo II I semafori 2 Select Il sistema operativo LINUX Semafori 2 Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica La system call read è bloccante Non

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 9- -Thread-

Lab. di Sistemi Operativi - Esercitazione n 9- -Thread- Lab. di Sistemi Operativi - Esercitazione n 9- -Thread- 1 Sommario Esercizi su: Comunicazione tra processi: la funzione pipe() Condivisione dati e codice tra due o più processi: concetto di Thread 2 -

Dettagli