Unibo Logo

Sistemi Operativi
2016-2017

Renzo Davoli

 
 Home
 Informazioni generali
 Sistemi Operativi
 Attività di Laboratorio
 Materiale
 Studenti AA passati

Regolamento d'esame del corso di Sistemi Operativi v.0.1 AA 2015/16

L'esame di Sistemi Operativi è composto da un progetto, una prova pratica in laboratorio, una prova scritta, e (opzionalmente) da una prova orale.
Sono previsti sei appelli (Maggio, Giugno, Luglio e Settembre 2016, Gennaio e Febbraio 2017) per la prova scritta e la prova pratica. Il progetto prevede una collaborazione durante lo svolgimento delle lezioni. La prima parte va consegnata a Febbraio 2016 ed esistono tre date di consegna per la seconda parte, tendenzialmente a Giugno, Luglio e Settembre 2016.

Progetto

Il progetto è diviso in due fasi obbligatorie più attività facoltative. Le due fasi vengono consegnate a date stabilite, di norma la prima fase a fine febbraio e la seconda con diverse scadenze poste fra giugno e agosto. Il progetto verrà svolto da gruppi di 4 persone. Il progetto verrà discusso separatamente (molto probabilmente alla presenza uno o due assistenti) Esiste un "progetto di recupero" per chi non riesce a superare la sufficienza nel progetto "ordinario". Serve per gli studenti che desiderino "recuperare" la situazione per poter completare l'esame negli appelli straordinari di gennaio e febbraio.

Prova Pratica

La prova pratica riguarderà shell scripting, programmazione di sistema, programmazione python e amministrazione di sistema.
Lo svolgimento della prova pratica avviene in un laboratorio del dipartimento, e la consegna avviene tramite e-mail al docente. La prova pratica è seguita da una discussione, il cui scopo è di verificare la vostra preparazione e  che lo svolgimento sia farina del vostro sacco.

Prova Scritta

Ogni scritto è suddiviso in due "parti" 
  • programmazione concorrente

  • Sarà richiesto di risolvere alcuni problemi di concorrenza, utilizzando le primitive viste a lezioni (semafori, monitor, etc.)

  • parte generale

    Questa prova è una sorta di orale. Le domande verteranno su tutto il corso, e potranno richiedere un certo ragionamento (ovvero, non saranno solo nozionistiche).
Sebbene diviso in due parti il compito è unico e non è possibile consultare nessun documento durante lo svolgimento della prova. Per poter superare la prova scritta è necessario (ma non sufficiente) ottenere un voto almeno quasi sufficiente (i.e. almeno 16/30) in ognuna delle due parti. Il voto di uno scritto e' valido per l'intero anno accademico (fino all'appello di febbraio), se uno studente che ha ottenuto una valutazione sufficiente si presenta per sostenere nuovamente la prova scritta perde la valutazione precedente. Il voto (in trentesimi) e' composto da:
  • 1 punti per l'esercizio -1 (essersi iscritti per sostenere l'esame)
  • 1 punti per l'esercizio 0 (scrivere correttamente il proprio nome e cognome, la matricola e la posizione nell'aula (riga e colonna).
  • 30 punti per i rimanenti esercizi
Esiste quindi un "bonus" di due punti per l'esercizio 0 e -1. Nelle prove scritte il voto massimo e' comunque 30 (31 e 32 verranno considerati 30), il voto minimo 0. Fatta salva la condizione necessaria vista sopra, la prova si intende superata se il voto finale è di almeno 18/30.

Al termine dello svolgimento della prova verrà immediatamente mostrata la soluzione. A questo punto è possibile ritirare il compito per impedirne la valutazione. Compiti non ritirati che risultino gravemente insufficienti (minore di 10/30) comporteranno la perdita del "bonus" dell'esercizio 0 e -1 per la prova successiva. I voti delle prove scritte vengono pubblicati sul mailing list in forma anonima (matricola/voto); per i voti gravemente insufficienti viene indicato solo GINS (gravemente insufficiente).

È caldamente consigliato allo studente di prendere visione del compito consegnato una volta corretto. Il compito può essere visionato il giorno degli orali oppure a ricevimento se lo studente potrà documentare impegni improrogabili per il giorno degli orali. Questo suggerimento serve a voi studenti per forzarvi a prendere coscienza dei vostri errori nella speranza che non vengano ripetuti in futuro.

Il voto di Sistemi Operativi

