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 venerdì 9 novembre 200 Cognome Nome Matricola Firma Istruzioni Si scriva solo sui fogli distribuiti. Non si separino questi fogli. Per i calcoli si utilizzino le pagine bianche in fondo allo scritto. È vietato portare all esame libri, eserciziari, appunti, calcolatrici e telefoni cellulari. 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) I NUMERI INDICANO I PUNTEGGI APPROSSIMATIVI. CON SOLUZIONI (in corsivo)

2 Esercizio n. modello thread e parallelismo Si consideri il programma C seguente (gli #include sono omessi): int well = 0; pthread_mutex_t cover = PTHREAD_MUTEX_INITIALIZER; sem_t sem; void toss (void arg) { int coin = (int) arg; pthread_mutex_lock (&cover); well = well + coin; / statement A / pthread_mutex_unlock (&cover); coin = 0; sem_post (&sem); return NULL; } / end toss / void fish (void arg) { int coin = (int) arg; sem_wait (&sem); pthread_mutex_lock (&cover); well = well - coin; pthread_mutex_unlock (&cover); coin = 2 coin; / statement B / return NULL; } / end fish / void main (...) { pthread_t visitor [2], fisher; sem_init (&sem, 0, 0); pthread_create (&visitor [0], NULL, &toss, (void ) 5); pthread_create (&visitor [], NULL, &toss, (void ) 5); sem_wait (&sem); pthread_create (&fisher, NULL, &fish, (void ) ); pthread_join (visitor [0], NULL); pthread_join (visitor [], NULL); / statement C / pthread_join (fisher); return; } / end main / AXO prova di venerdì 9 novembre 200 CON SOLUZIONI pagina 2 di 4

3 Si completi la tabella sotto riportata, indicando gli stati delle variabili GLOBALI (ovviamente tutte esistenti) negli istanti di tempo specificati. Lo stato di una variabile può essere indicato come: intero, carattere, stringa, quando la variabile ha valore definito X, quando la variabile non è stata ancora inizializzata se la variabile si può trovare in due o più stati, li si riporti tutti quanti Si presti attenzione alla colonna condizione. In particolare, con subito dopo statement X si intende richiedere i valori che le variabili possono assumere tra lo statement X e lo statement immediatamente successivo del thread indicato nella condizione stessa. condizione well variabili globali sem subito dopo stat. A in visitor [0] 5 / 0 0 / subito dopo stat. B in fisher 9 0 subito dopo stat. C in main 0 / 9 / 0 Si completi la tabella sotto predisposta indicando - per ciascuno degli istanti di tempo specificati - se le variabili riportate esistono con certezza. Nei casi in cui la variabile considerata non esiste oppure può non esistere, si lasci in bianco la casella corrispondente. Si presti attenzione alla colonna condizione. In particolare, con subito dopo statement X si intende richiedere i valori che le variabili possono assumere tra lo statement X e lo statement immediatamente successivo del thread indicato nella condizione stessa. condizione variabili locali dei thread coin in visitor [0] coin in fisher subito dopo stat. A in visitor [0] esiste con certezza (può non esistere) subito dopo stat. B in fisher (può non esistere) esiste con certezza subito dopo stat. C in main (non esiste) (può non esistere) AXO prova di venerdì 9 novembre 200 CON SOLUZIONI pagina 3 di 4

4 Esercizio n. 2 nucleo e commutazione tra processi prima parte stati dei processi Si considerino i seguenti frammenti di programma: / programma CODICE_UNO.c / main ( ) {... fd = open ( /info2/file, O_RDWR); / 3 blocchi / pid = fork ( ); if (pid == 0) { / codice eseguito da Q figlio di P /... pid2 = fork ( ); if (pid2 == 0) { / codice eseguito da R figlio di Q / execl ( /acso/cod_mutato, cod_mutato, NULL); write (stdout, err_msg, 50); exit (2); } else { / codice eseguito da Q / write (fd, buffer, 000); / 2 blocchi / close (fd); exit (); } / end if / } else { / codice eseguito da P / pid = wait (&status); close (fd); exit (0); } / end if / } / CODICE_UNO / / programma CODICE_DUE.c / main ( ) {... write (stdout, c, 20); exit (3); } / CODICE_DUE / Dati due processi P e S: il processo P esegue il programma CODICE_UNO e crea il figlio Q; il processo Q crea il figlio R che esegue una mutazione di codice; il codice mutato qui non è riportato il processo S esegue il programma CODICE_DUE Non ci sono altri processi utente nel sistema. AXO prova di venerdì 9 novembre 200 CON SOLUZIONI pagina 4 di 4

5 Ulteriori specifiche del sistema:. i processi utente hanno associata una priorità, il processo idle ha priorità minima e non esistono altri processi nel sistema 2. le priorità relative a tutti i proccesi attivi nel sistema sono indicate, quando necessario, nella tabella di commutazione dei processi da completare 3. si ricorda che quando un processo diventa pronto e ha priorità maggiore di quello in esecuzione, lo scheduler va attivato 4. il buffer del driver di standard output ha dimensione di 50 caratteri 5. per tutte le operazioni sui file che implicano trasferimento di blocchi: a) la dimensione di un blocco dati di dati trasferito in DMA da o su file è di 52 byte b) l interruzione di fine DMA è associata al trasferimento di un singolo blocco del file (evento DMA_in per lettura di un blocco ed evento DMA_out per scrittura di un blocco su file) 6. per la lettura e scrittura su file: - le operazioni di lettura e scrittura su file accedono sempre a disco, cioè è sempre necessario eseguire trasferimenti in DMA 7. per l apertura del file: a) è sempre necessario trasferire in DMA: - blocco per l accesso allo I-node di ogni cartella o file presente nel nome-percorso (pathname) (tranne che per la cartella radice), e - blocco per il contenuto di ogni cartella presente nel nome-percorso (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 il trasferimento tramite DMA 8. l operazione di chiusura di un file (close) implica solo l aggiornamento delle tabelle gestite dal S.O. presenti in memoria centrale 9. le chiamate di sistema wait e waitpid invocano Sleep_on su un evento opportuno 0. 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 in cui: a) è specificato l evento (con informazioni aggiuntive); in questo caso sono da completare le parti relative a: moduli del S.O., contesto e stato dei processi b) è specificato lo stato dei processi raggiunto dopo il verificarsi dell evento; in questo caso sono da completare i campi relativi a: evento (con eventuali informazioni aggiuntive), moduli del S.O. e 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ì 9 novembre 200 CON SOLUZIONI pagina 5 di 4

