Informatica 2 Esame di venerdì 2 marzo 2007

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Informatica 2 Esame di venerdì 2 marzo 2007"

Transcript

1 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 CON SOLUZIONI Cognome Nome Matricola Firma Istruzioni Scrivere solo sui fogli distribuiti. Non separare questi fogli. È 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: 1h:40m (una parte) 2h:30m (completo). I arte II parte Completo Esercizio Esercizio Esercizio Esercizio 4 3 Esercizio Esercizio Esercizio Esercizio 8 3 Voto finale I NUMEI INDICANO I UNTEGGI AOSSIMATIVI.

2 Esercizio n. 1 - arallelismo tra rocessi Si consideri il seguente programma C (gli #include necessari sono omessi): / programma principale file /bin/prog.c / 1. int main ( ) { 2. int status, x = 10, pid; 3. char c [ ] = "elem"; 4. char *p = c; 5. while (*p!= '\0') { 6. pid = fork ( ); 7. if (pid == 0) { 8. if (*p == 'e') x = x * 2; else x--; / end if / 9. printf ( %s, p); 10. exit (x); 11. } / end if / 12. if (pid % 2 == 0) { 13. waitpid (pid, &status, 0); 14. x = x + (status / 256); 15. } else x = x + 4; / end if / 16. p++; 17. printf ("%d\n", x); 18. } / end while / 19. } / main / Mettendo in esecuzione il programma main si avvia il processo padre (all attivazione di main ). Il pid del processo iniziale è 100, poi il S.O. prosegue definendo nuovi pid consecutivi. Si supponga che durante l esecuzione non il S.O. non assegni altri pid se non ai processi generati da questo codice. Si ricorda che l esecuzione della chiamata di sistema waitpid alla linea 13 blocca l esecuzione in attesa della terminazione del processo figlio con identificativo pid. In linguaggio C l operatore % calcola il resto della divisione tra numeri interi. Si ricorda anche che il S.O. moltiplica automaticamente per 256 il codice ( status ) di terminazione del processo, e che per averne (tramite wait o waitpid) il valore effettivo bisogna dividere per 256 (si veda la riga 14). ispondere alle domande seguenti rispettando le regole date qui sotto (si suppone che tutte le chiamate ai servizi di sistema abbiano sempre successo): 1. Che cosa viene stampato durante le esecuzioni dell istruzione printf ( %s, p) alla linea 9 da parte dei 4 figli (nell ordine di creazione dei figli)? elem, lem, em, m 2. Che cosa viene stampato durante le 4 esecuzioni dell istruzione printf("%d\n", x) alla linea 17? 14, 27, 31, uali valori di x vengono restituiti dalle 4 operazioni di exit da parte dei 4 figli (nell ordine di creazione dei figli)? 20, 13, 54, uali valori ha la variabile x nei 4 processi figli nell istante immediatamente successivo all esecuzione dell istruzione 16 (del processo padre)? Si indichino tali valori utilizzando le convenzioni seguenti: quando la variabile non esiste (in quanto non esiste il processo cui essa appartiene), si scriva NE quando non si può dire con certezza se la variabile esista o quale ne sia il valore, si scriva U Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 2 di 18

3 Tabella A. Valore delle variabili nel primo figlio subito dopo l esecuzione dell istruzione 16 del padre x U Tabella B. Valore delle variabili nel secondo figlio subito dopo l esecuzione dell istruzione 16 del padre x NE Tabella C. Valore delle variabili nel terzo figlio subito dopo l esecuzione dell istruzione 16 del padre x U Tabella D. Valore delle variabili nel quarto figlio subito dopo l esecuzione dell istruzione 16 del padre x NE Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 3 di 18

4 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 è di 8 Kbyte, quella logica è di 16 Kbyte e la dimensione delle pagine è di 1024 byte. Si chiede di: (a) Definire la struttura degli indirizzi fisico e logico indicando la lunghezza dei campi: NF: 3 bit Spiazzamento fisico: 10 bit NL: 4 bit Spiazzamento logico: 10 bit (b) All istante t 0 nel sistema sono attivi i processi, e, che eseguono i programmi G, G e G, rispettivamente. I processi e condividono un segmento. La dimensione iniziale dei segmenti dei programmi è la seguente: C: 2 K D: 1 K : 1 K COND: 0 K C: 1 K D: 2 K : 2 K COND: 1 K C: 1 K D: 1 K : 1 K COND: 1 K La dimensione complessiva di ogni processo è di 16 K e pertanto il segmento pila di ogni processo inizia all indirizzo corrispondente ai 16 K. Si inserisca in tabella 1A il significato delle varie pagine di memoria logica (notazione: C0, C1, D0, 0,, C0,, COND0,...); nel processo il segmento dati COND è allocato lasciando 2 pagine libere dopo il segmento dati (per permettere una crescita dello Heap, servizio BK); nel processo COND è allocato lasciando 4 pagine libere dopo D. Indirizzo di pagina virtuale roc. roc. roc. Indirizzo fisico agine allocate t 0 Indirizzo fisico agine allocate t 1 0 C0 C0 C0 0 C0 0 C0 1 C1 D0 D0 1 (0) D1 1 C1 2 D0 D1 D (0) (D0) COND 3 COND 4 4 (C0) C0 4 C0 5 COND 5 (C1) 0 5 (0) D1 6 COND 6 (0) D0 6 D0 7 7 (D0) 7 D0 8 9 A B C D E 1 1 F (c) 1A) Struttura della memoria logica 1B) Memoria fisica agli istanti t 0 e t 1 Indicare quanto spazio (in pagine) è disponibile per consentire: la chiamata a funzioni in : 12 pagine l allocazione dinamica in : 4 pagine (d) A un certo istante t 0 sono terminati, nell ordine, gli eventi seguenti: 1. lancio di (fork di ed exec di G) 2. lancio di (fork di ed exec di G) 3. terminazione del processo 4. lancio di (fork di ed exec di G) Sapendo inoltre che il numero di pagine residenti è 4, che viene utilizzato l algoritmo LU (ove richiesto prima si dealloca una pagina di processo e poi si procede alla nuova assegnazione) e che le pagine meno utilizzate in ogni processo sono la prima pagina del segmento pila, quindi la prima pagina del segmento dati (le prime caricate sono le meno utilizzate), ipotizzando che il caricamento delle pagine virtuali nelle pagine fisiche avvenga sempre in sequenza, senza buchi, a partire dalla pagina fisica 0, e che la sequenza di allocazione di pagine preveda per ogni processo il caricamento, nell ordine, prima del segmento codice, poi della pila, poi del segmento dati e infine del segmento condiviso, si deve indicare, completando la tabella 1B (sinistra), l allocazione fisica delle pagine dei processi all istante t 0. Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 4 di 18

