• Non ci sono risultati.

Nome e cognome ________________________________________ N. di matricola (10 cifre num.) ___________________________ UNIVERSITA' DEGLI STUDI DI BOLOGNA - CORSO DI LAUREA IN INFORMATICA CORSO DI SISTEMI OPERATIVI - ANNO ACCADEMICO 2002/2003 GESTIONE RISORSE

N/A
N/A
Protected

Academic year: 2021

Condividi "Nome e cognome ________________________________________ N. di matricola (10 cifre num.) ___________________________ UNIVERSITA' DEGLI STUDI DI BOLOGNA - CORSO DI LAUREA IN INFORMATICA CORSO DI SISTEMI OPERATIVI - ANNO ACCADEMICO 2002/2003 GESTIONE RISORSE"

Copied!
1
0
0

Testo completo

(1)

Nome e cognome ________________________________________ N. di matricola (10 cifre num.) ___________________________

UNIVERSITA' DEGLI STUDI DI BOLOGNA - CORSO DI LAUREA IN INFORMATICA CORSO DI SISTEMI OPERATIVI - ANNO ACCADEMICO 2002/2003

GESTIONE RISORSE - 9 giugno 2003

Esercizio -1: essersi iscritti correttamente per svolgere questa prova.

Esercizio 0: Scrivere correttamente nome, cognome e numero di matricola prima di svolgere ogni altro esercizio seguente.

Esercizio 1: Un docente che riceve al secondo piano del dipartimento di informatica dell'Università di Bologna è preoccupato per le lunghe code che si creano in orario di ricevimento. Suggerisce allora agli studenti di organizzarsi in modo tale da minimizzare il tempo di attesa (degli studenti), basandosi su queste informazioni: ad ogni istante t, l'orario di arrivo e il tempo richiesto degli studenti arrivati fino all'istante t. L'ordine di arrivo e il tempo previsto di servizio degli studenti è il seguente:

Studente S1 S2 S3 S4 S5 S6 S7 S8 S9

Orario arrivo 14.00 14.00 14.00 14.20 14.30 14.30 14.30 14.50 14.50

Tempo richiesto (m) 18 12 25 15 25 5 13 3 15

a) Si consideri il caso in cui il docente sia non-preemptive. Mostrate il diagramma di Ganntt del docente. Qual è l'algoritmo seguito?

Qual è il tempo di attesa massimo, medio e minimo?

b) Si consideri il caso in cui il docente sia preemptive. Mostrate il diagramma di Ganntt del docente. Qual è l'algoritmo seguito? Qual è il tempo di attesa massimo, medio e minimo? Ci sono differenze? Se sì, spiegare perchè. Se no, spiegare perchè.

Esercizio 2: Si consideri un disco con 100 cilindri con una velocita' di seek di 1ms per cilindro. (La velocità non è realistica per almeno un ordine di grandezza ma è utile per fare i calcoli in modo semplice). Si mostri una sequenza di richieste (minimale ma non banale) nella quale SCAN impieghi meno di un quarto del tempo necessario a FCFS per soddisfare lo stesso insieme di richieste.

Esercizio 3: Sia dato un sistema nel quale esistono N classi di risorse e un numero uguale N di processi. Ogni classe di risorsa contiene N-1 istanze. Ad un certo istante il sistema si trova in una situazione di deadlock determinata dalla situazione seguente: ogni processo i ha una risorsa di ogni classe di indice diverso da i e richiede una risorsa della classe i.

A) si vuole risolvere il deadlock aggiungendo istanze di risorse

A1) è sufficiente aggiungere una sola istanza in una classe scelta casualmente A2) occorre aggiungere una risorsa ad ogni classe

A3) occorre aggiungere N-1 risorse in una classe scelta a caso A4) occorre aggiugnere N-1 risorse in ogni classe

A5) non e' possibile uscire dalla situazione di deadlock aggiugnendo istanze di risorsa Motivare la risposta

B) si vuole risolvere il deadlock facendo preemption (liberando assegnazioni di risorse)

B1) è sufficiente fare preemption di una singola assegnazione scelta a caso fra le (N2-N) presenti B2) occorre fare preemption di tutte le assegnazioni di un processo preso a caso

B3) occorre fare preemption di una assegnazione per ogni processo scelta casualmente

B4) occorre fare preemption di una assegnazione per ogni processo scelta secondo uno schema predefinito B5) solo facendo preemption di tutte le assegnazioni si puo' eliminare il deadlock

Motivare la risposta

Riferimenti

Documenti correlati

Un solo processo alla volta deve essere in esecuzione (fra quelli che hanno chiamato init e non ancora fini), yield deve fare avvicendare i processi, deve attivare quello a priorita'

Esercizio 0: Scrivere correttamente nome, cognome, matricola e posizione prima di svolgere ogni altro esercizio. Esercizio 1: Considerare I seguenti processi gestiti mediante

Un solo processo alla volta deve essere in esecuzione (fra quelli che hanno chiamato init e non ancora fini), yield deve fare avvicendare I processi in ordine ciclico (come se

Esercizio 0: Scrivere correttamente nome, cognome, matricola e posizione prima di svolgere ogni altro esercizio.. Esercizio 1: Un servizio prevede N tipi di

Il gestore i-mo gestisce prioritariamente (e non esclusivamente) le richieste di tipo i, ma se non ci sono richieste di tipo i il gestiore i-mo riceve una richiesta della coda con

Esercizio 0: Scrivere correttamente nome, cognome, matricola e posizione prima di svolgere ogni altro esercizio.. Esercizio 1: Scrivere un monitor sbb che implementi un buffer

Esercizio 3: Scrivere un servizio di message passing asincrono (quello classico che consenta alla arecv di aspettare un messaggio da un utente specifico o da tutti usando '*')

Esercizio 0: Scrivere correttamente nome, cognome, matricola e posizione prima di svolgere ogni altro esercizio.. Esercizio 1: Sia dato un servizio di pronto soccorso con piu' di