6 evento (è preceduto dal processo nel cui contesto l evento si verifica) informazioni aggiuntive stato dei processi dopo la gestione dell evento P Q R S esec non esiste non esiste pronto P: open open ha inizializzato il DMA in lettura attesa (E) non esiste non esiste esec S: 2 interrupt da DMA_in attesa (E) non esiste non esiste esec S: interrupt da orologio il quanto di tempo di S è scaduto S < P attesa (E) non esiste non esiste esec S: interrupt da DMA_in è relativo all ultimo blocco da trasferire S < P esec non esiste non esiste pronto P: pd = fork il quanto di tempo di P è scaduto S < P = Q pronto esec non esiste pronto Q: pid2 = fork S < P < Q = R pronto esec pronto pronto TABELLA DI COMMUTAZIONE DEI PROCESSI (continua) AXO prova di venerdì 9 novembre 200 CON SOLUZIONI pagina 6 di 4

7 evento (è preceduto dal processo nel cui contesto l evento si verifica) informazioni aggiuntive stato dei processi dopo la gestione dell evento P Q R S Q: interrupt da orologio il quanto di tempo di Q è terminato Q < S < P < R pronto pronto esec pronto R: write write ha trasferiti 50 caratteri nel buffer del driver Q < S < P esec pronto attesa (E2) pronto v. AVVERTENZE P: wait S < Q attesa (E3) esec attesa (E2) pronto Q: exit P < S pronto non esiste attesa (E2) esec v. AVVERTENZE S: 50 interrupt da stampante S < P < R pronto non esiste esec pronto TABELLA DI COMMUTAZIONE DEI PROCESSI (fine) In rosso sono colorate le parti di tabella assegnate. AXO prova di venerdì 9 novembre 200 CON SOLUZIONI pagina 7 di 4