5 (e) (f) A un certo istante t 1 > t 0 sono terminati gli eventi seguenti: 5. terminazione del processo 6. nuovo lancio di (fork di ed exec di G) 7. allocazione di 1 nuova pagina di pila per il processo 8. allocazione di 1 pagina di memoria per (servizio BK) Si completi la tabella 1B (destra) nelle medesime ipotesi delineate nel punto (d) precedente e supponendo che, dovendo utilizzare una pagina fisica libera, venga sempre usata la pagina fisica libera a- vente indirizzo di pagina minore e che la deallocazione da memoria fisica della pagina di segmento condiviso avvenga solo se entrambi i processi hanno richiesto la deallocazione. Si indichi il contenuto della tabella delle pagine della MMU all'istante t 1 completando la tabella seguente (si usino, e come pid dei corrispondenti processi, oppure n.s. se nella corrispondente riga della tabella non è allocato alcun processo e di conseguenza la riga non è significativa, oppure se la pagina è occupata da un processo diverso da, o ); si ipotizzi che le righe della tabella siano state allocate ordinatamente man mano che venivano allocate le pagine di memoria virtuale e che gli eventi di cui ai punti (d, e) influenzanti la MMU partano da una situazione di tabella vergine, abbiano utilizzato le righe lasciate libere e che se è richiesta una nuova riga si utilizzi sempre la prima riga libera (quella con il bit di validità a 0). Si indichi anche il valore assunto dal bit di validità di pagina (1 significa che la pagina è caricata). ID Numero di agina Virtuale Numero di agina Fisica Bit di Validità () (0 C0) 0 C0 0 1 () (F 0) (2 D1) 1 C1 1 1 () (E 1) (F 0) E () (1 D0) (5 COND) 2 D0 (3) 7 1 () (0 C0) 0 C0 4 1 () (1 C1) (F 0) 2 D1 5 1 () (F 0) 1 D0 6 1 () (2 D0) 6 COND (7) 3 1 NS NS NS 0 NS NS NS 0 NS NS NS 0 NS NS NS 0 Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 5 di 18