Superate tutte le prove e' possibile calcolare il voto proposto che viene calcolato come media ponderata fra voto del progetto (25%) prova pratica (25%) e scritto (50%). Il voto deve essere arrotondato all'intero piu' vicino, il mezzo punto esatto viene arrotondato al voto piu' alto. E' possibile chiedere la registrazione del voto proposto come voto del corso tramite mail al docente. La mail con subject "esame sistemi operativi: voti" deve contenere: la propria matricola, voto dello scritto e data di svolgimento, voto del progetto e data di discussione, voto della prova pratica e data di svolgimento.

Prova Orale

La prova orale è facoltativa. Per accedere all'orale, è necessario conseguire una votazione di almeno 18 in tutte le prove (scritto, progetto, prova pratica). La prova orale e' obbligatoria solo per chi vuole ottenere la valutazione di 30 e lode nell'esame di sistemi operativi. Per la lode occorre dimostrare non solo la conoscenza dei temi trattati nel corso ma una effettiva predisposizione per la materia e uno specifico interesse personale. La valutazione finale prende come punto di partenza i voti ottenuti nelle altre prove: può essere la stessa valutazione, subire un incremento o un decremento in base al grado di preparazione dello studente.

Facilitazioni per studenti in difficoltà

Nei primi quattro appelli dell'Anno Accademico, cioé prima del 30 settembre 2016, è possibile per gli studenti in difficoltà superare l'esame di Sistemi Operativi con minori richieste (e minor voto finale)
E' possibile chiedere la registrazione del voto 18 svolgendo esclusivamente la prova scritta con esito almeno sufficiente.
Lo studente che ha superato lo scritto e la prova pratica ottenendo voti sufficienti puo' chiedere la convalida dell'esame. Se la media dei due voti e' inferiore a 22, la media sara' il voto finale. Se la media e' maggiore o uguale a 22 il voto attribuito sara' 22.

Il Programma dello Studente


Il "programma dello studente di SO" è il seguente (se alla fine del corso di SO non sapete capire questo programma, allora siete nei guai!)

// Inizializzazione
int votoSO = 0;
int votoScritto = 0;
int votoProgetto = 0;
int votoProvaPratica = 0;