8 seconda parte funzioni del nucleo Si consideri la tabella di commutazione della prima parte: per i due eventi sotto riportati si risponda alle domande in modo coerente con lo svolgimento già effettuato della prima parte. Nelle domande in cui è chiesto di completare lo stato della pila, per indicare gli indirizzi di ritorno memorizzati nella stessa, si usi la notazione indirizzo di ritorno a XXXX dove, al posto di XXXX, va specificato codice utente oppure il nome del modulo di S.O. a cui si ritorna Evento P: open si indichino i moduli del Sistema Operativo eseguiti nel contesto di P (anche parzialmente) per gestire l evento G_SVC_ open Sleep_on_ (E) Change si completi la figura sotto riportata indicando uno stato possibile della pila di sistema di P così come risulta dopo la gestione dell evento considerato indirizzi minori indirizzo ritorno a Sleep_on indirizzo ritorno a open indirizzo ritorno a G_SVC PSR: modo U indirizzi maggiori indirizzo ritorno a codice utente pila di sistema di P AXO prova di venerdì 9 novembre 200 CON SOLUZIONI pagina 8 di 4

9 Evento S: interrupt da DMA_in (è relativo all ultimo blocco da trasferire) si indichino i moduli del Sistema Operativo eseguiti per gestire l evento e il processo (o i processi) nel cui contesto è eseguito ogni modulo moduli di S.O. eseguiti per gestire l evento processo (i) nel cui contesto è eseguito ogni modulo R_int (DMA_in) Wake_up Preempt_ Change Sleep_on_2 (E) open G_SVC 2/3 S S S S - P P P P si completi la figura sotto riportata indicando uno stato possibile della pila di sistema di S così come risulta dopo la gestione dell evento considerato indirizzi minori indirizzo ritorno a Preempt indirizzo ritorno a R_int PSR: modo U indirizzi maggiori indirizzo ritorno a codice utente pila di sistema di S AXO prova di venerdì 9 novembre 200 CON SOLUZIONI pagina 9 di 4