6 Esercizio n. 3 Commutazioni tra rocessi Si consideri il seguente frammento di programma (gli #include necessari sono omessi): /* programma main.c */ main ( ) { int pid1, pid2; int fd1, fd2; char v [2500]; char c [1000];... fd1 = open ( /user/info2/file1, O_DW); write (fd1, v, 100); /* scrive su file */ pid1 = fork ( ); if (pid1 == 0) { /* codice eseguito da, figlio di */ pid2 = fork ( ); if (pid2 == 0) { /* codice eseguito da, figlio di */ fd2 = open ( /user/info2/file2, O_DW); read (fd1, c, 50); /* legge da file1 */ write (fd2, c, 50); /* scrive su file2 */ exit (2); } else { /* codice eseguito da */ pid2 = wait (&status); exit (1); } /* end if */ } else { /* codice eseguito da */ sleep (2); exit (0); } /* end if */ } /* main.c */ Un processo crea un figlio che, a sua volta, crea un figlio. Nella tabella a pagina seguente sono indicati (nella prima colonna) alcuni eventi verificatisi durante l esecuzione dei programmi da parte di, e ; nella seconda colonna è aggiunta un indicazione supplementare relativa a tali eventi. Si deve completare tale tabella indicando ordinatamente nella terza colonna tutti i moduli del S.O. che vengono eseguiti (completamente o in parte) in seguito all evento, nella quarta colonna il contesto nel quale ciascun modulo è eseguito e, nelle ultime tre colonne, lo stato dei processi, e dopo che tutti i moduli hanno svolto la funzione e si è tornati al funzionamento in modo U. Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 6 di 18

7 Avvertenze per il riempimento della tabella: 1. non esistono altri processi nel sistema 2. per la lettura e scrittura su file: a) la dimensione di un blocco trasferito in DMA da o su file è di 512 byte b) le operazioni di lettura e scrittura su file accedono sempre a disco, cioè è sempre necessario eseguire trasferimenti in DMA c) l interruzione di fine DMA è associata al trasferimento di un singolo blocco del file (evento DMA_in per lettura di un blocco e evento DMA_out per scrittura di un blocco su file) 3. la notazione 1 interrupt (2 o 3 interrupt) indica che si sono verificate 1 (2 o 3) interruzioni; nella risposta si faccia riferimento all'ultima di tali interruzioni 4. la chiamata di sistema wait invoca Sleep_on su un evento opportuno 5. la terminazione di un processo ( exit ) invoca Wake_up per risvegliare il processo padre eventualmente in attesa 6. se un processo viene risvegliato da Wake_up e non ci sono altri processi pronti o in esecuzione, il processo viene immediatamente lanciato in esecuzione (in questo caso Wake_up invoca ) 7. la chiamata di sistema sleep (arg) sospende l esecuzione del processo che la invoca per un numero di secondi specificato dal parametro; quindi sleep invoca Sleep_on su un evento opportuno e la gestione del tempo trascorso viene eseguita dalla routine di risposta all interruzione da orologio 8. se viene invocata e nessun processo è pronto, non lancia in esecuzione alcun processo e il contesto è non specificato n.s. 9. se, al momento di un cambiamento di contesto, più di un processo è pronto all esecuzione, viene scelto quello di priorità maggiore; i processi considerati hanno priorità: > > ( ha priorità max) 10. si indichino i moduli utilizzando la notazione seguente: Notazione abbreviata _Int (Disp) <nome routine di sistema> Sleep_on (E n ) Wake_up (E n ) Codice Utente Modulo (o frammento di modulo) di sistema Gestore SVC (chiamata a supervisore, supervisor call) outine di interruzione; Disp può valere: CK = orologio, ETE_acc = scheda rete per accept, S_out = Standard output, S_in = Standard input, DMA_in = disco_in_lettura, DMA_out = disco_in_scrittura può essere: fork, write, read, wait, exit, open, sleep, exec, reempt,, accept ecc., ecc.,... Sleep_on: per indicare l evento su cui viene sospeso il processo si scriva convenzionalmente E 1, E 2, E 3,, E n, Wake_up: il simbolo E n indica l evento, come in Sleep_on nessun modulo di sistema, il processo esegue codice utente Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 7 di 18

8 Evento (è preceduto dal processo nel cui contesto l evento si verifica) Informazioni aggiuntive Moduli eseguiti per gestire l evento rocesso / i nel cui contesto è eseguito ogni modulo Stato dei processi dopo la gestione dell evento : write write ha inizializzato il DMA in scrittura write Sleep_on (E1) n.s. attesa (E1) non esiste non esiste n.s.: 1 interrupt da disco (scrittura) trasferito 1 blocco (ultimo blocco da trasferire) _Int (DMA_out) Wake_up (E1) Sleep_on (E1) write n.s. n.s. n.s. esec U non esiste non esiste : fork ha esaurito il suo quanto di tempo (nota bene: la fork è stata eseguita) fork reempt reempt fork pronto esec U non esiste : interrupt da orologio ha esaurito il suo quanto di tempo N.B.: l istruzione di pid2 = fork ( ); è già stata eseguita _Int (CK) reempt fork esec U pronto pronto : sleep (2) sleep Sleep_on (E2) reempt _Int (CK) attesa (E2) esec U pronto (continua) Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 8 di 18

9 Evento (è preceduto dal processo nel cui contesto l evento si verifica) Informazioni aggiuntive Moduli eseguiti per gestire l evento rocesso / i nel cui contesto è eseguito ogni modulo Stato dei processi dopo la gestione dell evento : wait wait Sleep_on (E3) reempt fork attesa (E2) attesa (E3) esec U : read read ha inizializzato il DMA in lettura read Sleep_on (E4) n.s. attesa (E2) attesa (E3) attesa (E4) n.s.: interrupt da orologio sono trascorsi i 2 s associati alla sleep _Int (CK) Wake_up (E2) Sleep_on (E2) sleep n.s. n.s. n.s. esec U attesa (E3) attesa (E4) : exit exit n.s. non esiste attesa (E3) attesa (E4) n.s.: 1 interrupt da disco (lettura) è relatvo all ultimo blocco trasferito _Int (DMA_in) Wake_up (E3) Sleep_on (E3) read n.s. n.s. n.s. non esiste attesa (E3) esec U (fine) In rosso le riprese dei moduli interni del S.O. In blu le riprese e conclusioni dei moduli di ingresso nel S.O.: se via SVC ovvero via interruzione software, _Int se via interruzione hardware. Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 9 di 18