// Ripeto finchè non passo l'esame di SO
do {

  // Partecipo alle prove fino a quando non ottengo la sufficienza e non sono sono soddisfatto
  cobegin {
    // Svolgo il progetto
    voto_Phase1= do_consegna_phase1()
    voto_Phase2= do_consegna_phase2()
    if (voglio fare la parte facoltativa)
     voto_Phase3= do_consegna_phase3()
    else
     voto_Phase3=0
    votoProgetto = (voto_Phase1 * 5) + (voto_Phase2 * 25) / 30
    if (votoProgetto > 27 && voto_Phase3 > 18)
     votoProgetto += funzionediscrezionale(votoProgetto,voto_Phase3)
    if (votoProgetto < 18)
     return failure

  } // {
    // Supero la Prova Pratica
    do {
     votoProvaPratica = do_Prova_Pratica()
    while (votoProvaPratica < 18 || non sono soddisfatto del voto della Prova Pratica
    if (studente_in_media_difficoltà && votoScritto >= 18) {
    votoSO = MIN(22, (votoScritto + votoProvaPratica)/2);
    return;
   }

  } // {
    do {
     votoScritto = partecipoScritto();
   } while ( (votoScritto < 18 || non sono soddisfatto del voto dello scritto)
   if (studente_in_grande_dificoltà) {
    votoSO = 18;
    return;
   } else if (studente_in_media_difficoltà && votoProvaPratica >= 18) {
    votoSO = MIN(22, (votoScritto + votoProvaPratica)/2);
    return;
   }
  } /* end of cobegin */

  // Calcola la media
  voto_proposto = votoProgetto * 0.25 + votoProvaPratica * 0.25 + votoscritto * 0.5;

  // Decido se partecipare o meno all'orale
    if (non voglio partecipare all'orale) {
     votoSO = votoproposto;
   else
     votoSO = partecipoOrale(votoproposto);

  // Se ho partecipato all'orale e prendo un voto gravemente insufficiente,
  // il docente può decidere di annullare lo scritto
  if (votoSO molto minore di 18) {
    votoScritto = 0;
  }
} while (votoSO < 18);

Iscrizione all'esame

  • L'iscrizione alle prove avviene attraverso almaesami
  • In difetto di iscrizione, è possibile venir esclusi dalla partecipazione alle prove. (di norma ogni prova viene preparata per qualche studente in piu' rispetto agli iscritti, se il materiale non dovesse essere sufficiente, e.g. fotocopie del testo, tutti i non iscritti non possono svolgere la prova)


Validità degli esami

Vi sono alcune regole per quanto riguarda la validità delle varie prove. Alcune regole aggiuntive possono essere trovate nelle prossime sezioni, riguardanti regole transitorie.

Progetto:
  • ogni anno, vengono presentati progetti diversi; gli studenti sono tenuti a lavorare al progetto dell'A.A. corrente (o al progetto di riserva dell'A.A. corrente per la sessione straordinaria).
  • il voto ottenuto per il progetto è valido unicamente nei sei appelli previsti per l'anno accademico corrente (da giugno 2016 a febbraio 2017)
  • gli studenti che hanno consegnato il progetto dell'anno corrente ma non hanno completato le prove del corso entro febbraio 2017 perdono tutte le prove di Sistemi Operativi (compreso il progetto) e dovranno lavorare al progetto dell'a.a. successivo; il motivo di questa scelta sono due: vogliamo evitare di complicare una contabilità di esami, progetti, prove, etc. già molto complessa, e vogliamo punire chi affronta questo esame in un periodo di tempo troppo lungo.
  • verranno proposti due tipi differenti di progetto. Il progetto "guidato" (uno per anno) verrà svolto in gruppi di massimo 4 persone, l'implementazione sara' oggetto di discussione durante tutto il corso, fornendo le specifiche e rispondendo alle domande degli studenti a lezione durante l'anno. Prevede la consegna di una prima fase a gennaio/febbraio e di una seconda fase a giugno/agosto. Non vi saranno altre date disponibili per la consegna del progetto. È il tipo di progetto più caldamente consigliato.
    La prima fase avra' una valutazione "binaria" (sufficiente/insufficiente) e fornisce 5 punti dei 30 complessivi. E' utile per prendere confidenza con gli strumenti, le metodologie di lavoro e di valutazione previste per i progetto senza pregiudicare il lavoro finale.
  • il secondo tipo di progetto è quello "di riserva". Saranno date le specifiche di un progetto di riserva per chi intenda consegnare il progetto negli appelli di gennaio/febbraio 2017. Per il progetto di riserva non verrà dato supporto in aula. Eventuali dubbi o domande sulla realizzazione verranno considerati solamente a ricevimento. Tale forma di progetto è didatticamente meno valida e quindi sconsigliata, in quanto separa il momento dello studio della teoria da quello dell'implementazione.

Vecchia Laurea 3+2, Vecchia laurea quinquennale e vecchia laurea quadriennale

Contattare il docente per concordare le modalità di esame.

"Cheating policies"

Ovvero, quali sono le politiche nel caso vi sorprendiamo a copiare? Innanzitutto, copiare è come giocare alla lotteria . E' ovvio (e lo ammettiamo tranquillamente) che è impossibile scoprire ogni fenomeno di copiatura. Quindi se copiate, c'è una probabilità non nulla che non siate scoperti. In questo caso, non ci sono particolari punizioni; "vincete" qualche punto in più all'esame, perdete l'opportunità di studiare e capire una parte del corso. Ma se venite scoperti, quello che potete "vincere" è un'espulsione dallo scritto, la valutazione del compito come "gravemente insufficiente", e un certo numero di punti di penalizzazione al voto finale. Nei casi più gravi, come la copiatura dei progetti, rischiate la sospensione dell'esame nell'intero anno accademico. Negli Stati Uniti (ma non qui, purtroppo), le "cheating policies" includono addirittura l'espulsione dall'Università, in caso di eventi ripetuti.

Queste sono le politiche:
  • Durante i compiti scritti, è proibito comunicare in qualunque modo con gli altri studenti (sia verbalmente, che in forma scritta o elettronica - bigliettini, SMS, rete wireless, infrarossi, etc), per qualunque motivo (anche fosse solo per chiedere una penna). E' altresì vietato consultare documentazione di ogni genere e con ogni mezzo. Nel caso veniate sorpresi a comunicare o a consultare documenti che non siano il testo di esame o il vostro elaborato, sia durante il compito che al momento della consegna, il compito verrà annullato. L'annullamento riguarda entrambi gli estremi della comunicazione, sia la sorgente che la destinazione.
  • Il compito potrà essere annullato anche in caso di manifesta copiatura scoperta nel corso della correzione degli scritti. Anche in questo caso, l'annullamento riguarda sia chi copia che chi ha permesso di copiare.
  • Per quanto riguarda i lavori di gruppo, questi devono essere svolti dai componenti del gruppo. Questo significa che tutti devono contribuire al progetto, e devono essere a conoscenza delle varie parti dello stesso. Il voto dato al progetto è personale: ovvero, se il vostro gruppo consegna un buon progetto, ma non siete in grado di dimostrare di aver partecipato alla sua realizzazione, il vostro voto potrà essere inferiore a quello degli altri componenti, o, nei casi più gravi, vi potrà essere richiesto di ripresentare un nuovo progetto.
  • Tutti i lavori presentati dovranno essere originali. Progetti che risultino generati per copia del lavoro di colleghi comporteranno l'annullamento dell'intero lavoro. Questo non significa che i gruppi non possano collaborare scambiando idee e concetti, pero' non codice!

Durante i compiti

  • Nella prova pratica, è consentito consultare libri, quaderni e ogni documentazione; è anche possibile utilizzare qualsiasi apparato. Eccezioni: 
    • non è consentito consultare persone.
    • gli apparati non devono consentire comunicazione (cellulari, laptop o palmtop con interfaccia radio o infrarosso...).
    • si può consultare o utilizzare solo materiale proprio, è vietato lo scambio di qualsiasi oggetto (penna, gomma, foglio, libro o altro).
  • Nel compito scritto non è possibile consultare alcun tipo di documentazione. E' come fare un orale.
  • In caso venga scoperto uno scambio di informazione fra studenti sia durante il compito sia durante la consegna, l’elaborato degli studenti coinvolti verrà annullato.
  • Non è consentito uscire ne' spostarsi dal posto assegnato durante lo svolgimento del compito. E' ovviamente consentito in ogni momento allo studente di ritirarsi dalla prova e lasciare l'aula.
  • Il compito deve essere consegnato in ogni caso. Se desiderate che il vostro compito non venga valutato scrivete nel primo foglio “NON VALUTARE” .
  • Ogni domanda o richiesta deve essere fatta pubblicamente e altrettanto pubblica sara' la risposta in modo che tutti gli studenti abbiano a disposizione gli stessi elementi per lo svolgimento della prova.
  • Il testo del compito viene letto pubblicamente e discusso con gli studenti all'inizio della prova in modo che non ci siano dubbi di interpretazione o fraintendimenti. Di norma le domande sul testo dovrebbero concentrarsi nel momento di discussione per consentire a tutti di concentrarsi sullo svolgimento degli esercizi senza interruzioni.
  • Gli esercizi devono essere svolti negli spazi assegnati. Tutto ciò che verrà scritto al di fuori degli spazi assegnati non è soggetto a correzione. Non sono accettati fogli aggiuntivi.
  • Esistono nel compito due esercizi standard: l’esercizio 0 (Scrivere correttamente il proprio nome e cognome e numero di matricola su tutti i fogli) e l’esercizio -1 (essersi iscritti correttamente per svolgere la prova). L'esercizio 0 va svolto per primo, prima di ogni altro esercizio, appena ricevuto il testo del compito.Durante lo svolgimento del compito si deve lasciare sul tavolo il libretto universitario. 
  • I testi del compito vengono resi pubblici alla fine della prova. Chi desidera una copia residua del testo la potrà avere solamente quando tutti i colleghi avranno consegnato. 
  • Gli esercizi devono essere scritti a penna blu o nera (il rosso serve per la correzione). Non è gradita la presenza di abrasioni, l’uso di bianchetto e simili correttori. 
  • I compiti verranno forniti ai rispettivi autori durante la correzione pubblica (il giorno della prova orale dello stesso appello) perchè possano controllare gli errori compiuti e chiedere eventuali spiegazioni ma vanno restituiti. 
  • Quando un esercizio richiede di utilizzare uno specifico paradigma per la programmazione concorrente (monitor, semafori, message-passing, regioni critiche condizionali) si deve usare solo il paradigma richiesto. Busy wait non deve essere mai usato con semafori, monitor(!) e message passing. Le variabili condition sono signal-urgent e i semafori FIFO, salvo diversamente specificato.