10 Esercizio n. 3 memoria virtuale Un sistema dotato di memoria virtuale con paginazione e segmentazione tipo UNIX è caratterizzato dai 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 64 K byte e la dimensione delle pagine è di 4096 byte. (a) Indicare il numero di pagine fisiche e il numero di pagine logiche del sistema. n. pagine fisiche: 8 n. pagine logiche: 6 (b) Nel sistema saranno attivati i processi P e Q che eseguono i programmi X e Y, che condividono un segmento dati. La dimensione iniziale dei segmenti dei due programmi è la seguente: CX: 8 K DX: 4 K PX: 4 K COND: 4 K CY: 2 K DY: 4 K PY: 4 K COND: 4 K Il segmento COND è allocato lasciando 2 pagine libere dopo il segmento dati di X e Y. Inserire in tabella la struttura in pagine della memoria virtuale dei due programmi X e Y (notazione: CX0, CX, DX0, PX0, CY0,, COND0,...). indirizzo di pagina virtuale X Y 0 CX0 CY0 CX CY 2 DX0 CY2 3 DY0 4 5 COND0 6 COND A B C D E F PX0 PY0 (c) A un certo istante t 0 sono terminati, nell ordine, gli eventi seguenti: P viene creato ( fork di P ed exec di X) P esegue una fork e crea il processo figlio Q Q accede alla pagina condivisa COND Q chiama una funzione che si trova nella pagina di codice corrente, la quale funzione esegue un accesso in scrittura a una struttura dati il cui indirizzo virtuale assoluto è 2000 hex P accede alla pagina dati Considerando le ipotesi seguenti, compilare 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 il numero di pagine residenti R è pari a 3 l indirizzo esadecimale di partenza di X è AA hex (indirizzo virtuale assoluto) l indirizzo esadecimale di partenza di Y è 2222 hex (indirizzo 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 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 utilizzi sempre la prima riga libera AXO prova di venerdì 9 novembre 200 CON SOLUZIONI pagina 0 di 4

11 situazione al tempo t 0 memoria fisica MMU indirizzo fisico pagine allocate proc. NPV NPF valid bit 0 CP= CQ P CP / 0 DP0 = (DQ0) P DP0 /2 2 PP0 P PP0/F 2 3 PQ0 Q CQ / 0 4 (COND) DQ0 Q (DQ0/2)(COND / 5)DQ0/ 2 ()(4) 4 / 0 / /0/ 5 Q PQ0 /F (d) A un certo istante t > t 0 è terminata la seguente sequenza di eventi: Q esegue una exec e passa a eseguire il programma Y P esegue un accesso a COND Q richiede una nuova pagina di pila Q esegue un accesso a COND Completare le tabelle con la situazione al tempo t. situazione al tempo t memoria fisica MMU indirizzo fisico pagine allocate proc NPV NPF valid bit 0 CP = (CQ) P CP / 0 (DP0) COND P (DP0/2) COND/5 () /0/ 2 PP0 P PP0/F 2 3 (PQ0) CQ2 Q (CQ/) CQ2/2 (0) 3 / 0 / 4 (DQ0) (DQ0) PQ Q (DQ0/2) (DQ0/3) PQ/E (4)(4) 4 /0//0/ 5 (PQ0) Q (PQ0/F) (PQ0/F) COND/6 (3) (5) /0//0/ 6 7 AXO prova di venerdì 9 novembre 200 CON SOLUZIONI pagina di 4

12 Esercizio n. 4 file system Si consideri un calcolatore dotato di sistema operativo Linux e in cui valgono le seguenti 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 d) Le chiamate di sistema sono DIPENDENTI e rimangono a disposizione in memoria blocchi allocati/letti dalle precedenti chiamare di sistema 2. per l'apertura dei file: e) è sempre necessario accedere a: blocco per l'accesso allo I-node di ogni cartella (catalogo) o file presente nel nome-percorso (pathname), e blocco per il contenuto di ogni cartella (catalogo) presente nel nome-percorso (pathname), I blocchi possono trovarsi in memoria (se già acceduti) o necessitare di trasferimento DMA da disco Su tale calcolatore viene eseguito il seguente programma, che parte come processo P, genera il processo Q che a sua volta genera il processo R (i commenti identificano le chiamate di sistema nel seguente modo: /*Sn*/, con <=n<=7 ): int main(){/* Processo P */... fd = open( /acso/esame/esercizio, O_RDWR ); lseek( fd, 020, 0 ); read( fd, buf, 0 ); write( fd, buf2, 600 ); pid = fork(); if( pid == 0 ){/* Processo Q */ fd2 = open( /acso/esame/esercizio2, O_RDONLY ); read( fd2, buf2, 24 ); lseek( fd2, 000, ); pid2 = fork(); if( pid2 == 0 ){/* Processo R */ fd3 = open( /acso/esame/esercizio3, O_RDWR); write( fd3, buf3, 727 ); read( fd3, buf3, 322 ); close( fd2 ); exit( 0 ); } else{/* Processo Q */ exit( 0 ); } } else{/* Processo P */ close( fd ); } exit( 0 ); } /*S*/ /*S2*/ /*S3*/ /*S4*/ /*S5*/ /*S6*/ /*S7*/ /*S8*/ /*S9*/ /*S0*/ /*S*/ /*S2*/ /*S3*/ /*S4*/ /*S5*/ /*S6*/ /*S7*/ AXO prova di venerdì 9 novembre 200 CON SOLUZIONI pagina 2 di 4