10 Esercizio n. 4 File System Un processo esegue il programma seguente, creando un processo figlio, che crea a sua volta un figlio : int main ( ) { /* processo */ / dichiarazioni varie / fd1 = open ("/cat1/cat3/file3", O_DONLY); read (fd1, buf1, 5); fd2 = open ("/cat1/cat2/file1", O_DONLY); read (fd2, buf2, 4); pid = fork ( ); if (pid == 0) { /* processo */ lseek (fd2, -4, 2); /* 2 = rif. relativo alla fine del file */ read (fd2, buf, 3); lseek (fd2, -8, 1); /* 1 = rif. relativo alla pos. cor. */ fd3 = open ("/cat1/cat2/file2", O_DONLY); pid = fork ( ); if (pid == 0) { /* processo */ read (fd2, buf2, 4); read (fd3, buf3, 5); close (fd2); exit (0); } / fine / } / fine / } / fine / A un certo istante T si sono verificati gli eventi seguenti: 1) dopo l esecuzione della prima fork è andato in esecuzione subito il processo ; 2) dopo l esecuzione della seconda fork è andato in esecuzione subito il processo ; 3) il processo è arrivato all invocazione della funzione exit (che non è ancora stata eseguita). Il contenuto del volume durante l esecuzione è il seguente: I-Lista: <0,dir,3> <2,dir,29> <13,dir,24> <9,dir,15> <55,norm,61> <57,norm,90> <85,norm,50> Blocco 3: < 1, dev >, < 2, cat1> Blocco 15: < 55, file1> <57, file2> Blocco 24: < 85, file3> Blocco 29: < 13, cat3 > <9, cat2> Blocco 50: Meccanica Blocco 61: Matematica Blocco 90: Architettura Nota bene: lo i-node associato al catalogo radice / ha 0 come i-number; la i-lista contiene terne <i-number, tipo_file, indice_blocco>; i cataloghi contengono coppie < i-number, nome_file>. 1) Indicare il contenuto, all istante T, delle variabili seguenti: buf1: Mecca buf2: Matem buf: tic buf2: atem buf3:archi 2) Si completi il contenuto delle tabelle seguenti, all istante T: Tab. File Aperti roc. Tab. File Aperti roc. Tab. File Aperti roc. Tabella Globale dei File Aperti f.d. rif. f.d. rif. f.d. rif. riga pos. n. di corr. proc. punt. 0 xxx 0 xxx 0 xxx 0 xxx xxx xxx 1 xxx 1 xxx 1 xxx 1 xxx xxx xxx 2 xxx 2 xxx 2 xxx 2 xxx xxx xxx L pos. corr. è l indicatore di posizione corrente all interno del file; punt. è lo i-number che fa riferimento allo i-node; n. di proc. è il numero di processi che hanno aperto il file; xxx indica che è presente un valore non significativo ai fini del problema; le tabelle sono semplificate e contengono solamente le colonne delle quali è richiesto il riempimento; si scriva L per indicare che una cella precedentemente utilizzata è diventata libera. Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 10 di 18

11 Esercizio n. 5 Logica Digitale rima parte Si vuole realizzare un circuito combinatorio a quattro ingressi (a, b, c, d) e un uscita F, che abbia il comportamento seguente: L uscita vale 1 per i mintermini 2, 3, 6, 9, 12, 13, 15 L uscita vale X (don t care) per il mintermine 7 L uscita vale 0 per tutte le altre configurazioni di ingresso. (a) appresentare la mappa di Karnaugh di F e derivarne l equazione minima in termini di somma di prodotti F =!a c + a b!c + a b d + a!c d c e un altra soluzione, che e F =!a c + a b!c + a!c d + b c d (b) Spiegare che cosa sono gli implicanti primi essenziali e indicare quali sono per la funzione F. Un implicante esenziale è un implicante primo (cioè massimale), il quale abbia in aggiunta (al fatto di essere primo) un ruolo insostituibile nel coprire almeno un mintermine (cioè un 1) nella mappa, vale a dire che non c è nessun altro implicante primo che possa coprire quel dato mintermine. Non è detto che un implicante primo sia essenziale. Se la funzione è copribile mediante soli implicanti essenziali, allora la copertura di costo minimo è unica. Il lettore trovi da sé gli implicanti essenziali di F. (c) Disegnare una rete combinatoria che realizza la funzione calcolata al punto precedente, utilizzando solamente porte a 2 ingressi. (d) Calcolare il ritardo della rete disegnata al punto precedente supponendo che ogni porta AND a due ingressi abbia ritardo di 5 ns e ogni O a 2 ingressi abbia un ritardo pari a 6 ns, mentre una porta NOT ha ritardo pari a solo 1 ns: F = = 23 ns Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 11 di 18

12 Seconda parte Dati i due valori numerici seguenti (in base 10): (a) A = +21 e B = 10 Indicare il numero N di bit necessario per rappresentarli entrambi in complemento a 2, spiegandone il motivo: N = 6 bit (b) Codificare A e B in complemento a 2 usando N bit: A = B = (c) Eseguire in complemento a 2, con N bit, l operazione A B; indicare sia il valore del risultato sia i valori dei bit di esito Z, N, C e V: A B A B Z = 0 N = 0 C = 0 V = 0 Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 12 di 18

