Voti Preappello 12/12/2007
Ho finito la correzione del compito del 12/12. Trovate i voti nella bacheca I-M in dipartimento.
Non metto i voti su internet a causa di normative contraddittorie (non posso mettere i voti su internet associati a nomi e cognomi, e, d'altra parte, gli esami sono pubblici).
Chi volesse vedere il compito può passare da me giovedì (17/1) mattina dalle 10 alle 12.
Giudizio Sintetico
Su 54 compiti consegnati (ritirati esclusi) ce sono 15 sotto la soglia di sufficienza (17 – tutti i voti compresi fra 17 e 18 compaiono come 18). Nessuno di questi, peraltro, va oltre il 15,5.
I mezzi punti sono stati arrotondati all'intero superiore. La suddivisione dei punteggi per esercizio è stata la seguente:
- Q1: 5
- Q2: 5
- Q3: 6
- Q4: 16
La media dei voti sufficienti è circa 22. Le medie per esercizio sono distribuite in questo modo:
Esercizio | Media | Max | Rapporto |
---|---|---|---|
Q1 | 3.6 | 5 | 72% |
Q2 | 4 | 5 | 81% |
Q3 | 4.6 | 6 | 76% |
Q4 | 6.3 | 16 | 39% |
Ne possiamo concludere che, tutto sommato, la parte teorica è stata studiata, anche se non perfettamente compresa. Il risultato non perfetto della terza domanda è probabilmente da attribuirsi al fatto che molti non hanno studiato i dettagli delle primitive System V, o hanno risposto in modo troppo generale.
Nella parte pratica, invece, ci sono notevoli carenze. L'esercizio di per sè non era particolarmente complesso: si trattava di gestire la mutua esclusione nell'attribuzione delle piste. Le due varianti, molto simili, richiedevano un minimo di coordinamento, i.e., fare sì che i thread-aereo evitassero di mettersi in competizione in presenza di thread con priorità maggiore.
Principali errori
Ecco una lista dei principali errori riscontrati nella correzione:
- Q1: la richiesta deve essere eseguita o rifiutata (il 72% della prima domanda è interamente dovuto ad un 50% di persone che hanno sbagliato questo punto).
- Q2: nessuno in particolare, molti hanno omesso le 4 condizioni o l'esempio, oppure non hanno trattato la detection; tenete conto che la detection si può fare sia con l'analisi del grafo in sistemi con molteplicità 1 per ciascuna risorsa sia con metodi affini all'algoritmo del banchiere.
- Q3: la richiesta era esplicitamente di trattare 2 fra semafori System V, memoria condivisa e message queue; trattandosi di una domanda relativa alle esercitazioni, sarebbe stato utile trattare anche i dettagli tecnici.
- Q4: molti errori concettuali, fra cui:
- Mischiare costrutti relativi a processi e thread;
- Svolgere tutta la computazione in mutua esclusione;
- Eseguire un'attesa (wait su semaforo) all'interno di una sezione critica;
- Eseguire una attesa, ma non rilasciare la risorsa;