13 Al momento dell'esecuzione, il contenuto del volume è il seguente: I-Lista: <0,dir,4><6,dir,20><7,dir,3><98,norm,{800,80,802, 803, }> <0,norm,{78,79,...}><232,norm,{2733,2734,..}> Blocco 4:...<6,acso>... Blocco 20:...<7,esame>... Blocco 3:...<98,esercizio><0,esercizio2><232,esercizio3>... Nota: lo i-node di root è sempre in memoria e il contenuto dei blocchi dei file normali viene omesso perché non significativo ai fini dell'esercizio. a) Per ciascuna della chiamate di sistema del processo P sotto riportate, si indichi il numero totale di interruzioni di fine DMA che si verificano affinché l'operazione possa essere completata, la sequenza di accessi agli i-node e ai blocchi (del tipo: I-Lista[X] oppure Blocco Y) in memoria principale (MM) o su disco. Chiamata di sistema N. di interruzioni di fine DMA fd = open( /acso/esame/esercizio, O_RDWR ) - (Totale 7) lseek( fd, 020, 0 ) - (Totale ) Sequenza di accessi in memoria (MM) o disco I-Lista[0] in MM Blocco 4 I-Lista[6] Blocco 20 I-Lista[7] Blocco 3 I-Lista[98] Blocco 800 I-Lista[98] in MM Blocco 80 read( fd, buf, 0 ) - - (Totale ) write( fd, buf2, 600 ) - - (Totale ) I-Lista[98] in MM Blocco 80 in MM Blocco 802 I-Lista[98] in MM Blocco 802 in MM Blocco 803 b) Durante l'esecuzione è stata osservata la seguente sequenza di chiamate di sistema: S, S2, S3, S4, S5, S6, S7, S8, S9, S6, S5, S0, S, S2, S3, S4, S7. Si completi il contenuto delle tabelle seguenti, indicando la sequenza dei valori assunti fino alla conclusione di S7 (si scriva L oppure NE per indicare che una cella si è liberata oppure non esiste più): Tabella file aperti Processo P File des. Rif. riga Tabella file aperti Processo Q File des. Rif. riga Tabella file aperti Processo R File des. Tabella globale dei file aperti Rif. riga Riga Posizione corrente N. di proc. Punt. 0 X 0 X 0 X 0 X X X X X X X X X 2 X 2 X 2 X 2 X X X 3 3,L,NE 3 3,NE 3 3,NE 3 0,020,030,630,L,2,3,2,,L 98,L 4 4 4,NE 4 4,L, NE 4 0,24,024,L,2,,L 0,L ,NE 5 0,727,049,L,L 232,L AXO prova di venerdì 9 novembre 200 CON SOLUZIONI pagina 3 di 4

14 spazio libero per minuta AXO prova di venerdì 9 novembre 200 CON SOLUZIONI 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

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

AXO Architettura dei Calcolatori e Sistemi Operativi

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

Dettagli

(9) pid1 = waitpid (pid1, &status, 0); (10) exit (0); } / end if / } / main.c / File system_