13 Esercizio n. 6 Linguaggio Macchina Con riferimento alla procedura proc in linguaggio C data sotto, si completino le due tabelle e la figura rappresentanti: 1. il contenuto dell area di attivazione di proc (si riempiano solo le righe rilevanti) 2. l albero sintattico con le informazioni necessarie per la traduzione dell espressione temp = val - punt, utilizzando i registri da D0 (compreso) in avanti e da A0 (compreso) in avanti, fino a dove serve 3. il codice della procedura in linguaggio macchina M68000 (le prime due istruzioni sono già indicate), considerando le convenzioni seguenti per il passaggio dei parametri alla procedura proc : i parametri sono passati sulla pila in ordine inverso al loro ordine nell invocazione (in modo che il primo parametro sia il più vicino all indirizzo (F)); inoltre, si sa che il tipo int è a 32 bit e che c è l istruzione macchina MUL.L con operandi e risultato a 32 bit Nota bene: proc è una procedura e dunque non restituisce valore in uscita; essa è però dotata di un parametro di tipo puntatore punt ; si rifletta bene a come trattarlo in linguaggio macchina. / procedura proc / void proc (int val, int punt) { / punt è puntatore a intero / int temp; / var. loc. / temp = val - punt; punt = temp; return; } / fine di proc / area di attivazione di proc ind contenuto della memoria F 8 F 4 variabile locale temp F F salvato F + 4 indirizzo di rientro F + 8 parametro val F + 12 parametro punt F + 16 albero sintattico dell espressione temp + D D1 2 1 val D0 D1 punt D2 A0 usa il registro di indirizzo A0 come puntatore Codice Macchina Simbolico (numero di linee non significativo) proc LINK.L F, # 4 crea area di attivazione (F = A6) MOVEM.L D0-D2 / A0, (S) salva in pila i reg. D0, D1, D2 e A0 MOVE.L 8 (F), D0 1) carica parametro val in D0 MUL.L #2, D0 2) calcola 2 val MOVEA.L 12 (F), A0 3a) carica parametro punt in A0 MOVE.L (A0), D2 3b) carica oggetto punt in D0 SUB.L D2, D1 4) calcola 2 val punt ADD.L #1, D1 5) calcola val punt MOVE.L D1, 4 (F) 6) memorizza risultato in temp MOVE.L D1, (A0) assegna punt = temp MOVEM.L (S) +, A0 / D2-D0 ripristina da pila i reg. A0, D0, D1 e D2 UNLK.L F elimina area di attivazione TS fine procedura proc Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 13 di 18

14 Esercizio n. 7 Microcodice di Istruzione Lo schema riportato qui di fianco illustra l architettura di processore a bus singolo di riferimento. Si scriva il microcodice capace di eseguire l istruzione macchina seguente: SUB (0, 1), 2 che si vuole aggiungere all Instruction Set Architecture del processore. Essa sottrae al contenuto del registro 2 (da 32 bit) la parola di memoria (da 32 bit) collocata all indirizzo ottenuto come somma dei contenuti dei registri 0 e 1 (entrambi da 32 bit), i quali restano inalterati, e riscrive la differenza in 2, cancellandone il contenuto precedente. linee di indirizzo bus di memoria select linee di dato costante 4 MUX 32 bit C MA MD V bus interno del processore 32 bit ordini decodificatore di istruzioni e circuito di controllo I 0 n 1 L interpretazione TL è la seguente (si legga con attenzione): 2 [ 2 ] [ [ 0 ] + [ 1 ] ] La memoria ha indirizzo da 32 bit ed è indirizzabile per byte. L istruzione macchina ingombra una parola da 32 bit. linee di comando della ALU add sub and A ALU Z B riporto in ingresso S TEM 32 bit Si supponga che l unità di controllo sia di tipo cablato. Si compilino le due tabelle riportate a pagina successiva. Il numero di righe non è significativo. Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 14 di 18

15 passo Operazione in TL 1 MA [C], Z [C] + 4, preleva 2 C [Z], V [Z], attendi 3 I [MD] 4 V [0] 5 Z [V] + [1] 6 MA [Z], leggi 7 V [2], attendi 8 Z [V] + [MD] 9 2 [Z], fine passo µ ordini (corrispondenti a TL) 1 C out, MA in, select 4, Z in, read, add 2 Z out, C in, V in, WMFC 3 MD out, I in 4 0 out, V in 5 1 out, select V, Z in, add 6 Z out, MA in, read 7 2 out, V in, WMFC 8 MD out, select V, Z in, add 9 Z out, 2 in, end Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 15 di 18

16 Esercizio n. 8 Memoria Cache rima parte Si consideri un sistema di memoria (memoria + cache) caratterizzato dalle dimensioni seguenti: - memoria di 2 Gbyte (indirizzata a livello di byte) - cache di 2 Mbyte - ogni blocco della cache contiene 256 byte Si chiede di indicare la struttura degli indirizzi per la memoria cache nelle situazioni seguenti: - cache a indirizzamento diretto (direct mapped) - cache completamente associativa (fully associative) - cache associativa a gruppi (set-associative) a 4 vie Soluzione Memoria di lavoro: Memoria cache: Blocco: indirizzo di 31 bit indirizzo di 21 bit indirizzo di 8 bit (a) Cache a indirizzamento diretto 8 bit per il byte nel blocco 13 bit per l indice del blocco nella cache 10 bit di etichetta (b) Cache completamente associativa 8 bit per il byte nel blocco 23 bit di etichetta (c) Cache set-associativa a 4 vie 8 bit per il byte nel blocco 11 bit per l indice dell insieme (gruppo) nella cache 12 bit di etichetta Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 16 di 18

