Unibo Logo

Sistemi Operativi
2011-2012

Renzo Davoli

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

Regolamento d'esame del corso di Sistemi Operativi v.0.7

L'esame di Sistemi Operativi è composto da un progetto, una prova pratica in laboratorio, una prova scritta, e (opzionalmente) da una prova orale.

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)

Prova Pratica

La prova pratica riguarderà shell scripting, programmazione di sistema 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 "prove"  indipendenti:
  • programmazione concorrente

  • Il contenuto di questa prova non cambierà rispetto agli anni passati. Sarà richiesto di risolvere alcuni problemi di concorrenza, utilizzando le primitive viste a lezioni (semafori, monitor, etc.) Durante questo compito, sarà possibile consultare qualunque tipo di documentazione.

  • parte generale

    Questa prova è una sorta di pre-orale, che in alcuni casi potrà dare origine al voto definitivo senza passare per l'orale vero e proprio. Per questo motivo, non sarà possibile consultare documentazione durante questa prova. Le domande verteranno su tutto il corso, e potranno richiedere un certo ragionamento (ovvero, non saranno solo nozionistiche).
Con indipendenti, si intende che durante uno scritto uno studente può partecipare ad una o a entrambe le prove.  Se partecipate ad una prova, perdete ogni voto acquisito in precedenza relativamente a quella prova, anche in caso di ritiro.

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 comportano una penalizzazione nella prima prova consegnata successivamente.

È 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.

Durante il corso, si svolgeranno uno o due midterm (scritti parziali) relativi agli argomenti di concorrenza e parte generale. La logica dietro questa scelta è incentivare lo studio durante il periodo delle lezioni non quella di creare ulteriori appelli durante l'anno (fra l'altro, questo comportamento è espressamente vietato dal regolamento di corso di studi, per evitare interruzioni nella continuità didattica).

Prova Orale

Per accedere all'orale, è necessario conseguire una votazione di almeno 18 in tutte le prove. Il voto finale dello scritto è dato dalla media dei due voti. Per il voto dello scritto, è previsto una sorta di sbarramento: se prendete un voto scritto inferiore a 24, potete registrare il voto senza passare per l'orale. Se vi sentite più preparati del voto dello scritto, potete comunque fare l'orale. Nel caso prendiate un voto superiore o uguale a 24, è necessario fare l'orale per confermarlo. Altrimenti, prendete il voto massimo che si può ottenere senza fare l'orale, ovvero 23. Nel caso facciate l'orale e vi dimostriate molto insufficienti, è possibile che i voti degli scritti siano annullati.

Il docente si riserva la possibilità di ammettere all'orale studenti che abbiano conseguito votazioni lievemente inferiori a 18, secondo regole che verranno comunicate di volta in volta.

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 votoConcorrenza = 0;
int votoParteGenerale = 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 * 0.2) + (voto_Phase2 * 0.8)
    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

  } // {
    do {
      if (votoConcorrenza < 18 || non sono soddisfatto del voto di concorrenza
        votoConcorrenza = partecipoScrittoConcorrenza();
      if (votoParteGenerale < 18 || non sono soddisfatto del voto di parte generale
        votoParteGenerale = partecipoScrittoParteGenerale();
     } while (votoConcorrenza < 18 || votoParteGenerale < 18 || non sono soddisfatto);
    }

  // Calcola la media
  voto_proposto = votoProgetto * 0.2 + votoProvaPratica * 0.2 + votoConcorrenza * 0.3 + votoParteGenerale * 0.3;

  // Decido se partecipare o meno all'orale
  if (voto_proposto < 24) {
    if (sono soddisfatto di un voto mediocre)
      votoSO = voto_proposto;
    else
      votoSO = partecipoOrale();
  } else {
    if (non voglio partecipare all'orale) {
      votoSO = 23;
    else
      votoSO = partecipoOrale();
  }

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

Esempi:

Lo studente Tizio partecipa al primo mid-term (programmazione concorrente). Ottiene una votazione di 27, e è soddisfatto. Partecipa anche al secondo mid-term (parte generale), e prende 21. Non ritiene sufficiente questo voto,  e in gennaio, in corrispondenza del primo appello, partecipa solo alla prova relativa alla parte generale. Questa volta, prende come voto 29. Ha inoltre preso 26 nella prova pratica e 30 nel Progetto. La media pesata è 28. Può accedere all'orale. Se non vuole partecipare all'orale, prende 23.

Lo studente Caio partecipa al primo mid-term. La votazione che ottiene è 17. In seguito, partecipa anche al secondo mid-term, e questa volta ottiene 25. Purtruppo, essendo 17 non sufficiente, non può ancora accedere all'orale. In gennaio, decide di partecipare di nuovo ad entrambe le prove. Entrambi i voti precedenti vengono cancellati. Questa volta, prende 20 e 22. Al progetto ottiene la valutazione di 25 ma alla prova pratica prende 18. La media è 21.2, e può partecipare all'orale, oppure registrare 21 come voto finale.

Iscrizione all'esame

  • Gli esami (scritti, orali, prove pratiche) vengono annunciati tramite newsgroup, tramite questo sito e tramite il sito informatica.unibo.it.
  • L'iscrizione avviene secondo le modalità annunciate nel newsgroup; leggete attentamente il messaggio.
  • In difetto di iscrizione, non è possibile partecipare allo scritto.


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, e non quello dell'a.a. in cui (per la prima volta) hanno partecipato al corso
  • il voto ottenuto per il progetto è valido unicamente nei sei appelli previsti per l'anno accademico corrente (da giugno 2010 a febbraio 2011)
  • gli studenti che hanno consegnato il progetto dell'anno corrente ma non hanno superato la prova pratica entro febbraio 2011 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à discusso 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/luglio. Non vi saranno altre date disponibili per la consegna del progetto. È il tipo di progetto più caldamente consigliato.
  • il secondo tipo di progetto è quello "libero". Saranno date le specifiche di 5 progetti liberi per chi intenda consegnare il progetto negli appelli di settembre 2008 o di gennaio/febbraio 2009. Per i progetti liberi 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

Gli studenti della laurea 3+2 (DM 509/99) dovranno fare tutte le prove previste per gli studenti del nuovo ordinamento (DM 270/2004) e inoltre dovranno scrivere e discutere una breve tesina da concordare col docente.

Vecchia quinquennale e vecchia laurea quadriennale

Contattare il docente per concordare le modalità di esame.

"Cheating policies"

Ovvero, quali sono le nostre 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, un certo numero di punti al voto finale, o addirittura (nei casi più gravi, come la copiatura dei progetti) 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). Nel caso veniate sorpresi a comunicare, 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.
  • Le esercitazioni periodiche devono essere svolte singolarmente. Sebbene sia caldamente consigliato consultarsi con i colleghi per risolvere difficoltà, consigliarsi a vicenda, copiare "pari pari" il codice di un vostro collega non è tollerato.
  • 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.

Durante i compiti

  • Nel compito di concorrenza e 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 sulla parte generale 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 durante lo svolgimento del compito.
  • Il compito deve essere consegnato. Se desiderate che il vostro compito non venga valutato scrivete nel primo foglio “NON VALUTARE” .
  • Non sono accettate domande sul testo dopo la spiegazione pubblica iniziale.
  • 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 lo usiamo noi). Non è gradito l’uso di bianchetto e simili correttori. 
  • I compiti verranno forniti ai rispettivi autori durante la correzione pubblica 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.