(9) pid1 = waitpid (pid1, &status, 0); (10) exit (0); } / end if / } / main.c / File system_ File system_ 2.3.22 Si considerino i seguenti frammenti di programma: / programma main.c / main ( ) { int pid, pid2; int fd, fd2; char v = abcdefghil ; char c []; () pid = fork ( ); (2) fd = open ( /user/acso/prova,

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

Esercizio 1 - nucleo e commutazione tra processi

Esercizio 1 - nucleo e commutazione tra processi Esercizio 1 - nucleo e commutazione tra processi / programma CODICE.c / int main ( ) {... fd = open( /acso/file_prova, ORDWR) pid = fork ( ); if (pid == 0) {/ codice eseguito da F1 / execl ( /acso/prog_x,

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

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

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 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 e Informazione prof.ssa Anna Antola prof. Luca Breveglieri prof. Giuseppe Pelagatti prof.ssa Donatella Sciuto prof.ssa Cristina Silvano AXO Architettura

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

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

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

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

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

Informatica 2 Prova di mercoledì 27 aprile 2005

Informatica 2 Prova di mercoledì 27 aprile 2005 olitecnico di Milano Dipartimento di Elettronica e Informazione prof. Cesare Alippi prof.ssa Anna Antola prof. Luciano Baresi prof. Luca Breveglieri Informatica 2 rova di mercoledì 27 aprile 2005 Matricola

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

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

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

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

Dettagli

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

Architettura dei calcolatori e sistemi operativi. Input Output. IO 3 Device driver

Architettura dei calcolatori e sistemi operativi. Input Output. IO 3 Device driver Architettura dei calcolatori e sistemi operativi Input Output IO 3 Device driver Device driver - gestori delle periferiche Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi

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

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

Politecnico di Milano - Dipartimento di Elettronica, informazione e Bioingegneria Prof. Mauro Negri

Politecnico di Milano - Dipartimento di Elettronica, informazione e Bioingegneria Prof. Mauro Negri Politecnico di Milano - Dipartimento di Elettronica, informazione e Bioingegneria Prof. Mauro Negri Fondamenti di Informatica II prova 13 febbraio 2015 Matricola/codice persona Cognome Nome Durata prova:

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

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

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

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. Roberto Negrini prof. Giuseppe Pelagatti prof.ssa Donatella Sciuto prof.ssa Cristina Silvano

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

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

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

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

IL CONCETTO DI FILE. È illecito operare oltre la fine del file. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

Dettagli

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

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

Dettagli

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

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

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

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

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

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

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

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

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

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

[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

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

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

[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

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

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

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

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

Architetture dei Calcolatori e Sistemi Operativi

Architetture dei Calcolatori e Sistemi Operativi Prof. Gerardo Pelosi & Ing. Michele Scandale 30 Ottobre 2014 Gerardo Pelosi 1 Esercizio 1 Indicare se nel seguente programma sono presenti deadlock e, in tal caso, identificare

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

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

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

LINUX: struttura generale

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

Dettagli

Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri

Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri Fondamenti di Informatica Informatica I III appello 6 settembre 2011 Matricola Cognome Nome Durata prova: 1 ora ½ Istruzioni

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

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

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

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

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

Sistemi Operativi Esercizi Gestione Memoria

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

Dettagli

Pag. 1. modello di esecuzione parallela

Pag. 1. modello di esecuzione parallela Il Sistema Operativo è un insieme di programmi (moduli software) che svolgono funzioni di servizio nel calcolatore. Costituisce la parte essenziale del cosiddetto software di sistema (o di base) in quanto

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

Giuseppe Pelagatti. Programmazione e Struttura del sistema operativo Linux

Giuseppe Pelagatti. Programmazione e Struttura del sistema operativo Linux Giuseppe Pelagatti Programmazione e Struttura del sistema operativo Linux Appunti del corso di Architettura dei Calcolatori e Sistemi Operativi (AXO) Parte IO: Input/Output e File System cap. IO3 I Gestori

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

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

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

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

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

Dettagli

Sistemi Operativi (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

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

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

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

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

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

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

Dettagli

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

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

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

Dettagli

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

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

Dettagli

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 21 Martedì 10-01-2017 Sincronizzazione tra thread Per risolvere problemi

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

Modulo 13: System call relative al File System

Modulo 13: System call relative al File System Modulo 13: System call relative al File System Chiamate di sistema relative ai file Restituzione descrittore Uso di namei Assegnazione inode Attributi I/O File System Struttura Manipolazione open creat

Dettagli

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

Il concetto di memoria virtuale. Struttura interna del Sistema Operativo. Memoria virtuale: indirizzi virtuali. Codifica Esadecimale Il concetto di memoria virtuale Struttura interna del Sistema Operativo 3. La gestione della memoria virtuale 25 marzo 2004 Separare il concetto di spazio di indirizzamento di un programma eseguibile e

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 Appello del 20 Luglio 2011 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3 esercizi

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 Donatella Sciuto prof.ssa Cristina Silvano AXO Architettura

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

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

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

Dettagli

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

Struttura interna del Sistema Operativo. 3. La gestione della memoria virtuale Struttura interna del Sistema Operativo 3. La gestione della memoria virtuale Il concetto di memoria virtuale Separare il concetto di spazio di indirizzamento di un programma eseguibile e dimensione effettiva

Dettagli

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

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

Dettagli

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