17 Seconda parte Si consideri un sistema di memoria (memoria + cache) caratterizzato dalle dimensioni seguenti: - memoria di lavoro di 2 Kbyte, indirizzata a livello di singolo byte - cache di 256 byte - ogni blocco della cache contiene 64 byte Considerando la sequenza di richieste alla memoria riportata qui sotto, si chiede di completare la tabella che illustra il comportamento di una cache associativa a gruppi (set-associative) a 2 vie, nel rispetto delle indicazioni seguenti: Nella colonna esito riportare H (hit) se il blocco richiesto si trova nella cache, M (miss) se invece il blocco deve essere caricato dalla memoria. Nelle colonne dati deve essere riportato il numero del blocco della memoria che si trova nel corrispondente blocco (posizione) della cache. Si noti che questi valori sono riportati come numeri decimali (base dieci), mentre le etichette sono scritte in binario. er questo motivo l indirizzo individua un byte compreso nel blocco due = 0 dieci (che pertanto ha il valore binario due come etichetta). Nella colonna azione deve essere indicato il blocco cui si accede (in caso di successo, H) o il blocco dove vengono caricati i dati della memoria (in caso di fallimento, M). Nella cache ci sono quattro blocchi denotati dalle lettere A, B, C e D, che sono organizzati in due gruppi (o insiemi): si ipotizzi che i blocchi A e B siano compresi nel gruppo (o insieme) 0 e che i blocchi C e D facciano invece parte del gruppo (o insieme) 1. La politica di sostituzione adottata nella cache è quella LU (Least ecently Used). Note: degli 11 bit di indirizzo, 6 servono per individuare il byte nel blocco. Nella cache ci sono quattro blocchi organizzati in due gruppi (o insiemi), pertanto il bit in posizione 7 (partendo con la posizione 1 da destra) indica il gruppo (o insieme), mentre i restanti 4 bit, in posizione da 8 a 11, formano l etichetta. blocco A blocco B blocco C blocco D passo indirizzo richiesto esito valido etichetta dati valido etichetta dati valido etichetta dati valido etichetta dati azione situazione iniziale M carica blocco 3 in C M carica blocco 0 in A M carica blocco 1 in D M carica blocco 29 in C M carica blocco 26 in B M accesso a C Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 17 di 18

18 Spazio libero per brutta o note Informatica 2 Esame di venerdì 2 marzo CON SOLUZIONI pagina 18 di 18

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

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

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

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

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

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

