• SCHEDE DI VALUTAZIONE DELLA DIDATTICA:

    Benche` generalmente siano riservate al solo docente, le schede di valutazione della didattica degli anni precedenti sono qui disponibili per la consultazione da parte di tutti.


  • OBIETTIVI DEL CORSO:

    Il modulo presenta i principali strumenti metodologici per l'analisi del software di sistema, con particolare riferimento al S.O. UNIX. Nella prima parte viene introdotto il modello a processi di un S.O., unitamente alla gestione delle risorse hardware di sistema. Nella seconda parte vengono illustrate le principali caratteristiche di UNIX sia come visione utente che come programmazione di sistema.

  • PROGRAMMA DEL CORSO:

    Prima Parte:
    Introduzione ai sistemi operativi. Sistemi batch, time-sharing, spooling. Parallelizzazione di elaborazione e I/O. Il sistema di interruzione: interruzione da dispositivo e da timer. Gestione delle interruzioni. Modello di un semplice sistema operativo e tecniche di incremento delle prestazioni. Multiprogrammazione e modello a processi. Sistema di protezione. Modi di funzionamento della CPU. Chiamate di sistema. Gestione dell'I/O. Struttura a livelli del sistema operativo. Concetto di processo. Stato del processo. Descrittore del processo. Processi concorrenti. Modello di interazione a memoria condivisa. Mutua esclusione e sezioni critiche. Semafori e primitive di sincronizzazione. Cooperazione e competizione tra processi mediante semafori. Il modello di interazione a scambio di messaggi e le primitive send/receive. Algoritmi di scheduling della CPU.

    Seconda Parte:
    Introduzione a UNIX e ad alcune versioni attuali (Solaris e Linux).Struttura del file system di UNIX. Diritti e meccanismi di protezione. Principali comandi di sistema. Redirezione e piping di comandi. Interpreti comandi. Modalità di esecuzione foreground/background. Organizzazione fisica del file system. Primitive per la gestione dei file e dell'I/O. L'immagine in memoria di un processo UNIX. Primitive per la gestione dei processi. Creazione, esecuzione e terminazione.Sincronizzazione e comunicazione tra processi: segnali, pipe/fifo e socket. Esercitazioni su server Linux presso il Laboratorio Informatica di base. Esercizi su comandi e shell. Esercizi sulla interazione di processi UNIX.


  • CREDITI FORMATIVI DEL CORSO:

    5 Crediti (CFU), equivalenti a circa:
    • 38 ore di lezione
    • 10 ore di esercitazioni

  • SUDDIVISIONE DEL CORSO IN 2 GRUPPI:

    I due gruppi, seguiti ognuno da un docente, sono cosi' suddivisi:
    • Gruppo I: Elettronici e Telecomunicazionisti, Prof. Alberto Broggi
    • Gruppo II: Informatici, Prof. Francesco Zanichelli
    Questa pagina e` dedicata al Gruppo I.

  • ORARIO DELLE LEZIONI AA 2005/06 - II SEMESTRE:

    Gruppo I (Prof. Alberto Broggi):
    • Mercoledi` ore 14:30 - 16:30 (aula P+Lab)
    • Venerdi` ore 14:30 - 16:30 (aula P)


  • PROSPETTO DELLE LEZIONI:

    E` possibile consultare il
    calendario completo delle lezioni del gruppo 1 che viene aggiornato con puntualita`.

  • RICEVIMENTO STUDENTI:

    Gruppo I (Prof. Alberto Broggi):
    • dopo le lezioni;
    • Per appuntamento (via e-mail o telefono)
      Dip. di Ingegneria dell Informazione
      Palazzina 1, primo piano.

  • INFORMAZIONI AGGIORNATE SUL CORSO:

    http://www.ce.unipr.it/broggi/sisopa (questa pagina)

  • MODALITA` DI ESAME:

    L'esame e' suddiviso in due parti. Gli studenti in corso possono usufruire delle prove in itinere:
    • una a meta` corso;
    • una al termine (coincidente con il primo appello).
    Entrambe le prove (non necessariamente sostenute con successo nella stessa sessione) devono essere sufficienti; Il voto finale e` calcolato come media delle due prove. In particolare, per calcolare il voto finale uso questo algoritmo:
    
    voto1 e' il voto della prima prova
    voto2 e' il voto della seconda prova
    votof e' il voto finale
    
    18= equivale a 16
    18- equivale a 17
    30+ equivale a 31, ma:
      if ((voto1==31) && (voto2<27)) voto1=30;
      if ((voto2==31) && (voto1<27)) voto2=30;
    
    votof = (voto1 + voto2 + 1)/2;
    
    if (votof<18) printf("insufficiente");
    else if (((voto1==31) && (voto2==29)) || ((voto2==31) && (voto1==29)) || (votof>30))
      printf("voto finale = 30 e lode");
    else printf("voto finale = %d", votof);
    


    Se una prova risulta insufficiente (o non si e` soddisfatti dell'esito di una prova), e` possibile sostenerla nuovamente nelle successive sessioni d'esame. Ogni sessione di esame consentira` di sostenere la prima e/o la seconda parte.

    I risultati delle prove scritte vengono pubblicati su questa pagina web e vengono esposti nella bacheca di facolta'.

  • CONTENUTO DELLE PROVE D'ESAME:

    Le prove d'esame consistono di:
    • tre domande di teoria con risposta aperta (la prima),
    • un esercizio al calcolatore in laboratorio (la seconda). Non e' possibile portare con se' nulla: tutto il materiale didattico del corso e' disponibile sulla rete del laboratorio.
    Ogni prova dura 90 minuti.

  • PROVE D'ESAME DI ANNI SCORSI:

    Sono a disposizione alcune
    prove d'esame di anni scorsi con alcune soluzioni.

  • CALENDARIO DEGLI ESAMI:

    PROSSIMI APPELLI:

    • Consultare il sito iscrizionet per gli appelli ordinari; appello straordinario il giorno 25/11.

    Gli interessati sono pregati di iscriversi agli appelli utilizzando il sistema di iscrizione elettronica di Facolta`:
    • 1 parte, elettronici, iscriversi qui
    • 2 parte, elettronici, iscriversi qui
    • 1 parte, telecomunicazionisti, iscriversi qui
    • 2 parte, telecomunicazionisti, iscriversi qui
    Si ricorda che chi non e` iscritto puo` sostenere la prova, ma il suo esame NON VERRA` VALUTATO.


  • RISULTATI DEGLI ULTIMI APPELLI:

    Sono disponibili
    alcune soluzioni dei compiti


    Appello straordinario del 25/11/09:
    • Risultati, corso di Laurea in Ingegneria Elettronica e Telecomunicazioni.

    Quarto Appello del 23/9/09:
    • Risultati, corso di Laurea in Ingegneria Elettronica e Telecomunicazioni.

    Terzo Appello del 9/9/09:
    • Risultati, corso di Laurea in Ingegneria Elettronica e Telecomunicazioni.

    Secondo Appello del 22/7/09:
    • Risultati, corso di Laurea in Ingegneria Elettronica e Telecomunicazioni.

    Primo Appello del 24/6/09:
    • Risultati, corso di Laurea in Ingegneria Elettronica e Telecomunicazioni.

    Prova intermedia del 28 aprile 2009, prima parte:
    • Risultati, corso di Laurea in Ingegneria Elettronica e Telecomunicazioni.


  • REGISTRAZIONE DEGLI ESAMI:

    Coloro che hanno riportato un voto sufficiente nella prima e nella seconda parte possono chiedere la registrazione del voto.

    • Il giorno 2/12/09 alle ore 14.30 presso il mio studio; e' l'ultima data possibile per chi deve laurearsi a Dicembre.

    Chiaramente chi fosse impossibilitato a registrare nelle date riportate sopra, puo` registrare in occasione delle prossime date che verranno rese disponibili su questo sito web.


  • LUCIDI PRESENTATI A LEZIONE:

    I lucidi proposti durante il corso di Sistemi Operativi A sono scaricabili da qui. Sono in formato PDF (*.pdf). Per leggere il formato PDF serve Acrobat Reader scaricabile gratuitamente da qui.


  • ESERCIZI:

    Alcuni esercizi possono essere scaricati dalle
    pagine degli anni scorsi.

  • TESTI CONSIGLIATI:

    I lucidi sono tratti principalmente dal seguente testo:
    • W. Stallings, "Sistemi Operativi", Jackson Libri, 2000, principalmente dai calitoli 1, 2, 3, 4 (solo 4.1), 5 (solo 5.1, 5.2, 5.3, 5.4), 6 (solo 6.1 e 6.7), 9.
    Il testo non è considerato indispensabile ma può essere utile ad approfondire e a collegare i concetti introdotti nella parte di teoria.

    Il testo sopra riportato non e' piu' in stampa: possibili alternative:
    • A. Silbershatz, P. Galvin, "Sistemi Operativi - Concetti ed esempi," Addison-Wesley, 1998. (ora alla Quinta Edizione); i capitoli di interesse sono:
      cap. 1 - tutto
      cap. 2 - tutto
      cap. 3 - tutto
      cap. 4 - tutto tranne 4.6.2 e 4.6.3
      cap 6 - fino a 6.3 compreso (utile anche il 6.7.3)
      cap 7 - 7.1 e inizio 7.2 (no 7.2.1 e 7.2.2), 7.4 e 7.5.1
      cap 9 - 9.1,9.2 , 9.3.1
    • A.S. Tanenbaum, "I Moderni Sistemi Operativi," Jackson Libri, 1995.
    • Ancilotti, Boari, Ciampolini, Lipari, "Sistemi Operativi," McGraw-Hill, 2004.

    Per la programmazione di sistema in UNIX:
    • K. Wall, M. Watson, M. Whitis, "Programmare in Linux: Tutto e Oltre", Apogeo, 2000
    • W.R. Stevens, "Advanced Programming in the UNIX Environment," Addison-Wesley, 1993.

  • DOMANDE FREQUENTI:

    • E' possibile registrare il voto di sistemi operativi pur non avendo superato l'esame di informatica A? si, la propedeuticita' e' comunque consigliata.

    • Per quanto tempo mi tiene buona la prima/seconda parte intanto che sostengo l'altra? Per un anno.

    • Se non supero la seconda prova, nell'appello successivo bisogna ridare entrambe le parti? No, come ho gia` detto non mi interessa la sequenza con cui sostenete le prove.

    • E' vero che la seconda prova va data tassativamente entro la sessione di giugno? Insomma, ho detto di no. La sostenete quando volete.

    • E` possibile sostenere la prima e la seconda parte lo stesso giorno? Certo. Dovete pero` iscrivervi ad entrambe le parti nel sistema di iscrizione di facolta`.

    • Se vengo a sostenere l'esame e poi mi ritiro e` ancora valido il voto che avevo preso in precedenza? Assolutamente no: e` sufficiente che lei entri in aula per sostenere l'esame che il suo voto vecchio viene cancellato.

    • Non capisco qualcosa che sui lucidi e' trattato brevemente; posso venire a farmelo spiegare in orario di ricevimento? Sicuro! Pero' solo dopo aver studiato quella parte: non do ripetizioni, solo spiegazioni. C'e' una sostanziale differenza!

    • Ho sostenuto entrambe le prove con risultato positivo; quando posso venire a registrare il voto? Dopo ogni appello vengono definite delle date in cui e' possibile registrare i voti: e' sufficiente consultare il sito web del corso per conoscere queste date.

    • Ho appena terminato uno scritto; quando saranno disponibili i risultati? Saranno disponibili in rete? Capiamoci: siete un numero esorbitante; ogni compito fa capo a se' e deve essere corretto indipendentemente. Ci mettero' sicuramente un sacco di tempo. Troverete i risultati sul sito web e nella bacheca di facolta' (come da sito web) non appena sono pronti. Non telefonatemi per chiedere quando usciranno perche' NON LO SO.

    • Mi sono dimenticato di iscrivermi; posso venire a sostenere l'esame comunque? Ho spostato la scadenza per l'iscrizione all'appello al giorno precedente l'appello stesso. E' impossibile che lei abbia deciso la notte precedente che voleva sostenere l'esame. Devo quindi desumere che si e' proprio dimenticato. Scalero' il suo voto di 4 punti, cosi' la prossima volta si ricorda...