CORSO DI LAUREA IN INFORMATICA Sistemi Operativi e Reti Appello 1 - 14.06.2016 - A.A. 2015/2016 Cognome: Nome: □ Sistemi operativi e reti (12 CFU) □ Sistemi operativi con lab. (6 CFU) □ Reti di calcolatori (6 CFU) Firma: Sistemi Operativi 1. Con riferimento ai processi P1…P4 con istanti di arrivo e durate come specificato nella seguente tabella: Processo P1 P2 P3 P4 Istante di arrivo 0 5 12 15 Durata cpu burst (ms) 20 10 5 15 A) disegnate il diagramma temporale che mostra l’esecuzione dei processi con l’algoritmo di scheduling della CPU Round Roubin (RR) con quanto di tempo q=10 ms; B) per tale algoritmo di scheduling calcolate il tempo medio di attesa dei quattro processi. (2 punti) 2. In un sistema che utilizza scheduling a priorità fissa, due coppie di processi (P1, C1) e (P2, C2) cooperano, per lunghi tempi, secondo il modello produttore-consumatore: P1 coopera con C1 e P2 coopera con C2. All’istante t0, lo scheduler effettua un cambio di contesto. In quel momento nella coda di pronto sono presenti i quattro processi P1, C1, P2 e C2 con valori di priorità pari a 1, 3, 2, 2, rispettivamente. Il valore 1 indica la priorità più alta. Per tale scenario, descrivete il comportamento dei processi, determinando se per qualche processo possa verificarsi una situazione di attesa indefinita. (3 punti) 3. Considerate un sistema operativo che utilizza la tecnica di gestione della memoria a partizioni fisse. Supponete che le partizioni siano 5 e abbiano le seguenti dimensioni: D0=600 KB, D1=200 KB, D2=500 KB, D3=300 KB e D4=600 KB (D0 ha indirizzo più basso ed è riservata al sistema operativo). Se in un determinato istante le partizioni D1…D4 sono tutte libere e quattro processi P1 di 210 KB, P2 di 410 KB, P3 di 120 KB e P4 di 450 KB si trovano nella coda dei processi pronti (nell’ordine descritto), determinate in quale partizione il sistema alloca ciascun processo nel caso in cui viene usato l’algoritmo: A) Best-fit; B) First-fit. C) Per questo esempio quale dei due algoritmi risulta più efficiente? D) Quale importante problema produce la tecnica di gestione della memoria delle partizioni fisse? (3 punti) 4. A) Relativamente all’organizzazione fisica del file system, descrivete sinteticamente la tecnica di allocazione ad indice. B) Considerate un semplice file system che adotti la tecnica di allocazione ad indice a un solo livello, nel quale la dimensione del blocco è di 4 KB e ogni blocco è indirizzato da 32 bit. Calcolate la dimensione massima di un file. (3 punti) 5. Realizzate un programma multi thread in C, completo di commento, che simuli il comportamento di automobili che entrano in un autolavaggio, in base alle seguenti specifiche: - le auto arrivano all’autolavaggio in istanti di tempo random; - nell’autolavaggio sono disponibili 6 postazioni di lavaggio; - un’auto deve attendere in coda se tutte le postazioni sono occupate; - quando accede ad una postazione un’auto può occuparla fino a un tempo Tmax; - dimensionate la simulazione per 100 auto. L'applicazione, durante l'esecuzione, deve visualizzare i seguenti messaggi, in accordo con gli stati in cui si può trovare un'auto: - auto j arriva all’autolavaggio; - auto j attende che una postazione si liberi; - auto j entra in una postazione; - auto j esce dall’autolavaggio. (4 punti) Reti di Calcolatori 6. In una rete a commutazione di pacchetto tre host H1, H2 e H3 sono connessi ad un router R mediante tre link L1, L2 e L3, rispettivamente. I tre link hanno rispettivamente una larghezza di banda B1=1 Mbit/s, B2=10 Mbit/s e B3=1 Mbit/s. Tutti e tre i link hanno uno stesso ritardo di propagazione di 0.2 ms. All’istante t=0, l’host H1 invia ad H3 due pacchetti di 4000 bit ciascuno, mentre H2 all’istante t=2 ms invia ad H3 un solo pacchetto di 5000 bit. Trascurando i ritardi di elaborazione e supponendo la rete non trafficata: A) Calcolate il tempo necessario per trasferire i due pacchetti da H1 ad H3; B) calcolate il tempo necessario per trasferire il pacchetto da H2 ad H3; C) determinate se qualche pacchetto subirà un ritardo di coda e nel caso affermativo calcolarne il valore. (3 punti) 7. Supponete che un host A stia inviando un file di grandi dimensioni ad un host B. Supponete che in A (mittente) le variabili del TCP Reno relative al controllo della congestione assumano i seguenti valori: MSS=512 Byte; finestra di congestione congWin = 6 KB; la variabile di soglia threshold = 10 KB. A) In che fase si trova il mittente in questa situazione? B) A quale valore di congWin il mittente entrerà nella fase di “prevenzione della congestione”? C) Se al valore di congWin=16 KB si verifica una perdita di dati dovuto all’evento “un ACK ripetuto tre volte”, a quali valori saranno poste le variabili congWin e threshold? (3 punti) 8. In un host A, un’applicazione che utilizza UDP, invia messaggi di dimensione variabile ad un host B. Entrambi gli host sono connessi ad una stessa rete ethernet e sono separati da un router R. Ethernet ha MTU di 1500 byte. Calcolate la massima dimensione del messaggio che l’applicazione può inviare senza che si verifichi la frammentazione IP. (3 punti) 9. A) Il contenuto di informazione di un pacchetto è dato dalla sequenza di 16 bit 1110101110101001. Nel caso che si utilizzi uno schema di parità pari a due dimensioni, calcolate il valore del campo EDC (Error Detection and Correction). Di quanti bit è costituito il campo EDC? Quanti errori è in grado di rilevare e quanti errori è in grado di correggere tale schema? B) Quale tecniche di rilevazione dell’errore sono usate nelle reti di calcolatori? In quali protocolli sono implementate? (3 punti) 10. In un’azienda privata deve essere installata una rete intranet costituita da tre LAN Ethernet indicate con i nomi ETH1…ETH3. L’azienda dispone di un blocco di indirizzi 200.6.8.0/26 (formato CIDR). Le LAN devono essere strutturate in modo tale che a ETH1 siano connessi host con adattatori a 1Gb/s, a ETH2 host con adattatori a 100Mb/s e una rete wi-fi 802.11n con tecnologia NAT, a ETH3 host con adattatori a 100Mb/s e una rete wi-fi con throughput trasmissivo totale di circa 400 Mbps con tecnologia NAT. Il numero di indirizzi IP pubblici da assegnare a ETH1 deve essere superiore al numero di indirizzi pubblici da assegnare ad ETH2 e a ETH3. A) Disegnate uno schema della rete descritta, indicando i dispositivi di interconnessione e i tipi di mezzi trasmessivi utilizzati. B) Indicate l’indirizzo IP, la netmask e l’indirizzo di broadcast per ciascuna sottorete. C) assegnate gli indirizzi IP alle interfacce del router (lato LAN), ai dispositivi NAT, agli switch e a tutti gli host della rete. D) Scrivete le righe della tabella di instradamento del router, relativamente alle LAN di cui sopra. E) Con tali specifiche, quanti indirizzi IP pubblici sono disponibili per gli host? (NOTA: considerate di poter utilizzare HUB e/o SWITCH a 4, 8, 12, 24, 48 porte). (3 punti)