(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

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

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

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

8 bit per la parola nel blocco 10 bit per l insieme (gruppo) nella cache 12 bit di etichetta. Esercizio 3 Memoria Cache

8 bit per la parola nel blocco 10 bit per l insieme (gruppo) nella cache 12 bit di etichetta. Esercizio 3 Memoria Cache Esercizio 3 Memoria Cache Prima parte - memoria di 1 Giga parole da 16 bit (indirizzata a livello di parola) - cache di 1 Mega parole da 16 bit (indirizzata a livello di parola) - ogni della cache contiene

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

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

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

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

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

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

Dettagli

Architettura degli elaboratori Tema d esame del 20/01/2016

Architettura degli elaboratori Tema d esame del 20/01/2016 Architettura degli elaboratori - Luigi Lavazza A.A. 25/6 Università degli Studi dell Insubria Dipartimento di Informatica e Comunicazione Architettura degli elaboratori Tema d esame del 2//26 Luigi Lavazza

Dettagli

Architettura degli elaboratori Tema d esame del 20/01/2016

Architettura degli elaboratori Tema d esame del 20/01/2016 Architettura degli elaboratori - Luigi Lavazza A.A. 5/6 Università degli Studi dell Insubria Dipartimento di Informatica e Comunicazione Architettura degli elaboratori Tema d esame del //6 Luigi Lavazza

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

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

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

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

Esercizio n. 7 - Microcodice

Esercizio n. 7 - Microcodice Esercizio n. 7 - Microcodice Lo schema riportato qui di fianco illustra l architettura di processore a bus singolo di riferimento. Si scriva il microcodice capace di eseguire la coppia di istruzioni seguenti:

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

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

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

Reti Logiche A Prova di giovedì 3 febbraio 2005

Reti Logiche A Prova di giovedì 3 febbraio 2005 olitecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof.ssa Cristiana Bolchini prof. Fabrizio Ferrandi Reti Logiche A rova di giovedì febbraio 005 Matricola Cognome Nome

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

Informatica 2 Prova di lunedì 27 Giugno Con soluzioni. Politecnico di Milano Dipartimento di Elettronica e Informazione

Informatica 2 Prova di lunedì 27 Giugno Con soluzioni. Politecnico di Milano Dipartimento di Elettronica e Informazione Politecnico di Milano Dipartimento di Elettronica e Informazione prof. Cesare Alippi prof.ssa Anna Antola prof. Luciano Baresi prof. Luca Breveglieri Informatica 2 Prova di lunedì 27 Giugno 25 prof. Luigi

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

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

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

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

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

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

Dettagli

Università dell'insubria - Luigi Lavazza 1

Università dell'insubria - Luigi Lavazza 1 Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori Tema d esame del 27/11/214 Luigi Lavazza Dipartimento di Scienze Teoriche ed Applicate luigi.lavazza@uninsubria.it

Dettagli

Esercizi. Logica Digitale. Alessandro A. Nacci ACSO 2014/2014

Esercizi. Logica Digitale. Alessandro A. Nacci ACSO 2014/2014 Esercizi Logica Digitale Alessandro A. Nacci alessandro.nacci@polimi.it ACSO 204/204 2 Esercizio - Prima Parte Si vuole realizzare un circuito combinatorio a quattro ingressi ( a, b, c, d ) e un uscita

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

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

Architettura degli elaboratori - Esame del 13 luglio 2015 A.A

Architettura degli elaboratori - Esame del 13 luglio 2015 A.A Architettura degli elaboratori - Esame del 3 luglio 25 A.A. 24-5 Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori Tema d esame del 3/7/25

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

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

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

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

Dettagli

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

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

Architettura degli elaboratori

Architettura degli elaboratori Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori Tema d esame del /9/24 Dipartimento di Scienze Teoriche e Applicate luigi.lavazza@uninsubria.it

Dettagli

Architettura degli elaboratori Tema d esame del 8/2/2016

Architettura degli elaboratori Tema d esame del 8/2/2016 Architettura degli elaboratori - Esame del 8 febbraio 6 A.A. -6 Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori Tema d esame del 8//6 Luigi

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

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

Reti Logiche A Esame del 13 settembre 2007

Reti Logiche A Esame del 13 settembre 2007 Politecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Fabrizio Ferrandi Reti Logiche A Esame del 13 settembre 2007 prof.ssa Cristiana Bolchini Esercizio n. 1 Effettuare

Dettagli

programma in linguaggio C esercizio n. 5 linguaggio macchina prima parte codifica in linguaggio macchina

programma in linguaggio C esercizio n. 5 linguaggio macchina prima parte codifica in linguaggio macchina esercizio n. 5 linguaggio macchina prima parte codifica in linguaggio macchina Si deve tradurre in linguaggio macchina simbolico (linguaggio assemblatore) 68000 il programma (main e funzione funz) riportato

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

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

Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri. Fondamenti di Informatica I prova in itinere

Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri. Fondamenti di Informatica I prova in itinere Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri Fondamenti di Informatica I prova in itinere 18 novembre 2011 Matricola Cognome Nome Istruzioni Durata prova: 2 ore

Dettagli

Reti Logiche A Esame del 24 febbraio 2006

Reti Logiche A Esame del 24 febbraio 2006 Politecnico di Milano ipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Fabrizio Ferrandi prof.ssa Cristiana Bolchini Esercizio n. a) ata la seguente tabella di copertura: Reti Logiche

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

PROVA SCRITTA DEL MODULO DI NOME: COGNOME: MATRICOLA:

PROVA SCRITTA DEL MODULO DI NOME: COGNOME: MATRICOLA: PROVA SCRITTA DEL MODULO DI CORSO DI LAUREA IN INGEGNERIA ELETTRICA ED ELETTRONICA, INGEGNERIA BIOMEDICA - 6 CFU Settembre 204 NOME: COGNOME: MATRICOLA: ESERCIZIO RETI LOGICHE (0 punti) Si vuole implementare

Dettagli

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

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

Dettagli

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 I appello 14 febbraio 2011 Matricola Cognome Nome Durata prova: 2 ore Fondamenti

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

COGNOME: NOME: MATRICOLA:

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

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

Esercizi. Assembly. Alessandro A. Nacci ACSO 2014/2014

Esercizi. Assembly. Alessandro A. Nacci ACSO 2014/2014 Esercizi Assembly Alessandro A. Nacci alessandro.nacci@polimi.it ACSO 2014/2014 1 Esercizio 1 Si deve tradurre in linguaggio macchina simbolico (linguaggio assemblatore) 68000 il programma C (programma

Dettagli

Reti Logiche A II Prova - 2 marzo 2009

Reti Logiche A II Prova - 2 marzo 2009 Politecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Fabrizio Ferrandi Reti Logiche A II Prova - 2 marzo 2009 Matricola prof.ssa Cristiana Bolchini Cognome Nome Istruzioni

Dettagli

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 14 Febbraio 2007

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 14 Febbraio 2007 SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI NUOVO E VECCHIO ORDINAMENTO DIDATTICO 4 Febbraio 2007 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO (8 punti) (a)

Dettagli

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 20 Giugno Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 20 Giugno Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 20 Giugno 2016 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina. Preparare

Dettagli

PROVA SCRITTA DEL CORSO DI CALCOLATORI ELETTRONICI 19 Febbraio 2013

PROVA SCRITTA DEL CORSO DI CALCOLATORI ELETTRONICI 19 Febbraio 2013 PROVA SCRITTA DEL CORSO DI CALCOLATORI ELETTRONICI 19 Febbraio 2013 NOME: COGNOME: MATRICOLA: ESERCIZIO 1 (10 punti) Si consideri un calcolatore che dispone di una memoria principale di 256 Mbyte e di

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

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

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

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

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

Dettagli

Architettura degli elaboratori CPU a ciclo singolo

Architettura degli elaboratori CPU a ciclo singolo Architettura degli elaboratori CPU a ciclo singolo Prof. Alberto Borghese Dipartimento di Informatica borghese@di.unimi.it Università degli Studi di Milano iferimento sul Patterson: capitolo 4.2, 4.4,

Dettagli

Linguaggio macchina e register file

Linguaggio macchina e register file Linguaggio macchina e register file Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4,

Dettagli

Elementi di Architettura e Sistemi Operativi. problema punti massimi i tuoi punti problema 1 6 problema 2 7 problema 3 7 problema 4 10 totale 30

Elementi di Architettura e Sistemi Operativi. problema punti massimi i tuoi punti problema 1 6 problema 2 7 problema 3 7 problema 4 10 totale 30 Elementi di Architettura e Sistemi Operativi Bioinformatica - Tiziano Villa 28 Settembre 2012 Nome e Cognome: Matricola: Posta elettronica: problema punti massimi i tuoi punti problema 1 6 problema 2 7

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

Esercizio FAT 1. Soluzione:

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

Dettagli

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

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

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

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 17 Febbraio 2009 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 17 Febbraio 2009 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 5 esercizi,

Dettagli

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. 27 Febbraio 2001

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. 27 Febbraio 2001 SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI 27 Febbraio 200 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO (VO: 7 punti - NO: 8 punti) Si consideri la rete combinatoria

Dettagli

SOLUZIONE Istruzioni: Indirizzo logico Legittimo? Indirizzo fisico Dati:

SOLUZIONE Istruzioni: Indirizzo logico Legittimo? Indirizzo fisico Dati: SRIZIO Segmentazione In un sistema che gestisce la memoria con spazio logico suddiviso in segmento codice e segmento dati (comprensivo della pila) e caricamento in partizioni variabili con rilocazione

Dettagli

PROVA SCRITTA DEL MODULO DI. 3 luglio 2018 NOME: COGNOME: MATRICOLA:

PROVA SCRITTA DEL MODULO DI. 3 luglio 2018 NOME: COGNOME: MATRICOLA: PROVA SCRITTA DEL MODULO DI 3 luglio 208 NOME: COGNOME: MATRICOLA: ESERCIZIO (8 punti) Si progetti una rete sequenziale in grado di riconoscere le sequenze 00 e 0. La rete è dotata di un unico ingresso

Dettagli

Esercizi sulla memoria cache - Informatica 2 - L. Breveglieri 1

Esercizi sulla memoria cache - Informatica 2 - L. Breveglieri 1 Esercizio 1 Sia data una memoria cache di tipo a indirizzamento diretto (direct-mapped), con blocchi di dimensioni pari a una sola parola per blocco, e contenente. La parola è lunga 16 bit, e la memoria

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

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 12 Gennaio Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 12 Gennaio Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 12 Gennaio 2017 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina. Preparare

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

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 6 Febbraio 2012 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi

Dettagli

Esercizi Logica Digitale,Circuiti e Bus

Esercizi Logica Digitale,Circuiti e Bus Esercizi Logica Digitale,Circuiti e Bus Alessandro A. Nacci alessandro.nacci@polimi.it ACSO 214/214 1 2 Esercizio 1 Si consideri la funzione booleana di 3 variabili G(a,b, c) espressa dall equazione seguente:

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

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

PROVA SCRITTA DEL MODULO DI. 16 gennaio 2017

PROVA SCRITTA DEL MODULO DI. 16 gennaio 2017 PROVA SCRITTA DEL MODULO DI 16 gennaio 2017 NOME: COGNOME: MATRICOLA: ESERCIZIO 1 (4 punti) Descrivere la tabella di verità e le caratteristiche di un flip flop JK, disegnando il circuito completo visto

Dettagli

Fondamenti di informatica, Sez. Ing. Informatica, Ing. Gestionale, Ing. Ambientale II prova in itinere, 29 Gennaio 2009

Fondamenti di informatica, Sez. Ing. Informatica, Ing. Gestionale, Ing. Ambientale II prova in itinere, 29 Gennaio 2009 Fondamenti di informatica, Sez. Ing. Informatica, Ing. Gestionale, Ing. Ambientale II prova in itinere, 29 Gennaio 2009 Esercizio 1 (punti 3) Sia data la funzione ricorsiva seguente: void elabora (unsigned

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

PROVA SCRITTA DEL MODULO DI. 13 giugno 2017 NOME: COGNOME: MATRICOLA:

PROVA SCRITTA DEL MODULO DI. 13 giugno 2017 NOME: COGNOME: MATRICOLA: PROVA SCRITTA DEL MODULO DI 13 giugno 2017 NOME: COGNOME: MATRICOLA: ESERCIZIO 1 (7 punti) Progettare una rete logica ad un ingresso X e ad un uscita Z che sia posta ad 1 al riconoscimento della sequenza

Dettagli