From Agentgroup
Jump to: navigation, search
(Appelli)
(Registro)
 
(369 intermediate revisions by 2 users not shown)
Line 15: Line 15:
 
| toptext = NEWS
 
| toptext = NEWS
 
<!-- All of the parameters are optional. -->
 
<!-- All of the parameters are optional. -->
 +
<font size=4>
 +
'''Fino all'appello di Settembre 2017, si garantisce agli studenti che l'esame sia svolto nella modalità sotto indicata. Poich&egrave; nell'A.A. 2017-18 l'insegnamento di [http://www.didattica.agentgroup.unimore.it/wiki/index.php/Principi_di_Sistemi_Operativi_-_LM Principi di Sistemi Operativi] non sarà pi&ugrave; attivo e al suo posto ci sar&agrave; l'insegnamento di [http://www.didattica.agentgroup.unimo.it/wiki/index.php/Progettazione_di_Sistemi_Operativi_-_LM Progettazione dei Sistemi Operativi], la modalit&agrave; di esame sar&agrave; quella del nuovo insegnamento.
 +
<!--non si garantisce che l'esame venga mantenuto uguale.-->'''
 +
</font>
 +
----
 
Questa pagina fornisce il materiale didattico e le informazioni relative all'insegnamento di '''Principi di Sistemi Operativi (9 CFU)''' per il [http://www.ing.unimore.it/LM/IngInf Corso di Laurea Magistrale in '''Ingegneria Informatica'''], secondo il D.M. 270/04, attivo dall'A.A. 2009-10.  
 
Questa pagina fornisce il materiale didattico e le informazioni relative all'insegnamento di '''Principi di Sistemi Operativi (9 CFU)''' per il [http://www.ing.unimore.it/LM/IngInf Corso di Laurea Magistrale in '''Ingegneria Informatica'''], secondo il D.M. 270/04, attivo dall'A.A. 2009-10.  
Questo materiale didattico per la maggior parte deriva da quello dell'omonimo insegnamento (per&ograve; di 6 CFU) che fino all'A.A. 2008-09 era attivo al I anno della Laurea Specialistica, secondo il D.M. 509/99. In particolare, l'aumento di CFU da 6 a 9 deriva da aver voluto dare piena dignit&agrave; alle esercitazioni di laboratorio che in passato erano facoltative, che ora diventano obbligatorie e parte integrante dell'insegnamento, almeno per la parte di preparazione alla prova scritta, che sar&agrave; appunto svolta in laboratorio.
+
 
 +
Questo materiale didattico per la maggior parte deriva da quello dell'omonimo insegnamento (per&ograve; di 6 CFU) che fino all'A.A. 2008-09 era attivo al I anno della Laurea Specialistica, secondo il D.M. 509/99. In particolare, l'aumento di CFU da 6 a 9 deriva da aver voluto dare piena dignit&agrave; alle esercitazioni di laboratorio che in passato erano facoltative, che ora diventano obbligatorie e parte integrante dell'insegnamento, e in particolare sono necessarie per la preparazione alla prova scritta, che sar&agrave; appunto svolta in laboratorio.
 
Si pu&ograve; consultare anche la [http://{{SERVERNAME}}/didattica/psoNOD/ pagina] dell'omonimo insegnamento non pi&ugrave; attivo della LS, in particolare per i testi degli esami passati e per alcune loro soluzioni.
 
Si pu&ograve; consultare anche la [http://{{SERVERNAME}}/didattica/psoNOD/ pagina] dell'omonimo insegnamento non pi&ugrave; attivo della LS, in particolare per i testi degli esami passati e per alcune loro soluzioni.
  
 +
<!--
 
= News =
 
= News =
 +
 +
'''IMPORTANTE PER VENERDI' 25 OTTOBRE 2013: Si avvisano tutti gli studenti frequentanti che come anticipato l'esercitazione di Principi di Sistemi Operativi non si terrà e al suo posto (dalle 10 alle 12) vi sarà invece una esercitazione di Tecnologia della Basi di Dati. L'esercitazione persa dovrebbe essere recuperata Mercoledì 30 Ottobre dalle 14 alle 16 (al posto di quella di Tecnologia).'''
 +
 +
<FONT COLOR=RED>'''IMPORTANTE: SONO STATI PUBBLICATI GLI ESITI DELLA PROVA IN ITINERE DEL 4 DICEMBRE 2009!'''</font>
 +
 
Le news relative a questo nuovo insegnamento si trovano nella specifica [http://notizie.unimo.it/campus/controller/NewsViewer?domain=PSO-LM&language=1&page=1 pagina]
 
Le news relative a questo nuovo insegnamento si trovano nella specifica [http://notizie.unimo.it/campus/controller/NewsViewer?domain=PSO-LM&language=1&page=1 pagina]
 +
-->
  
 
=Informazioni sul docente=
 
=Informazioni sul docente=
[[Image:letizia.jpg|left|100px]]
+
[[Image:Letizia-Nov2010.jpg|left|105px]]
 
'''[[User:Letizia | Prof. Letizia Leonardi]]'''
 
'''[[User:Letizia | Prof. Letizia Leonardi]]'''
  
Dipartimento di Ingegneria dell'Infomazione
+
Dipartimento di Ingegneria "Enzo Ferrari" (Università di Modena e Reggio Emilia)
  
Università di Modena e Reggio Emilia, Via Vignolese 905 - 41100 Modena
+
Via P. Vivarelli 10, 41125 MODENA
 +
<!-- Dipartimento di Ingegneria dell'Informazione
 +
 
 +
Università di Modena e Reggio Emilia, Via Vignolese 905 - 41125 Modena -->
  
 
Telefono 0592056135 - Fax 0592056129
 
Telefono 0592056135 - Fax 0592056129
  
 
[mailto:letizia.leonardi@unimo.it letizia.leonardi@unimore.it]
 
[mailto:letizia.leonardi@unimo.it letizia.leonardi@unimore.it]
 +
 +
Orario di ricevimento: Lunedì dalle 15 alle 17 (di norma, per eventuali modifiche consultare la [http://{{SERVERNAME}}/didattica/curriculum/letizia/news.html pagina])
  
 
=Orario delle Lezioni=
 
=Orario delle Lezioni=
Le lezioni inizieranno lunedi' 21 Settembre 2009, nel primo I semestre.
+
Le lezioni di questo insegnamento sono collocate nel I semestre e per l'A.A. 2016-17 avranno inizio Luned&igrave; 19 Settembre 2016.
L'orario delle lezioni &egrave; disponibile anche nella sezione Orari e Appelli del sito della Facolt&agrave; di Ingegneria alla [https://www.ing.unimo.it/campusone/visualizzazioneingegneria/OrarioInsegnamento.asp?IdIns=8772&IdCSR=258&IdPeriodo=19&IdAnnoAcc=7&DenAnnoAcc=2009/2010&IdAnnoCorso=1 pagina]
+
 
<p>
 
<p>
 +
<!--
 +
----
 +
'''IMPORTANTE: LUNEDI' 28 NOVEMBRE 2016 si avvisano tutti gli studenti frequentanti che non si terrà la lezione teorica e al suo posto ci sarà un incontro con l'Ing. Marco Galassi (dalle 11 alle 14), nel laboratorio INFOMEC.'''
 +
 +
----
 +
 +
'''IMPORTANTE: VENERDI' 18 NOVEMBRE 2016 si avvisano tutti gli studenti frequentanti che dalle 9 alle 10, nel laboratorio LINFA, si terrà un'altra ora di lezione di recupero (analogamente a quanto fatto lo scorso Venerdì).'''
 +
 +
'''IMPORTANTE: VENERDI' 11 NOVEMBRE 2016 si avvisano tutti gli studenti frequentanti che dalle 9 alle 10, nel laboratorio LINFA, si terrà un'ora di lezione di recupero.'''
 +
 +
'''IMPORTANTE PER VENERDI' 25 OTTOBRE 2013: Si avvisano tutti gli studenti frequentanti che come anticipato l'esercitazione di Principi di Sistemi Operativi non si terrà e al suo posto (dalle 10 alle 12) vi sarà invece una esercitazione di Tecnologia della Basi di Dati. L'esercitazione persa dovrebbe essere recuperata Mercoledì 30 Ottobre dalle 14 alle 16 (al posto di quella di Tecnologia).'''
 +
-->
 +
<!--
 +
Le lezioni di questo insegnamento sono collocate nel I semestre e per
 +
l'A.A. 2015-16 avrebbero dovuto iniziare Luned&igrave; 21 Settembre 2015, ma poich&egrave; fino al 4 Ottobre la Prof.ssa Leonardi sar&agrave; in convalescenza, le lezioni potranno iniziare solo il 5 Ottobre: in fondo a questa sezione i recuperi che sono stati pianificati (finora, 14/09/2015).
 +
-->
 +
<!--
 +
Nel frattempo, Venerd&igrave; 27 Settembre 2013, l'Ing. Puviani terr&agrave; un seminario sulla concorrenza in Java che risulta propedeutico all'inizio delle esercitazioni in Laboratorio ed inoltre alcune ore di Principi verranno usate da Tecnologia delle Basi di Dati, in modo che quando la Prof.ssa Leonardi potr&agrave; iniziare le lezioni, potr&agrave; recuperare le lezioni perse.
 +
l'A.A. 2013-14 inizieranno Mercoledì 2 Ottobre (dalle 11 alle 13). Venerdì 4 Ottobre invece che esercitazione ci saranno 3 ore di lezione (al Laboratorio LINFA). Nella settimana successiva ci sarà un recupero delle ore perse, utilizzando le ore di Tecnologia delle Basi di Dati con modalità che verranno comunicate a lezione: in particolare, sia Lunedì 7/10/2913 che Mercoledì 9/10/2013 si terranno 4 ore di principi di sistemi Operativi dalle 9 alle 13.
 +
-->
 +
<!--
 +
l'A.A. 2010-11 avrebbero dovuto iniziare luned&igrave; 20 Settembre 2010: a causa per&ograve; della sospensione delle lezioni decisa dal Consiglio di Facolt&agrave; per solidariet&agrave; con la protesta dei ricercatori, '''le lezioni avranno inizio luned&igrave; 27 Settembre''' e avranno termine il 22 Dicembre 2010.
 +
l'A.A. 2009-10 sono iniziate luned&igrave; 21 Settembre 2009 e avranno termine il 23 Dicembre 2009.
 +
l'A.A. 2011-12 avranno inizio Mercoled&igrave; 21 Settembre 2011.
 +
l'A.A. 2012-13 avranno inizio Luned&igrave; 24 Settembre 2012.
 +
l'A.A. 2013-14 avrebbero dovuto iniziare Luned&igrave; 23 Settembre 2013, ma poich&egrave; fino al 1 Ottobre la Prof.ssa Leonardi sar&agrave; ingessata, le lezioni potranno iniziare solo dopo tale data: controllare questa pagina per aggiornamenti.
 +
Nel frattempo, Venerd&igrave; 27 Settembre 2013, l'Ing. Puviani terr&agrave; un seminario sulla concorrenza in Java che risulta propedeutico all'inizio delle esercitazioni in Laboratorio ed inoltre alcune ore di Principi verranno usate da Tecnologia delle Basi di Dati, in modo che quando la Prof.ssa Leonardi potr&agrave; iniziare le lezioni, potr&agrave; recuperare le lezioni perse.
 +
l'A.A. 2013-14 inizieranno Mercoledì 2 Ottobre (dalle 11 alle 13). Venerdì 4 Ottobre invece che esercitazione ci saranno 3 ore di lezione (al Laboratorio LINFA). Nella settimana successiva ci sarà un recupero delle ore perse, utilizzando le ore di Tecnologia delle Basi di Dati con modalità che verranno comunicate a lezione: in particolare, sia Lunedì 7/10/2913 che Mercoledì 9/10/2013 si terranno 4 ore di principi di sistemi Operativi dalle 9 alle 13.
 +
l'A.A. 2014-15 avranno inizio Luned&igrave; 22 Settembre 2014.
 +
-->
 +
<!--e riportate su questa pagina. -->
 +
 +
 +
L'orario delle lezioni &egrave; disponibile sul [http://www.ing.unimore.it sito] di Ingegneria e in particolare quelle di Principi di Sistemi Operativi si trovano  [http://www.ingmo.unimore.it/site/home/didattica/orario-settimanale-degli-insegnamenti.html?P0_cds_cod=20-262&P0_pds_cod=0&P0_aa_off_id=2012&P0_lang=ita&P0_pagpre=10930 qui].
 +
 +
<!--
 +
'''IMPORTANTE (notizia di Giovedì 2/10/2014): Si avvisano tutti gli studenti frequentanti che l'orario delle esercitazioni subirà una modifica a partire dalla prossima settimana; in particolare, le esercitazioni al Linfa si terranno al Lunedì dalle 14 alle 17, invece che al Venerdì dalle 10 alle 13.
 +
'''
 +
-->
 +
 +
Qui di seguito si riporta per comodità l'orario:
 +
<!--
 +
che sarà in vigore da Lunedì 5 Ottobre 2015, che non comprende le ore extra (prese dall'orario di Tecnologia delle Basi di Dati) che saranno necessari per recuperare le ore perse delle prime due settimane:
 +
[https://www.ing.unimo.it/campusone/visualizzazioneingegneria/OrarioInsegnamento.asp?IdIns=8772&IdCSR=258&IdPeriodo=19&IdAnnoAcc=7&DenAnnoAcc=2009/2010&IdAnnoCorso=1 pagina].
 +
-->
 +
 
<table cellpadding=10 border=2 with=100%>
 
<table cellpadding=10 border=2 with=100%>
 
   <tr>
 
   <tr>
 
     <td width="119" with=30%><p align="JUSTIFY"><b> Luned&igrave;</b></p></td>
 
     <td width="119" with=30%><p align="JUSTIFY"><b> Luned&igrave;</b></p></td>
 
     <td width="175"><p align="JUSTIFY"><b> ore 11-13 (lezione)</b></p></td>
 
     <td width="175"><p align="JUSTIFY"><b> ore 11-13 (lezione)</b></p></td>
     <td width="257"><p align="JUSTIFY"><b> aula FA-0-D (Ingegneria)</b></p></td>
+
     <td width="257"><p align="JUSTIFY"><b> aula P2.7 (ex FA-2-G) (Ingegneria)</b></p></td>
 +
<!--    <td width="257"><p align="JUSTIFY"><b> aula FA-1-E (Ingegneria)</b></p></td> -->
 
   </tr>
 
   </tr>
 +
<!--
 +
  <tr>
 +
    <td><p align="JUSTIFY"><b> Luned&igrave;</b></p></td>
 +
    <td><p align="JUSTIFY"><b> ore 14-17 (esercitazione)</b></p></td>
 +
    <td><p align="JUSTIFY"><b> Lab. LINFA - ex FA-2-F (Ingegneria)</b></p></td>
 +
  </tr>
 +
-->
 
   <tr>
 
   <tr>
 
     <td with=30%><p align="JUSTIFY"><b> Mercoled&igrave;</b></p></td>
 
     <td with=30%><p align="JUSTIFY"><b> Mercoled&igrave;</b></p></td>
 
     <td><p align="JUSTIFY"><b> ore 11-13 (lezione)</b></p></td>
 
     <td><p align="JUSTIFY"><b> ore 11-13 (lezione)</b></p></td>
 +
    <td><p align="JUSTIFY"><b> aula P2.7 (ex FA-2-G) (Ingegneria)</b></p></td>
 +
<!--
 
     <td><p align="JUSTIFY"><b> aula FA-0-D (Ingegneria)</b></p></td>
 
     <td><p align="JUSTIFY"><b> aula FA-0-D (Ingegneria)</b></p></td>
 +
  <td><p align="JUSTIFY"><b> aula FA-1-E (Ingegneria)</b></p></td>
 +
-->
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
 
     <td><p align="JUSTIFY"><b> Venerd&igrave;</b></p></td>
 
     <td><p align="JUSTIFY"><b> Venerd&igrave;</b></p></td>
     <td><p align="JUSTIFY"><b> ore 11-13 (esercitazione)</b></p></td>
+
     <td><p align="JUSTIFY"><b> ore 10-13 (esercitazione)</b></p></td>
     <td><p align="JUSTIFY"><b> Lab. LINFA - ex FA-2-F (Ingegneria)</b></p></td>
+
     <td><p align="JUSTIFY"><b> Lab. P2.6-LINFA (ex FA-2-F) (Ingegneria)</b></p></td>
 
   </tr>
 
   </tr>
 +
 
</table>
 
</table>
<BR>
 
<!--Le <A HREF="Esercitazioni.html">esercitazioni pratiche</A> verrano essere svolte nel laboratorio LINFA il Mercoled&igrave dalle ore 16 alle 18. -->
 
  
=Obiettivi dell'Insegnamento=
+
<!--
 +
I recuperi, nelle ore di Tecnologia delle Basi di Dati, che sono stati pianificati (per ora) sono i seguenti:
 +
* Lunedì 5/10, ore 9-11 (lezione);
 +
* Lunedì 12/10, ore 9-11 (lezione);
 +
* Martedì 20/10, ore 14-16 (esercitazione).
 +
-->
  
 +
=Obiettivi dell'Insegnamento=
 +
[[Image:faq.png|right|90px]]
 
L'obiettivo del corso è di raggiungere una buona conoscenza e capacità di comprensione di ogni livello/gestore di cui si compone un Sistema Operativo, analizzandone sia i meccanismi di funzionamento che le relative politiche. L’applicazione di queste conoscenze riguarda gli aspetti di programmazione di sistema per svolgere progetti concorrenti in ambiente globale di complessità crescente, utilizzando il linguaggio di programmazione Java. Questo corso quindi rappresenta il completamento rispetto al corso di Sistemi Operativi della Laurea triennale.
 
L'obiettivo del corso è di raggiungere una buona conoscenza e capacità di comprensione di ogni livello/gestore di cui si compone un Sistema Operativo, analizzandone sia i meccanismi di funzionamento che le relative politiche. L’applicazione di queste conoscenze riguarda gli aspetti di programmazione di sistema per svolgere progetti concorrenti in ambiente globale di complessità crescente, utilizzando il linguaggio di programmazione Java. Questo corso quindi rappresenta il completamento rispetto al corso di Sistemi Operativi della Laurea triennale.
 
Per tale ragione agli studenti non laureati in Ingegneria Informatica presso la nostra sede, si consiglia di accertarsi di avere come conoscenze pregresse quella derivanti dagli esami di Sistemi Operativi e Laboratorio di Sistemi Operativi (della Laurea D.M. 509) o di Sistemi  
 
Per tale ragione agli studenti non laureati in Ingegneria Informatica presso la nostra sede, si consiglia di accertarsi di avere come conoscenze pregresse quella derivanti dagli esami di Sistemi Operativi e Laboratorio di Sistemi Operativi (della Laurea D.M. 509) o di Sistemi  
Line 82: Line 163:
 
Punto di vista esterno - organizzazione logica dei direttori e proprietà dei file; livello di programmazione. <BR>
 
Punto di vista esterno - organizzazione logica dei direttori e proprietà dei file; livello di programmazione. <BR>
 
Punto di vista interno - allocazione fisica in memoria secondaria: metodo contiguo; metodi non contigui (concatenamento e indicizzazione). <BR>
 
Punto di vista interno - allocazione fisica in memoria secondaria: metodo contiguo; metodi non contigui (concatenamento e indicizzazione). <BR>
 +
Quando necessario, questi argomenti saranno esemplificati rivedendone l’implementazione in UNIX/Linux.<BR>
  
 
Gli argomenti pratici che verranno affrontati relativamente a progetti concorrenti in ambiente globale faranno riferimento al linguaggio di programmazione Java e saranno in particolare:<BR>  
 
Gli argomenti pratici che verranno affrontati relativamente a progetti concorrenti in ambiente globale faranno riferimento al linguaggio di programmazione Java e saranno in particolare:<BR>  
 
- programmazione concorrente tramite thread;<BR>
 
- programmazione concorrente tramite thread;<BR>
- sincronizzazione mediante l'uso di monitor.
+
- sincronizzazione mediante l'uso di monitor.<BR>
 +
L’applicazione di queste conoscenze riguarda lo svolgimento di progetti concorrenti in ambiente globale di complessità crescente: quindi, parte integrante saranno le attività di laboratorio svolte in modo guidato.
  
 
=Registro=
 
=Registro=
Dopo ogni lezione verr&agrave; compilato il registro con l'indicazione degli argomenti trattati. I registri relativi ai diversi anni accademici sono accessibili sul sito della Facolt&agrave; e in particolare:
+
Dopo ogni lezione/esercitazione verr&agrave; compilato il registro con l'indicazione degli argomenti trattati.  
* [https://www.ing.unimo.it/campusone/visualizzazioneingegneria/Syllabus.asp?IdIns=8772 Registro A.A. 2009-10]
+
 
 +
I registri dei cinque A.A. precedenti si trovano:
 +
* [http://{{SERVERNAME}}/registri/Registri_html/RegistroPSOAA_2016-2017.html Registro A.A. 2016-17]
 +
<!-- (NOTA DEL 20/09/2016: per ora il registro non è accessibile per problemi tecnici, che si spera vengano risolti entro fine settimana). -->
 +
* [http://{{SERVERNAME}}/registri/Registri_html/RegistroPSOAA_2015-2016.html Registro A.A. 2015-16]
 +
* [http://{{SERVERNAME}}/registri/Registri_html/RegistroPSOAA_2014-2015.html Registro A.A. 2014-15]
 +
* [http://{{SERVERNAME}}/registri/Registri_html/RegistroPSOAA_2013-2014.html Registro A.A. 2013-14]
 +
* [http://{{SERVERNAME}}/didattica/psoLM/RegistroAA2012-13.html Registro A.A. 2012-13]
 +
 
 +
 
 +
I registri ai precedenti anni accademici sono accessibili sul vecchio sito della Facolt&agrave; e in particolare:
 +
* [http://{{SERVERNAME}}/didattica/psoLM/RegistroAA2011-12.html Registro A.A. 2011-12]
 +
* [https://www.ingmo-old.unimo.it/campusone/VisualizzazioneIngegneria/Syllabus.asp?IdIns=11128 Registro A.A. 2010-11]
 +
* [https://www.ingmo-old.unimo.it/campusone/visualizzazioneingegneria/Syllabus.asp?IdIns=8772 Registro A.A. 2009-10]
  
 
=Modalità d'esame=
 
=Modalità d'esame=
L'esame si compone di uno scritto, in laboratorio, e di un orale. Per maggiori dettagli, vedere il seguito di questa pagina.
+
[[Image:tesina.png|right|90px]]
 +
L'esame si compone di una prova scritta, che viene svolta in laboratorio, e di una seguente prova orale. Per maggiori dettagli, vedere il seguito di questa pagina.
  
==Esame scritto==
+
<font size=4>
L'esame scritto serve a verificare che lo studente abbia acquisito le seguenti capacit&agrave;:
+
'''Fino all'appello di Settembre 2017, si garantisce agli studenti che l'esame sia svolto nella modalità sotto indicata. Poich&egrave; nell'A.A. 2017-18 l'insegnamento di [http://www.didattica.agentgroup.unimore.it/wiki/index.php/Principi_di_Sistemi_Operativi_-_LM Principi di Sistemi Operativi] non sarà pi&ugrave; attivo e al suo posto ci sar&agrave; l'insegnamento di [http://www.didattica.agentgroup.unimo.it/wiki/index.php/Progettazione_di_Sistemi_Operativi_-_LM Progettazione dei Sistemi Operativi], la modalit&agrave; di esame sar&agrave; quella del nuovo insegnamento.
* Capacit&agrave; di scrivere soluzioni per la sincronizzazione di processi in ambiente globale usando lo strumento di monitor.  
+
<!--non si garantisce che l'esame venga mantenuto uguale.-->'''
* Capacit&agrave; di scrivere e verificare software in linguaggio di programmazione Java per la sincronizzazione di processi usando lo strumento di monitor.
+
</font>
  
Quindi, l'esame consiste nello sviluppare un progetto concorrente in ambiente globale, composto di processi e di un monitor come strumento di sincronizzazione, utilizzando a livello implementativo il linguaggio di programmazione Java.  
+
==Prova scritta==
 +
Per l'iscrizione ad una prova scritta si '''deve''' usare l'applicazione specifica il cui link &egrave; presente in questa pagina nella sezione [[#Appelli| Appelli]]: si ricorda che in caso di valutazione insufficiente lo studente che non avrà preso visione dei suoi errori fissando uno specifico appuntamento con l'Ing. Galassi<!--Puviani--> NON potrà iscriversi ad una prova successiva!
 +
Di norma le iscrizioni/cancellazioni ad un appello si chiudono due giorni prima: ad esempio se l'appello è pianificato di venerd&igrave;, le iscrizioni/cancellazioni sono possibili fino alla mezzanotte del marted&igrave; precedente! Le indicazioni comunque della data di chiusura dell'appello sono riportate per ogni appello.
  
&Egrave; possibile vedere il testo di tutti gli esami svolti negli anni passati accedendo alle pagine dell'insegnamento non pi&ugrave; attivo.
+
La prova scritta (in laboratorio) serve a verificare che lo studente abbia acquisito le seguenti capacit&agrave;:
 +
* Capacit&agrave; di scrivere soluzioni per la sincronizzazione di processi in ambiente globale<!-- usando lo strumento di monitor-->.
 +
* Capacit&agrave; di scrivere e verificare software in linguaggio di programmazione Java per la sincronizzazione di processi<!-- usando lo strumento di monitor-->.
  
==Esame orale==
+
[[Image:ModalitaEsame.png|left|120px]]
L'esame orale serve a verificare che lo studente abbia acquisito le seguenti conoscenze e capacit&agrave; di comprensione:
+
<blockquote>
 +
Nell'A.A. 2016-17, la prova di laboratorio prevede un test scritto e una serie di esercizi che dovranno essere svolti usando il linguaggio di programmazione Java sui temi trattati nelle esercitazioni di laboratorio.
 +
La nuova prova di laboratorio è divisa in 2 parti: una parte di quiz su carta, a
 +
risposta multipla (con solo una risposta esatta), ed una parte di
 +
programmazione. Risolvere correttamente la parte di programmazione è
 +
necessario per poter passare l'esame. Il tempo totale della prova è di '''2 ore'''.
 +
Il tempo massimo per lo svolgimento dei quiz a risposta multipla è di '''40 minuti''': durante lo svolgimento del quiz non sarà possibile consultare alcun tipo di materiale. Allo scadere dei 40 minuti tutti gli studenti
 +
devono consegnare la parte a quiz. Se si termina il quiz prima dello scadere dei 40 minuti, si può procedere con la parte di programmazione, ma solo dopo aver consegnato il quiz.
 +
Durante lo svolgimento della parte di programmazione sarà possibile consultare materiale portato da casa, ma non sarà disponibile un
 +
collegamento internet. Il risultato della prova sarà calcolato a partire dai quiz.
 +
 
 +
  <LI> Se ci sono 10 domande: +3 per le risposte corrette, 0 per quelle
 +
  sbagliate e per quelle non risposte.
 +
  <LI>  Se ci sono 15 domande: +2 per le risposte corrette, 0 per quelle
 +
  sbagliate e per quelle non risposte.
 +
</blockquote>
 +
Per le prove di laboratorio viene usato di norma il Laboratorio LINFA nel campus di Ingegneria.
 +
 
 +
<B>Fino all'appello di Settembre 2017, si garantisce agli studenti che l'esame sia svolto nella modalità sopra indicata. Poichè nell'A.A. 2017-18 l'insegnamento di Principi di Sistemi Operativi non sarà pià attivo e al suo posto ci sarà l'insegnamento di Progettazione dei Sistemi Operativi non si garantisce che l'esame venga mantenuto uguale.</B>
 +
<!-- gli studenti degli anni precedenti possono richiedere di svolgere l'esame scritto in laboratorio con le modalità precedenti: in tal caso, devo inviare una mail all'Ing. Galassi una settimana prima della prova cui vogliono partecipare. -->
 +
<!--Quindi, la prova scritta consiste nello sviluppare un progetto concorrente in ambiente globale, composto di processi e di un monitor come strumento di sincronizzazione, utilizzando a livello implementativo il linguaggio di programmazione Java. -->
 +
<BR>
 +
 
 +
<!--Per tale ragione la prova scritta viene svolta in laboratorio: attualmente viene usato il Laboratorio LINFA nel campus di Ingegneria.
 +
per l'A.A. 2009-10 il laboratorio che verr&agrave; utilizzato &egrave; il Laboratorio Base (a piano terra del Dipartimento di Matematica) usando i PC in Linux.
 +
-->
 +
 
 +
&Egrave; possibile consultare i testi di tutti gli esami svolti fino all'A.A. 2015-16: per gli esami di questo insegnamento questi si trovano nella sezione [[#Testi Prove Scritte | Testi Prove Scritte]], mentre per quelli dell'omonimo insegnamento non pi&ugrave; attivo, si pu&ograve; consultare la [http://{{SERVERNAME}}/didattica/psoNOD/ pagina] relativa.
 +
 
 +
Si riportano, in particolare, le note che sono normalmente riportate in tutti i testi di esame relativamente alla procedura di salvataggio della parte di programmazione:
 +
 
 +
# Fare il login in Linux con il proprio account.[[Image:iscrizione.png|90px|right]]
 +
# Aprire una pagina del browser e digitare ftp://lica02.lab.unimo.it/README e copiare il comando presente in un terminale ed eseguirlo rispondendo alle domande proposte (viene creata sul Desktop una cartella avente nome studente_<account-posta-elettronica> al cui interno viene creato un file denominato student_data.csv che non va eliminato)
 +
# Aprire Eclipse (comando “eclipse” da shell) e scegliere come workspace la cartella avente nome '''studente_<numero Turno>_<Numero compito>_<account-posta-elettronica>''' creata sul Desktop.
 +
Il voto della prova scritta è espresso in trentesimi e può partire da un massimo di 32/30 (a seconda della difficoltà del testo della prova): tale voto ha, di norma, una validit&agrave; di sei mesi.
 +
<!--
 +
Si riportano, per chiarezza, le note che sono normalmente riportate in tutti i testi di esame:
 +
# Si considerano parte integrante delle soluzioni i COMMENTI significativi introdotti per facilitare la lettura del codice: come tali, essi influenzano la votazione finale. Tuttavia, i messaggi di debug (ad es. le println()) del programma NON SONO CONSIDERATI E QUINDI NON INFLUENZANO LA VOTAZIONE FINALE.
 +
#  Il tempo a disposizione è di 90 minuti.
 +
#  Il compito deve essere svolto solamente nel linguaggio Java, usando eventualmente le classi del package monitor e lavorando con l’ambiente di sviluppo IBM Eclipse.
 +
#  Seguire le seguenti regole per lo svolgimento dell’esame al Laboratorio Linfa (nuove dal 10/06/2015):
 +
#* Fare il login in Linux con il proprio account.[[Image:iscrizione.png|90px|right]]
 +
#* Aprire una pagina del browser e digitare ftp://lica02.lab.unimo.it/README e copiare il comando presente in un terminale ed eseguirlo rispondendo alle domande proposte (viene creata sul Desktop una cartella avente nome studente_<account-posta-elettronica> al cui interno viene creato un file denominato student_data.csv che non va eliminato)
 +
#* Aprire Eclipse (comando “eclipse” da shell) e scegliere come workspace la cartella avente nome '''studente_<numero Turno>_<Numero compito>_<account-posta-elettronica>''' creata sul Desktop.
 +
#* Creare un progetto Java con nome “ESAMEddmmyy-<<Turno>>-<<Numero>>”, istallarvi il package con eventualmente le classi monitor, e scrivere le classi Java della soluzione nel package di default (senza nome) di tale progetto. Fare attenzione a scrivere correttamente il nome del progetto, con maiuscole e minuscole a posto!
 +
#* Finito il vostro esame (o allo scadere del tempo di 1h:30m), dovete salvare tutto (si consiglia di salvare spesso per non perdere il proprio lavoro), chiudere Eclipse, fare il logout, lasciare il vostro PC e procedere alla consegna del testo.
 +
Il voto della prova scritta è espresso in trentesimi e può partire da un massimo di 32/30 (a seconda della difficoltà del testo della prova): tale voto ha, di norma, una validit&agrave; di sei mesi.
 +
-->
 +
 
 +
==Prova orale==
 +
Gli studenti possono accedere alla prova orale solo dopo aver acquisito un voto maggiore o uguale a 18/32 nella prova scritta.
 +
 
 +
Per l'iscrizione alla prova orale di norma viene inserito un appello su ESSE3, altrimenti inviare una email al docente per avere informazioni.
 +
 
 +
La prova orale serve a verificare che lo studente abbia acquisito le seguenti conoscenze e capacit&agrave; di comprensione:
 
* Conoscenza e capacità di comprensione della classificazione dei Sistemi Operativi.  
 
* Conoscenza e capacità di comprensione della classificazione dei Sistemi Operativi.  
 
* Conoscenza e capacità di comprensione dell'organizzazione interna di un Sistema Operativo come insieme di livelli o gestori delle risorse.
 
* Conoscenza e capacità di comprensione dell'organizzazione interna di un Sistema Operativo come insieme di livelli o gestori delle risorse.
Line 111: Line 266:
 
* Conoscenza e capacità di comprensione degli strumenti di sincronizzazione nel caso di modello di processi ad ambiente locale.
 
* Conoscenza e capacità di comprensione degli strumenti di sincronizzazione nel caso di modello di processi ad ambiente locale.
 
* Conoscenza e capacità di comprensione della gestione della memoria sia con politiche contigue e non contigue e sia con memoria virtuale.
 
* Conoscenza e capacità di comprensione della gestione della memoria sia con politiche contigue e non contigue e sia con memoria virtuale.
Conoscenza e capacità di comprensione dell'organizzazione logica dei File System e delle politiche di allocazione fisica.
+
* Conoscenza e capacità di comprensione dell'organizzazione logica dei File System e delle politiche di allocazione fisica.
  
Quindi, l'esame orale spazia su tutto il programma che verr&agrave; svolto: si consideri, in particolare, che come case-study verr&agrave; normalmente fatto riferimento al Sistema Operativo UNIX o Linux.
+
Quindi, la prova orale spazia su tutto il programma che verr&agrave; svolto: si consideri, in particolare, che come case-study verr&agrave; normalmente fatto riferimento al Sistema Operativo UNIX/Linux.
 +
 
 +
In particolare, l'orale prevede -in una prima fase- la somministrazione di un test a domande chiuse e aperte preparato per ogni studente, che tende a coprire tutti gli argomenti del programma; quindi -nella seconda fase- di solito prendendo spunto dalle risposte del test, si passa ad approfondire alcuni argomenti per arrivare al voto dell'orale.
 +
Il voto della prova orale è espresso in trentesimi e può partire da un massimo di 33/30 (a seconda della difficoltà delle domande proposte).
  
 
==Note sugli esami==
 
==Note sugli esami==
#Per l'iscrizione ad esame scritto si '''deve''' usare il form specifico che sar&agrave; presente in questa pagina nella sezione Appelli.
+
[[Image:Attenzione.png|60px|left]]
#La consegna di uno scritto cancella il voto precedente; la partecipazione ad uno scritto ''senza'' consegnare non cancella il voto precedente.
+
<blockquote>
#Per l'iscrizione all'esame orale è necessario invece inviare una email al docente per fissare un appuntamento.
+
#Si ricorda che in caso di valutazione insufficiente lo studente dovrà prendere visione dei suoi errori PRIMA di poter partecipare ad una nuova prova.
 +
#La consegna di una prova scritta cancella il voto precedente; la partecipazione ad uno scritto ''senza'' consegnare non cancella il voto precedente.
 +
#'''Dall'A.A. 2013-14, il voto finale dell'esame deriverà per il 30% dal voto della prova scritta e per il 70% dal voto della prova orale (eventuali arrotondamenti saranno effettuati per difetto).''' Per gli studenti degli anni accademici precedenti invece il voto finale dell'esame deriverà dalla media aritmetica (arrotondata per difetto) dei voti della prova scritta e della prova orale.
 +
#Le prove scritte e le prove orali (a meno di richieste da parte di studenti Fuori Corso) si svolgono solo durante i periodi di esami.
 +
#Il voto della prova scritta ha, di norma, una validità di sei mesi.
 +
</blockquote>
  
 
=Appelli=
 
=Appelli=
Le date degli appelli scritti (in laboratorio) sono disponibili nel sito WEB della Facoltà di Ingegneria.  
+
<font size=4>
 +
'''Fino all'appello di Settembre 2017, si garantisce agli studenti che l'esame sia svolto nella modalità sotto indicata. Poich&egrave; nell'A.A. 2017-18 l'insegnamento di [http://www.didattica.agentgroup.unimore.it/wiki/index.php/Progettazione_di_Sistemi_Operativi_-_LM Principi di Sistemi Operativi] non sarà pi&ugrave; attivo e al suo posto ci sar&agrave; l'insegnamento di Progettazione dei Sistemi Operativi, non si garantisce che l'esame venga mantenuto uguale.'''
 +
</font>
  
'''ATTENZIONE DATO CHE VI E' STATO UN PROBLEMA TECNICO FRA MARTEDI' E GIOVEDI' MATTINA ORE 9 SI INVITANO TUTTI GLI STUDENTI CHE HANNO AVUTO DEI PROBLEMI O CHE COMUNQUE SI SONO ISCRITTI ALLA PROVA IN ITINERE DEL 4/12/2009 A CONTATTARE LA PROF.SSA LEONARDI PER VERIFICARE LA PROPRIA ISCRIZIONE ALLA PROVA!'''
+
'''NOTA DEL 24/09/2016 (aggiornata il 26/09/2016)'''
Per l'iscrizione agli esami scritti si deve usare il [http://{{SERVERNAME}}/didattica/psoLM/Form/form09-10.html form] inserendo cognome, nome e password comunicata nella registrazione.
+
Per la sessione di esami di Gennaio-Febbraio 2017, si comunica che le date della prova in laboratorio (per le prove tutte al Laboratorio LINFA e se necessario anche ad InfoMec) sono:
 +
 
 +
1) Mer. 18/01/2017 (ore 09:00), con iscrizioni fino a Dom. 15/01/2017;
 +
 
 +
2) Mer. 15/02/2017 (ore 09:00), con iscrizioni fino a Dom. 12/02/2017.
 +
 
 +
<!--Gli appelli saranno inseriti nell'applicazione agli inizi di Dicembre 2016. -->
 +
Gli appelli sono stati inseriti nell'applicazione in data 5 Dicembre 2016.
 +
Per le date degli orali, si concorderanno con gli studenti in modo flessibile.
 +
 
 +
Per la sessione di esami di Giugno-Settembre 2016, si comunica che le date della prova in laboratorio (per le prove tutte al Laboratorio LINFA e se necessario anche ad InfoMec) sono:
 +
 
 +
3) Mer. 14/06/2017 (ore 9:00), con iscrizioni fino a Dom. 11/06/2017;
 +
 
 +
4) Mer. 12/07/2017 (ore 9:00), con iscrizioni fino a Dom. 9/07/2017;
 +
 
 +
5) Mer. 13/09/2017 (ore 9:00), con iscrizioni fino a Dom. 10/09/2017.
 +
 
 +
Gli appelli sono stati inseriti nell'applicazione il 28 Febbraio 2017.
 +
<!--Gli appelli saranno inseriti nell'applicazione agli inizi di Maggio 2017. -->
 +
Per le date degli orali, si concorderanno con gli studenti in modo flessibile.
 +
 
 +
Si ricorda che il sesto appello corrisponde alla prova "in itinere" che verrà svolta il penultimo venerdì di esercitazione (riservato ai soli studenti che si sono iscritti o hanno modificato quest'anno la loro iscrizione all'applicazione.
 +
 
 +
'''NOTA DEL 20/10/2016'''
 +
Si comunica che tutte le date sopra indicate sono state inserite anche in ESSE3 per rendere visibile a chi deve fare il controllo sull'inserimento degli appelli che questi sono stati pianificati: il periodo di iscrizione però a queste prove è volutamente chiuso dato lo studente deve usare l'[http://{{SERVERNAME}}/gestesami/login/index.php applicazione] specifica per iscriversi agli appelli in laboratorio.
 +
 +
<!--Si stanno definendo anche le date per le sessioni Giugno-Settembre 2017.
 +
'''NOTA DEL 03/03/2016''' Ho fissato un appello orale per Lun. 18/4/2016 alle ore 9 (con scadenza iscrizioni Lun. 11/4/2016 e 6 posti a disposizione, che se necessario potrebbero diventare anche 8): si precisa di iscriversi solo se certi di non cancellarsi, dato che in un precedente appello risultavano iscritti 6 studenti (quindi appello saturo), ma poi all'ultimo uno studente si è cancellato!
 +
 
 +
'''NOTA DEL 15/02/2016'''
 +
Per la sessione di esami di Giugno-Settembre 2016, si comunica che le date fissate (per le prove tutte al Laboratorio LINFA e se necessario anche ad InfoMec) sono:
 +
 
 +
1) Mer. 8/06/2016 (ore 09:00), con iscrizioni fino a Dom. 05/06/2016;
 +
 
 +
2) Mer. 13/07/2016 (ore 09:00), con iscrizioni fino a Dom. 10/07/2016;
 +
 
 +
3) Ven. 09/09/2015 (ore 09:00), con iscrizioni fino a Mar. 06/09/2016.
 +
 
 +
Le iscrizioni agli appelli della sessione estiva saranno possibili dopo lo la settimana di interruzione della didattica del II semestre. -->
 +
 
 +
<!--'''NOTA DEL 04/12/2015''' A partire dall'A.A. 2011-12 è stato predisposto un nuovo sito WEB di Ingegneria che in questo momento non consente l'inserimento delle date degli esami, che risulta possibile per ora solo tramite ESSE3. Si precisa che, dato che ESSE3 verrà utilizzato solo per la verbalizzazione dei voti e non per le prove scritte (in laboratorio), per la cui iscrizione DEVE essere usata la specifica applicazione a cui gli studenti si sono registrati: accedendo a tale applicazione si possono conoscere le date delle prove scritte solo se si è nel periodo di iscrizione. In particolare per la sessione di esami di Gennaio-Febbraio 2016, si comunica che le date fissate (per le prove tutte al Laboratorio LINFA) sono:
 +
 
 +
1) Ven. 22/01/2016 (ore 09:00), con iscrizioni fino a Mar. 19/01/2016;
 +
 
 +
2) Ven. 12/02/2015 (ore 09:00), con iscrizioni fino a Mar. 09/02/2016.
 +
 
 +
'''AGGIORNAMENTO DEL 16/02/2016''' L'appello orale di Lun. 22/2/2016 alle ore 9 è già sovra-saturo: esauriti i 6 posti a disposizione e aggiunti altri 2 studenti; quindi ci sono 8 studenti in lista. Per evitare i problemi della volta scorsa (con uno studente cancellato dalla lista ...) ho cambiato la data di scadenza della iscrizioni che quindi risultano ora chiuse. Poiché ci sono ancora 10 studenti che potrebbero sostenere l'orale, su richiesta di alcuni studenti potrei vedere (in base ai miei impegni) di fissare un altro orale per Mer. 24/02, altrimenti il prossimo orale (sempre su richiesta) si potrà tenere nella pausa delle lezioni del II semestre.
 +
 
 +
'''AGGIORNAMENTO DEL 15/02/2016''' Viste le varie richieste che ho ricevuto, ho fissato un appello orale per Lun. 22/2/2016 alle ore 9 (con scadenza iscrizioni Ven. 19/2/2016 e 6 posti a disposizione, che se necessario potrebbero diventare anche 8): si precisa di iscriversi solo se certi di non cancellarsi, dato che il precedente appello risultavano iscritti 8 studenti (quindi appello saturo), ma poi all'ultimo uno studente si è cancellato!
 +
 
 +
'''AGGIORNAMENTO DEL 05/02/2016''' L'appello orale di Ven 12/2/2016 è di fatto chiuso dato che sono stati esauriti i 6 posti ed inoltre sono stati aggiunti anche altri 2 studenti. Sicuramente un'altra data verrà fissata appena possibile prima dell'inizio delle lezioni (25/02/2016): potrebbe essere Lun. 22/02/2016 o Mer. 24/02/2016.
 +
 
 +
'''NOTA DEL 04/02/2016''' Viste le varie richieste che ho ricevuto, ho fissato un appello orale per Ven. 12/2/2016 alle ore 9 (con scadenza iscrizioni Mar. 9/2/2016 e 6 posti a disposizione, che se necessario potrebbero diventare anche 8): gli orali si terranno al LINFA in contemporanea allo scritto.
 +
-->
 
<!--
 
<!--
[[Image:iscrizione.png|90px|right]]
+
Le iscrizioni agli appelli sono ora possibili.
La sessione è aperta. Le date degli appelli sono disponibili sul sito
+
  
del corso di laurea
+
Le iscrizioni agli appelli saranno possibili a breve.
all'indirizzo
+
'''NOTA DEL 04/05/2015''' A partire dall'A.A. 2011-12 è stato predisposto un nuovo sito WEB di Ingegneria che in questo momento non consente l'inserimento delle date degli esami, che risulta possibile per ora solo tramite ESSE3. Si precisa che, dato che ESSE3 verrà utilizzato solo per la verbalizzazione dei voti e non per le prove scritte (in laboratorio), per la cui iscrizione DEVE essere usata la specifica applicazione a cui gli studenti si sono registrati: accedendo a tale applicazione si possono conoscere le date delle prove scritte solo se si è nel periodo di iscrizione. In particolare per la sessione di esami di Giugno-Settembre 2015, si comunica che le date fissate (per le prove tutte al Laboratorio LINFA) sono:
  
http://informatica.scienze.unimore.it/calendario_esami.shtml
+
1) Mer. 10/06/2015 (ore 09:00), con iscrizioni fino a Dom. 07/06/2015;
  
Dall'AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole
+
2) Mer. 15/07/2015 (ore 09:00), con iscrizioni fino a Dom. 12/07/2015;
  
sostenere l'esame DEVE quindi iscriversi tramite il
+
3) Mer. 09/09/2015 (ore 09:00), con iscrizioni fino a Dom. 06/09/2015.
  
[http://www.esse3.unimore.it sito di ESSE3].
+
'''NOTA DEL 23/03/2015''' Come promesso, visto che almeno due studenti hanno fatto richiesta, ho fissato un appello orale per Lun. 20/4/2015 alle ore 9 (con scadenza iscrizioni Gio. 16/4/2015 e 8 posti a disposizione).
  
NOTA: sul sito di ESSE3 sono presenti le date degli appelli
+
'''NOTA DEL 20/02/2015''' L'appello orale del prossimo Mer. 25/2/2015 alle ore 14 (con scadenza iscrizioni Lun. 23/2/2015) ha già esaurito gli 8 posti a disposizione: gli studenti che hanno già superato la prova scritta in laboratorio possono contattarmi, se interessati, per vedere di fare un orale durante la settimana di interruzione delle lezioni del II semestre, altrimenti appena comincia la sessione d'esami, prima della prossima prova scritta in laboratorio.
  
'''orali''', per la presentazione dei progetto.
+
'''NOTA DEL 17/02/2015''' Poiché 4 studenti hanno indicato come data preferita Mer. 25/2/2015, il prossimo orale viene fissato per Mer. 25/2/2015 alle ore 14 (con scadenza iscrizioni Lun. 23/2/2015).
Per l'iscrizione agli appelli '''scritti''' &egrave; necessario inviare
+
  
una email al docente entro 2 giorni prima dell'appello scritto stesso,
+
'''NOTA DEL 16/02/2015''' Le mie disponibilità correnti per un esame orale sono Lun. 23/2/2015 (mattina) o Mer. 25/2/2015 (pomeriggio): chi è interessato a svolgere la prova orale in una di tali dati me lo faccia sapere. La data che sarà indicata dalla maggior parte di voi (almeno due persone) verrà inserita su ESSE3 e gli interessati si potranno iscrivere.
  
usando l'indirizzo email '''universitario''' e specificando '''nome''',  
+
'''NOTA DEL 23/01/2015''' Poiché 5 studenti hanno indicato come data preferita Lun. 2/2 e solo 1 studenti ha indicato Lun. 26/01, il prossimo orale viene fissato per Lun. 2/2/2015 alle ore 9 (con scadenza iscrizioni Ven. 30/01/2015).
  
'''cognome''' e '''matricola'''.
+
'''NOTA DEL 22/01/2015''' Le mie disponibilità correnti per un esame orale sono Lun. 26/1/2015 o Lun. 2/2/2015 (in entrambe le date la sola mattina): chi è interessato a svolgere la prova orale in una di tali dati me lo faccia sapere. La data che sarà indicata dalla maggior parte di voi (almeno due persone) verrà inserita su ESSE3 e gli interessati si potranno iscrivere.
 +
-->
 +
<!--
 +
'''NOTA DEL 09/01/2015''' A partire dall'A.A. 2011-12 è stato predisposto un nuovo sito WEB di Ingegneria che in questo momento non consente l'inserimento delle date degli esami, che risulta possibile per ora solo tramite ESSE3. Si precisa che, dato che ESSE3 verrà utilizzato solo per la verbalizzazione dei voti e non per le prove scritte (in laboratorio), per la cui iscrizione DEVE essere usata la specifica applicazione a cui gli studenti si sono registrati: accedendo a tale applicazione si possono conoscere le date delle prove scritte solo se si è nel periodo di iscrizione.  
 +
In particolare per la sessione di esami di Gennaio-Febbraio 2015, si comunica che le date fissate (per le prove tutte al Laboratorio LINFA) sono:
  
<br><br>
+
1) Lun. 19/01/2015 (ore 14:30), con iscrizioni fino a Ven. 16/01/2015;
 +
 
 +
2) Lun. 09/02/2015 (ore 14:30), con iscrizioni fino a Ven. 06/02/2015.
 +
 
 +
'''NOTA DEL 16/05/2014'''
 +
In particolare per la sessione di esami di Giugno-Settembre 2014, si comunica che le date fissate (per le prove tutte al Laboratorio LINFA) sono:
 +
 
 +
1) Mer. 18/06/2014 (ore 14:30), con iscrizioni fino a Dom. 15/06/2014;
 +
 
 +
2) Mer. 16/07/2014 (ore 09:00), con iscrizioni fino a Dom. 13/07/2014;
 +
 
 +
3) Mer. 10/09/2014 (ore 09:00), con iscrizioni fino a Dom. 07/09/2014.
 
-->
 
-->
 +
<!--'''NOTA DEL 20/12/2013'''
 +
Per Gennaio è stato fissato un appello orale, già inserito in essere per ''Mer. 15/01/2014 (ore 14:00), con iscrizioni fino al 13/01/2014 e un numero massimo di iscritti pari a 8 studenti''. Altri orali verranno fissati dopo la correzione e/o lo svolgimento delle prossime prove scritte.<BR>
 +
'''NOTA DEL 16/12/2013'''
 +
A partire dall'A.A. 2011-12 è stato predisposto un nuovo sito WEB della Facoltà di Ingegneria che in questo momento non consente l'inserimento delle date degli esami, che risulta possibile per ora solo tramite ESSE3. Si precisa che, dato che ESSE3 verrà utilizzato solo per la verbalizzazione dei voti e non per le prove scritte (in laboratorio), per la cui iscrizione DEVE essere usata la specifica applicazione a cui gli studenti si sono registrati: accedendo a tale applicazione si possono conoscere le date delle prove scritte solo se si è nel periodo di iscrizione.
 +
In particolare per la sessione di esami di Gennaio-Febbraio 2014, si comunica che le due date fissate (per le prove tutte al Laboratorio LINFA) sono:
  
==Risultati Esami Scritti==
+
1) ''Mer. 15/01/2014 (ore 09:00), con iscrizioni fino al 12/01/2014;''<BR>
 +
2) ''Mer. 12/02/2014 (ore 09:00), con iscrizioni fino al 09/02/2014.''<BR>
  
I risultati dei compiti scritti svolti in laboratorio sono pubblicati nelle news (in forma anonima, indicando o il numero di tessera universitaria e/o la postazione assegnata durante la prova) e normalmente anche affissi nella bacheca di fianco alla porta dell'ufficio della Prof. Leonardi.
+
si possono conoscere le date delle due prove scritte previste per la sessione di esami di Gennaio-Febbraio 2013; poiché l'applicazione mostra gli appelli solo nel periodo di apertura delle iscrizioni, si comunica che le due date fissate (per le prove tutte al Laboratorio LINFA) sono:
  
==Consigli Utili==
+
1) ''Mer. 16/01/2013 (ore 09:00), con iscrizioni dal 01/01/2013 al 13/01/2013;''<BR>
 +
2) ''Mer. 13/02/2013 (ore 09:00), con iscrizioni dal 21/01/2013 (precedentemente era dal 29/01/2013) al 10/02/2013.''<BR>
 +
-->
 +
<!--
 +
'''NOTA DEL 18/09/2012'''
 +
Poich&eacute; la sessione d'esame &egrave; stata prorogata al 12 Ottobre 2012, a causa dei disagi provocati dal terremoto, &egrave; stato deciso di fissare un nuovo appello scritto di Principi di Sistemi Operativi in data
  
Per superare agevolmente l'esame scritto, che si svolger&agrave; in laboratorio, si consiglia agli studenti di seguire con continuità le lezioni ed, in particolare, le esercitazioni in laboratorio del corso.  
+
''12 Ottobre alle ore 15'' nel laboratorio LINFA. <BR>
Inoltre, si consiglia di preparare l'esame scritto sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l'esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.
+
Gli studenti interessati devono iscriversi a tale esame entro il 1 Ottobre 2012, in modo che sia possibile preparare il testo del compito solo se risultano esserci degli studenti in lista.
 +
 
 +
'''NOTA DEL 16/05/2012'''
 +
A partire dall'A.A. 2011-12 è stato predisposto un nuovo sito WEB della Facoltà di Ingegneria che in questo momento non consente l'inserimento delle date degli esami, che risulta possibile per ora solo tramite ESSE3. Si precisa che, dato che ESSE3 verrà utilizzato solo per la verbalizzazione dei voti e non per le prove scritte (in laboratorio), per la cui iscrizione DEVE essere usata la specifica applicazione a cui gli studenti si sono registrati: accedendo a tale applicazione si possono conoscere le date delle tre prove scritte previste per la sessione di esami di Giugno-Settembre; poiché l'applicazione mostra gli appelli solo nel periodo di apertura delle iscrizioni, si comunica che le tre date fissate sono:
 +
 
 +
1) ''Mer. 20/06/2012 (ore 09:00), con iscrizioni dal 30/05/2012 al 17/06/2012;''<BR>
 +
2) ''Mer. 11/07/2012 (ore 09:00), con iscrizioni dal 18/06/2012 al 08/07/2012.''<BR>
 +
3) ''Mer. 12/09/2012 (ore 09:00), con iscrizioni dal 09/07/2012 al 09/09/2012.''<BR>
 +
 
 +
'''NOTA DEL 02/04/2012 (con aggiornamento del 3/4/12)'''
 +
E' stato inserito in ESSE3 un appello orale per '''Lunedì 16 Aprile alle ore 9''' che si terrà in aula '''FA-2B'''.
 +
 
 +
'''NOTA DEL 15/11/2011'''
 +
A partire dall'A.A. 2011-12 è stato predisposto un nuovo sito WEB della Facoltà di Ingegneria che in questo momento non consente l'inserimento delle date degli esami, che risulta possibile per ora solo tramite ESSE3. Si precisa che ESSE3 verrà utilizzato solo per gli appelli orali e non per le prove scritte (in laboratorio), per la cui iscrizione DEVE essere usata la specifica applicazione a cui gli studenti si sono registrati: accedendo a tale applicazione si possono conoscere le date delle due prove scritte previste per la sessione di esami di Gennaio/Febbraio; poiché l'applicazione mostra gli appelli solo nel periodo di apertura delle iscrizioni, si comunica che le due date fissate sono:
 +
 
 +
1) ''18/01/2012 (ore 09:00), con iscrizioni dal 03/12/2011 al 15/01/2012;''<BR>
 +
2) ''15/02/2012 (ore 09:00), con iscrizioni dal 19/01/2012 al 12/02/2012.''
 +
 
 +
<!--Le date delle prove scritte (in laboratorio) sono disponibili nel sito WEB della Facoltà di Ingegneria e sono riportate anche nell'applicazione per l'iscrizione alle prove.
 +
-->
 +
<B>ATTENZIONE:</B> Dalla sessione estiva dell'A.A. 2010/11, le prove di Principi Sistemi Operativi si svolgono presso il Laboratorio LINFA (II piano Facoltà di Ingegneria) e NON al laboratorio BASE.
 +
 
 +
<!--
 +
Gli studenti che abbiano bisogno di una copia dei file presenti nella loro home
 +
directory del BASE lo comunichino al più presto.
 +
È possibile connettersi alle macchine virtuali che saranno usate per gli esami anche dall'esterno: il comando da utilizzare è ssh numero-tesserino-universitario@155.185.31.1xx dove xx varia da 01 a 50.
 +
 
 +
 
 +
Nei prossimi giorni verrà fornita sul sito del corso la descrizione di come collegarsi in remoto alle macchine virtuali che verranno usate durante le prossime prove d'esame per potersi esercitare dal BASE.Si segnala che nella sessione di esami di Gennaio-Febbraio, poich&eacute; &egrave; stata organizzata una prova scritta in itinere e quindi in totale sono state previste 3 prove scritte invece che le 2 richieste, lo studente potr&agrave; partecipare ad una sola delle due prove scritte fissate, una a Gennaio e una a Febbraio.
 +
 
 +
 
 +
Per l'iscrizione alle prove scritte si deve usare il [http://{{SERVERNAME}}/didattica/psoLM/Form/esami/form09-10.html form] inserendo cognome, nome e password inserita all'atto della registrazione all'insegnamento (che normalmente avviene durante la prima esercitazione in laboratorio. ).
 +
-->
 +
Per l'iscrizione alle prove scritte si deve usare l'[http://{{SERVERNAME}}/gestesami/login/index.php applicazione] inserendo come Username nome.cognome e come Password quella inserita all'atto della registrazione all'insegnamento (che normalmente avviene durante la prima esercitazione in laboratorio. '''NOTA BENE''': la convalida della registrazione avviene solo alla consegna del foglio di riepilogo firmato).
 +
 
 +
Di norma le iscrizioni/cancellazioni ad un appello si chiudono due giorni prima (ad esempio se l'appello è pianificato di venerd&igrave;, le iscrizioni/cancellazioni sono possibili fino alla mezzanotte del marted&igrave; precedente!) e comunque le indicazioni della data di chiusura dell'appello sono riportate per ogni appello.
 +
Si rende noto che l'applicazione in uso dall'A.A. 2010-11 impedisce ad uno studente in caso di valutazione insufficiente di iscriversi ad una prova successiva fino a che non avrà preso visione dei suoi errori fissando uno specifico appuntamento con l'Ing. Galassi<!--Puviani-->!
 +
 
 +
Per l'iscrizione alla prova orale se non è presente uno specifico appello su ESSE3, è necessario invece inviare una email al docente per fissare un appuntamento. In questo caso, ESSE3 verr&agrave; usato per la sola verbalizzazione del voto finale senza bisogno che lo studente si iscriva ad un appello, dato che tale inserimento verr&agrave; effettuato dal docente.
 +
 
 +
Dall'A.A. 2013-14, il voto finale dell'esame di Principi di Sistemi Operativi non deriva più dalla media aritmetica, arrotondata per difetto, dei voti della prova scritta svolta in laboratorio e della prova orale, ma viene calcolato (sempre con arrotondamento per difetto) come il 30% del voto della prova prova scritta svolta in laboratorio e il 70% del voto della prova orale.
 +
<!--
 +
Il voto finale dell'esame di Principi di Sistemi Operativi deriva dalla media aritmetica, arrotondata per difetto, dei voti della prova scritta svolta in laboratorio e della prova orale.
 +
-->
 +
 
 +
Si ricorda che la verbalizzazione relativa al primo appello dopo la conclusione delle lezioni sar&agrave; possibile solo per gli studenti in corso che hanno compilato il questionario di valutazione (come specificato nella sezione [http://{{SERVERNAME}}/didattica/cdl/Valutazione/ Valutazione della Didattica] della pagina del Corso di Laurea Magistrale).
 +
 
 +
==Testi Prove Scritte==
 +
I testi delle prove scritte si trovano nella pagina [[EsamiPSO|Esami di Principi di Sistemi Operativi]]: di alcuni di essi viene fornita anche una possibile soluzione.
 +
 
 +
==Risultati Prove Scritte==
 +
<!--
 +
<FONT COLOR=RED>'''IMPORTANTE: SONO STATI PUBBLICATI GLI ESITI DELLA PROVA IN ITINERE DEL 4 DICEMBRE 2009!'''</font>
 +
I risultati delle prove scritte svolte in laboratorio sono pubblicati nelle news (in forma anonima, indicando o il numero di tessera universitaria e/o la postazione assegnata durante la prova) e normalmente anche affissi nella bacheca di fianco alla porta dell'ufficio della Prof. Leonardi.
 +
 
 +
-->
 +
 
 +
Dall'A.A. 2010-11, gli studenti che hanno partecipato ad una prova scritta di Principi di Sistemi Operativi possono prendere visione del voto della prova scritta svolta in laboratorio collegandosi all'applicazione utilizzata per l'iscrizione alla prova e selezionando la voce Dati iscrizione corso (in lato a sinistra).
 +
 
 +
==Consigli Utili==
 +
[[Image:Attenzione.png|60px|left]]
 +
<blockquote>
 +
Per superare agevolmente la prova scritta, che si svolger&agrave; in laboratorio, si consiglia agli studenti di seguire con continuità le lezioni ed, in particolare, le esercitazioni in laboratorio.  
 +
Inoltre, si consiglia di preparare la prova scritta sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l'esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.
 +
</blockquote>
  
''Ambienti di Programmazione Utilizzati'': Java 1.5 di pubblico dominio, disponibile comunque in laboratorio (per scaricarlo si veda sezione Strumenti Software).
+
''Ambienti di Programmazione Utilizzati'': Java 1.5 di pubblico dominio, disponibile comunque in laboratorio (per scaricarlo si veda sezione [[#Strumenti Software | Strumenti Software]]).
  
 
=Testi Consigliati=
 
=Testi Consigliati=
 +
[[Image:textbook.png|100px|right]]
  
 
Materiale come lucidi, esercizi e testi di esame (e alcune soluzioni) sono disponibili in questa pagina e nella pagina del vecchio insegnamento.
 
Materiale come lucidi, esercizi e testi di esame (e alcune soluzioni) sono disponibili in questa pagina e nella pagina del vecchio insegnamento.
Line 187: Line 495:
 
<OL>
 
<OL>
 
<li>
 
<li>
[http://{{SERVERNAME}}/didattica/psoLM/prog09-10.pdf <FONT COLOR="#0000ff">Programma del corso e modalit&agrave; di esame</FONT>]
+
[http://{{SERVERNAME}}/didattica/psoLM/prog16-17.pdf <FONT COLOR="#0000ff">Programma del corso e modalit&agrave; di esame</FONT>]
 
<li>
 
<li>
 
[http://{{SERVERNAME}}/didattica/psoNOD/Lucidi/so1.pdf <font COLOR="#0000ff">Lucidi introduttivi sui Sistemi Operativi: evoluzione e categorizzazione dei Sistemi Operativi</font>]
 
[http://{{SERVERNAME}}/didattica/psoNOD/Lucidi/so1.pdf <font COLOR="#0000ff">Lucidi introduttivi sui Sistemi Operativi: evoluzione e categorizzazione dei Sistemi Operativi</font>]
Line 201: Line 509:
 
[http://{{SERVERNAME}}/didattica/psoNOD/Lucidi/so3bis.pdf <font COLOR="#0000ff">Lucidi sui processi: costrutti di sincronizzazione in ambiente globale </font>]
 
[http://{{SERVERNAME}}/didattica/psoNOD/Lucidi/so3bis.pdf <font COLOR="#0000ff">Lucidi sui processi: costrutti di sincronizzazione in ambiente globale </font>]
 
<li>
 
<li>
[http://{{SERVERNAME}}/didattica/psoNOD/Lucidi/so5.pdf <font COLOR="#0000ff">Lucidi su processi in ambiente Locale: processi comunicanti in ambiente locale </font>]
+
[http://{{SERVERNAME}}/didattica/psoNOD/Lucidi/so5.pdf <font COLOR="#0000ff">Lucidi su processi in ambiente Locale: processi comunicanti in ambiente locale </font>] (aggiornamento del 14/05/2012)
 
<li>
 
<li>
 
[http://{{SERVERNAME}}/didattica/psoNOD/Lucidi/so4.pdf <font COLOR="#0000ff">Lucidi sul Nucleo  </font>]
 
[http://{{SERVERNAME}}/didattica/psoNOD/Lucidi/so4.pdf <font COLOR="#0000ff">Lucidi sul Nucleo  </font>]
Line 225: Line 533:
 
Sono disponibili i lucidi usati durante i seminari sui seguenti argomenti:
 
Sono disponibili i lucidi usati durante i seminari sui seguenti argomenti:
  
[http://{{SERVERNAME}}/didattica/psoNOD/Lucidi/SeminarioJava2009.pdf <font COLOR="#0000ff">Seminario sulla concorrenza nel linguaggio Java  </font>]   
+
[[Media:SeminarioJava2014.pdf| <font COLOR="#0000ff">Seminario sulla concorrenza nel linguaggio Java  </font>]]   
('''[[User:Mariachiara | Ing. Mariachiara Puviani]]''', versione A.A. 09-10)
+
('''[[User:Mariachiara | Ing. Mariachiara Puviani]]''', versione A.A. 2014/15)
 +
<BR><BR>
 +
Si avvisano inoltre gli studenti che per ripassare le primitive di Unix è disponibile un'applicazione (scaricabile [http://{{SERVERNAME}}/didattica/TesiSOeLab/Sentimenti/UnixFunctionHelper.jar qui (file JAR)]) sviluppata nel suo elaborato da Sentimenti Marco (prova finale del 29/10/2012). Tale applicazione è descritta nell'elaborato dal titolo UNIX FUNCTION HELPER: SUPPORTO ALL'APPRENDIMENTO DELLE PRIMITIVE UNIX  (scaricabile [http://{{SERVERNAME}}/didattica/TesiSOeLab/Sentimenti/ElaboratoUnixFunctionHelper.pdf qui (PDF)].
  
 
= Esercizi presentati in laboratorio =  
 
= Esercizi presentati in laboratorio =  
Line 234: Line 544:
 
Potete trovarli a questa pagina: [[EserciziPSO|Esercizi di Principi di Sistemi Operativi]].
 
Potete trovarli a questa pagina: [[EserciziPSO|Esercizi di Principi di Sistemi Operativi]].
  
 +
= Esercizi vari =
 +
[[Image:eserciziLezione.png|right]]
 +
Gli esercizi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma [http://www.adobe.com/it/ Adobe Acrobat], altri (.java) in semplice formato testo.
  
<!--
+
Potete trovarli alla pagina del vecchio insegnamento.
*[[Media:ContoCorrente.pdf|Conto corrente in C]]
+
*[[Media:IOBinario.pdf|I/O Binario]]
+
*[[Media:calcolatrice.zip|Calcolatrice]]
+
*[[Media:GraficoFunzioni.zip|Grafico di funzioni]]
+
*[[Media:CampoStellare.zip|Campo stellare]]
+
 
+
===Programmazione ad Oggetti e Java===
+
Gli esercizi sono gli stessi contenuti nei lucidi della parte teorica,
+
 
+
ma da qui e' possibile salvare su un file (facendo "salva link con
+
 
+
nome") il sorgente della gran parte degli esercizi.
+
 
+
====Java: Le Classi====
+
{|class="wikitable" cellpadding="6" align=centre
+
|'''Le Classi'''
+
|'''File'''
+
|-
+
|rowspan=13|[[Image:download.png]]
+
|-
+
|[[Media:Counter.java|Counter.java]],
+
 
+
[[Media:Esempio0.java|Esempio0.java]],
+
 
+
[[Media:Esempio1.java|Esempio1.java]],
+
 
+
[[Media:Esempio2.java|Esempio2.java]],
+
 
+
[[Media:Esempio2bis.java|Esempio2bis.java]],
+
 
+
[[Media:Esempio3.java|Esempio3.java]],
+
 
+
[[Media:Esempio4.java|Esempio4.java]],
+
 
+
[[Media:Esempio5.java|Esempio5.java]],
+
 
+
[[Media:Esempio5bis.java|Esempio5bis.java]],
+
 
+
[[Media:Esempio6.java|Esempio6.java]],
+
 
+
[[Media:Esempio7.java|Esempio7.java]], [[Media:Point.java|Point.java]]
+
|}
+
 
+
====Java: Classi Astratte e Interfacce====
+
====Java: Ereditarietà====
+
====Java: Le Eccezioni====
+
====Java: Input e Output====
+
====Java: Programmazione Grafica e ad Eventi====
+
{|class="wikitable" cellpadding="6" align=centre
+
|'''Grafica'''
+
|'''File'''
+
|-
+
|rowspan=36|[[Image:download.png]]
+
|-
+
|[[Media:CalcButton.java|CalcButton.java]],
+
 
+
[[Media:CalcPanel.java|CalcPanel.java]],
+
 
+
[[Media:Calculator.java|Calculator.java]],
+
 
+
[[Media:Es10Panel.java|Es10Panel.java]],
+
 
+
[[Media:Es11Panel.java|Es11Panel.java]],
+
 
+
[[Media:Es12Panel.java|Es12Panel.java]],
+
 
+
[[Media:Es13Panel.java|Es13Panel.java]],
+
 
+
[[Media:Es14Panel.java|Es14Panel.java]],
+
 
+
[[Media:Es15Panel.java|Es15Panel.java]],
+
 
+
[[Media:Es16Panel.java|Es16Panel.java]],
+
 
+
[[Media:Es7Panel.java|Es7Panel.java]],
+
 
+
[[Media:Es8Panel.java|Es8Panel.java]],
+
 
+
[[Media:Es9Panel.java|Es9Panel.java]],
+
 
+
[[Media:EsSwing1.java|EsSwing1.java]],
+
 
+
[[Media:EsSwing10.java|EsSwing10.java]],
+
 
+
[[Media:EsSwing11.java|EsSwing11.java]],
+
 
+
[[Media:EsSwing12.java|EsSwing12.java]],
+
 
+
[[Media:EsSwing13.java|EsSwing13.java]],
+
 
+
[[Media:EsSwing14.java|EsSwing14.java]],
+
 
+
[[Media:EsSwing15.java|EsSwing15.java]],
+
 
+
[[Media:EsSwing16.java|EsSwing16.java]],
+
 
+
[[Media:EsSwing2.java|EsSwing2.java]],
+
 
+
[[Media:EsSwing3.java|EsSwing3.java]],
+
 
+
[[Media:EsSwing4.java|EsSwing4.java]],
+
 
+
[[Media:EsSwing5.java|EsSwing5.java]],
+
 
+
[[Media:EsSwing6.java|EsSwing6.java]],
+
 
+
[[Media:EsSwing7.java|EsSwing7.java]],
+
 
+
[[Media:EsSwing8.java|EsSwing8.java]],
+
 
+
[[Media:EsSwing9.java|EsSwing9.java]],
+
 
+
[[Media:EsSwingCalculator.java|EsSwingCalculator.java]],
+
 
+
[[Media:FunctionPanel.java|FunctionPanel.java]],
+
 
+
[[Media:ImgPanel.java|ImgPanel.java]],
+
 
+
[[Media:MyFrame.java|MyFrame.java]],
+
 
+
[[Media:MyPanel.java|MyPanel.java]],
+
 
+
[[Media:Terminator.java|Terminator.java]]
+
|}
+
 
+
====Java: Le Applet====
+
 
+
{|class="wikitable" cellpadding="6" align=centre
+
|'''Le Applet'''
+
|'''File'''
+
|-
+
|rowspan=9|[[Image:download.png]]
+
|-
+
|[[Media:Applet1.java|Applet1.java]],
+
 
+
[[Media:Applet2.java|Applet2.java]],
+
 
+
[[Media:Applet2Listener.java|Applet2Listener.java]],
+
 
+
[[Media:Applet3.java|Applet3.java]],
+
 
+
[[Media:Applet3Listener.java|Applet3Listener.java]],
+
[[Media:Applet4.java|Applet4.java]],
+
 
+
[[Media:Applet5.java|Applet5.java]],
+
 
+
[[Media:Application2.java|Application2.java]]
+
|}
+
 
+
<br><br>
+
-->
+
  
 
=Strumenti Software=
 
=Strumenti Software=
Line 396: Line 558:
 
* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio.
 
* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio.
 
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].
 
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].
 +
 +
=Tesi=
 +
Accedendo all'[http://imagelab.ing.unimore.it/argomenti_tesi/ applicazione] specifica si potranno trovare degli argomenti di tesi di Laurea Magistrale collegati a questo insegnamento.

Latest revision as of 18:29, 5 November 2020

Fino all'appello di Settembre 2017, si garantisce agli studenti che l'esame sia svolto nella modalità sotto indicata. Poichè nell'A.A. 2017-18 l'insegnamento di Principi di Sistemi Operativi non sarà più attivo e al suo posto ci sarà l'insegnamento di Progettazione dei Sistemi Operativi, la modalità di esame sarà quella del nuovo insegnamento.


Questa pagina fornisce il materiale didattico e le informazioni relative all'insegnamento di Principi di Sistemi Operativi (9 CFU) per il Corso di Laurea Magistrale in Ingegneria Informatica, secondo il D.M. 270/04, attivo dall'A.A. 2009-10.

Questo materiale didattico per la maggior parte deriva da quello dell'omonimo insegnamento (però di 6 CFU) che fino all'A.A. 2008-09 era attivo al I anno della Laurea Specialistica, secondo il D.M. 509/99. In particolare, l'aumento di CFU da 6 a 9 deriva da aver voluto dare piena dignità alle esercitazioni di laboratorio che in passato erano facoltative, che ora diventano obbligatorie e parte integrante dell'insegnamento, e in particolare sono necessarie per la preparazione alla prova scritta, che sarà appunto svolta in laboratorio. Si può consultare anche la pagina dell'omonimo insegnamento non più attivo della LS, in particolare per i testi degli esami passati e per alcune loro soluzioni.


Informazioni sul docente

Letizia-Nov2010.jpg

Prof. Letizia Leonardi

Dipartimento di Ingegneria "Enzo Ferrari" (Università di Modena e Reggio Emilia)

Via P. Vivarelli 10, 41125 MODENA

Telefono 0592056135 - Fax 0592056129

letizia.leonardi@unimore.it

Orario di ricevimento: Lunedì dalle 15 alle 17 (di norma, per eventuali modifiche consultare la pagina)

Orario delle Lezioni

Le lezioni di questo insegnamento sono collocate nel I semestre e per l'A.A. 2016-17 avranno inizio Lunedì 19 Settembre 2016.

L'orario delle lezioni è disponibile sul sito di Ingegneria e in particolare quelle di Principi di Sistemi Operativi si trovano qui. Qui di seguito si riporta per comodità l'orario:

Lunedì

ore 11-13 (lezione)

aula P2.7 (ex FA-2-G) (Ingegneria)

Mercoledì

ore 11-13 (lezione)

aula P2.7 (ex FA-2-G) (Ingegneria)

Venerdì

ore 10-13 (esercitazione)

Lab. P2.6-LINFA (ex FA-2-F) (Ingegneria)


Obiettivi dell'Insegnamento

Faq.png

L'obiettivo del corso è di raggiungere una buona conoscenza e capacità di comprensione di ogni livello/gestore di cui si compone un Sistema Operativo, analizzandone sia i meccanismi di funzionamento che le relative politiche. L’applicazione di queste conoscenze riguarda gli aspetti di programmazione di sistema per svolgere progetti concorrenti in ambiente globale di complessità crescente, utilizzando il linguaggio di programmazione Java. Questo corso quindi rappresenta il completamento rispetto al corso di Sistemi Operativi della Laurea triennale. Per tale ragione agli studenti non laureati in Ingegneria Informatica presso la nostra sede, si consiglia di accertarsi di avere come conoscenze pregresse quella derivanti dagli esami di Sistemi Operativi e Laboratorio di Sistemi Operativi (della Laurea D.M. 509) o di Sistemi Operativi e Lab. (della Laurea D.M. 270).

Programma dell'Insegnamento

Gli argomenti teorici che verranno affrontati saranno:

1) Generalità sui Sistemi Operativi
Evoluzione storica: dai primi sistemi ai moderni sistemi operativi.
Classificazione dei Sistemi Operativi: sistemi mono- e multi-utente, sistemi batch e interattivi, sistemi in time-sharing e real-time.
Elementi di base di un Sistema Operativo: punto di vista esterno (utente o programmatore di sistema) e punto di vista interno.

2) Sistema Operativo come insieme di gestori delle risorse. In particolare:
a) Gestione della CPU
Punto di vista esterno - tecniche di programmazione concorrente: modelli dei processi ad ambiente globale e ad ambiente locale; strumenti per la sincronizzazione di processi in ambiente globale (semafori, monitor, etc.) e locale (scambio di messaggi, RPC, etc.).
Punto di vista interno - implementazione del nucleo: strutture dati e primitive; algoritmi di scheduling; il problema del blocco dei processi (deadlock).
b) Gestione della memoria
Punto di vista esterno - programmi: assoluti, rilocabili staticamente, rilocabili dinamicamente. Punto di vista interno - metodi di allocazione: contigua (partizionamento statico e dinamico); swapping; segmentazione; non contigua (paginazione); gestione della memoria virtuale.
c) Gestione del File System
Punto di vista esterno - organizzazione logica dei direttori e proprietà dei file; livello di programmazione.
Punto di vista interno - allocazione fisica in memoria secondaria: metodo contiguo; metodi non contigui (concatenamento e indicizzazione).
Quando necessario, questi argomenti saranno esemplificati rivedendone l’implementazione in UNIX/Linux.

Gli argomenti pratici che verranno affrontati relativamente a progetti concorrenti in ambiente globale faranno riferimento al linguaggio di programmazione Java e saranno in particolare:
- programmazione concorrente tramite thread;
- sincronizzazione mediante l'uso di monitor.
L’applicazione di queste conoscenze riguarda lo svolgimento di progetti concorrenti in ambiente globale di complessità crescente: quindi, parte integrante saranno le attività di laboratorio svolte in modo guidato.

Registro

Dopo ogni lezione/esercitazione verrà compilato il registro con l'indicazione degli argomenti trattati.

I registri dei cinque A.A. precedenti si trovano:


I registri ai precedenti anni accademici sono accessibili sul vecchio sito della Facoltà e in particolare:

Modalità d'esame

Tesina.png

L'esame si compone di una prova scritta, che viene svolta in laboratorio, e di una seguente prova orale. Per maggiori dettagli, vedere il seguito di questa pagina.

Fino all'appello di Settembre 2017, si garantisce agli studenti che l'esame sia svolto nella modalità sotto indicata. Poichè nell'A.A. 2017-18 l'insegnamento di Principi di Sistemi Operativi non sarà più attivo e al suo posto ci sarà l'insegnamento di Progettazione dei Sistemi Operativi, la modalità di esame sarà quella del nuovo insegnamento.

Prova scritta

Per l'iscrizione ad una prova scritta si deve usare l'applicazione specifica il cui link è presente in questa pagina nella sezione Appelli: si ricorda che in caso di valutazione insufficiente lo studente che non avrà preso visione dei suoi errori fissando uno specifico appuntamento con l'Ing. Galassi NON potrà iscriversi ad una prova successiva! Di norma le iscrizioni/cancellazioni ad un appello si chiudono due giorni prima: ad esempio se l'appello è pianificato di venerdì, le iscrizioni/cancellazioni sono possibili fino alla mezzanotte del martedì precedente! Le indicazioni comunque della data di chiusura dell'appello sono riportate per ogni appello.

La prova scritta (in laboratorio) serve a verificare che lo studente abbia acquisito le seguenti capacità:

  • Capacità di scrivere soluzioni per la sincronizzazione di processi in ambiente globale.
  • Capacità di scrivere e verificare software in linguaggio di programmazione Java per la sincronizzazione di processi.
ModalitaEsame.png

Nell'A.A. 2016-17, la prova di laboratorio prevede un test scritto e una serie di esercizi che dovranno essere svolti usando il linguaggio di programmazione Java sui temi trattati nelle esercitazioni di laboratorio. La nuova prova di laboratorio è divisa in 2 parti: una parte di quiz su carta, a risposta multipla (con solo una risposta esatta), ed una parte di programmazione. Risolvere correttamente la parte di programmazione è necessario per poter passare l'esame. Il tempo totale della prova è di 2 ore. Il tempo massimo per lo svolgimento dei quiz a risposta multipla è di 40 minuti: durante lo svolgimento del quiz non sarà possibile consultare alcun tipo di materiale. Allo scadere dei 40 minuti tutti gli studenti devono consegnare la parte a quiz. Se si termina il quiz prima dello scadere dei 40 minuti, si può procedere con la parte di programmazione, ma solo dopo aver consegnato il quiz. Durante lo svolgimento della parte di programmazione sarà possibile consultare materiale portato da casa, ma non sarà disponibile un collegamento internet. Il risultato della prova sarà calcolato a partire dai quiz.

  • Se ci sono 10 domande: +3 per le risposte corrette, 0 per quelle sbagliate e per quelle non risposte.
  • Se ci sono 15 domande: +2 per le risposte corrette, 0 per quelle sbagliate e per quelle non risposte.
  • Per le prove di laboratorio viene usato di norma il Laboratorio LINFA nel campus di Ingegneria.

    Fino all'appello di Settembre 2017, si garantisce agli studenti che l'esame sia svolto nella modalità sopra indicata. Poichè nell'A.A. 2017-18 l'insegnamento di Principi di Sistemi Operativi non sarà pià attivo e al suo posto ci sarà l'insegnamento di Progettazione dei Sistemi Operativi non si garantisce che l'esame venga mantenuto uguale.


    È possibile consultare i testi di tutti gli esami svolti fino all'A.A. 2015-16: per gli esami di questo insegnamento questi si trovano nella sezione Testi Prove Scritte, mentre per quelli dell'omonimo insegnamento non più attivo, si può consultare la pagina relativa.

    Si riportano, in particolare, le note che sono normalmente riportate in tutti i testi di esame relativamente alla procedura di salvataggio della parte di programmazione:

    1. Fare il login in Linux con il proprio account.
      Iscrizione.png
    2. Aprire una pagina del browser e digitare ftp://lica02.lab.unimo.it/README e copiare il comando presente in un terminale ed eseguirlo rispondendo alle domande proposte (viene creata sul Desktop una cartella avente nome studente_<account-posta-elettronica> al cui interno viene creato un file denominato student_data.csv che non va eliminato)
    3. Aprire Eclipse (comando “eclipse” da shell) e scegliere come workspace la cartella avente nome studente_<numero Turno>_<Numero compito>_<account-posta-elettronica> creata sul Desktop.

    Il voto della prova scritta è espresso in trentesimi e può partire da un massimo di 32/30 (a seconda della difficoltà del testo della prova): tale voto ha, di norma, una validità di sei mesi.

    Prova orale

    Gli studenti possono accedere alla prova orale solo dopo aver acquisito un voto maggiore o uguale a 18/32 nella prova scritta.

    Per l'iscrizione alla prova orale di norma viene inserito un appello su ESSE3, altrimenti inviare una email al docente per avere informazioni.

    La prova orale serve a verificare che lo studente abbia acquisito le seguenti conoscenze e capacità di comprensione:

    • Conoscenza e capacità di comprensione della classificazione dei Sistemi Operativi.
    • Conoscenza e capacità di comprensione dell'organizzazione interna di un Sistema Operativo come insieme di livelli o gestori delle risorse.
    • Conoscenza e capacità di comprensione del concetto di processo, degli algoritmi di scheduling e del problema del deadlock.
    • Conoscenza e capacità di comprensione degli strumenti di sincronizzazione nel caso di modello di processi ad ambiente globale, come semafori e monitor.
    • Conoscenza e capacità di comprensione degli strumenti di sincronizzazione nel caso di modello di processi ad ambiente locale.
    • Conoscenza e capacità di comprensione della gestione della memoria sia con politiche contigue e non contigue e sia con memoria virtuale.
    • Conoscenza e capacità di comprensione dell'organizzazione logica dei File System e delle politiche di allocazione fisica.

    Quindi, la prova orale spazia su tutto il programma che verrà svolto: si consideri, in particolare, che come case-study verrà normalmente fatto riferimento al Sistema Operativo UNIX/Linux.

    In particolare, l'orale prevede -in una prima fase- la somministrazione di un test a domande chiuse e aperte preparato per ogni studente, che tende a coprire tutti gli argomenti del programma; quindi -nella seconda fase- di solito prendendo spunto dalle risposte del test, si passa ad approfondire alcuni argomenti per arrivare al voto dell'orale. Il voto della prova orale è espresso in trentesimi e può partire da un massimo di 33/30 (a seconda della difficoltà delle domande proposte).

    Note sugli esami

    Attenzione.png
    1. Si ricorda che in caso di valutazione insufficiente lo studente dovrà prendere visione dei suoi errori PRIMA di poter partecipare ad una nuova prova.
    2. La consegna di una prova scritta cancella il voto precedente; la partecipazione ad uno scritto senza consegnare non cancella il voto precedente.
    3. Dall'A.A. 2013-14, il voto finale dell'esame deriverà per il 30% dal voto della prova scritta e per il 70% dal voto della prova orale (eventuali arrotondamenti saranno effettuati per difetto). Per gli studenti degli anni accademici precedenti invece il voto finale dell'esame deriverà dalla media aritmetica (arrotondata per difetto) dei voti della prova scritta e della prova orale.
    4. Le prove scritte e le prove orali (a meno di richieste da parte di studenti Fuori Corso) si svolgono solo durante i periodi di esami.
    5. Il voto della prova scritta ha, di norma, una validità di sei mesi.

    Appelli

    Fino all'appello di Settembre 2017, si garantisce agli studenti che l'esame sia svolto nella modalità sotto indicata. Poichè nell'A.A. 2017-18 l'insegnamento di Principi di Sistemi Operativi non sarà più attivo e al suo posto ci sarà l'insegnamento di Progettazione dei Sistemi Operativi, non si garantisce che l'esame venga mantenuto uguale.

    NOTA DEL 24/09/2016 (aggiornata il 26/09/2016) Per la sessione di esami di Gennaio-Febbraio 2017, si comunica che le date della prova in laboratorio (per le prove tutte al Laboratorio LINFA e se necessario anche ad InfoMec) sono:

    1) Mer. 18/01/2017 (ore 09:00), con iscrizioni fino a Dom. 15/01/2017;

    2) Mer. 15/02/2017 (ore 09:00), con iscrizioni fino a Dom. 12/02/2017.

    Gli appelli sono stati inseriti nell'applicazione in data 5 Dicembre 2016. Per le date degli orali, si concorderanno con gli studenti in modo flessibile.

    Per la sessione di esami di Giugno-Settembre 2016, si comunica che le date della prova in laboratorio (per le prove tutte al Laboratorio LINFA e se necessario anche ad InfoMec) sono:

    3) Mer. 14/06/2017 (ore 9:00), con iscrizioni fino a Dom. 11/06/2017;

    4) Mer. 12/07/2017 (ore 9:00), con iscrizioni fino a Dom. 9/07/2017;

    5) Mer. 13/09/2017 (ore 9:00), con iscrizioni fino a Dom. 10/09/2017.

    Gli appelli sono stati inseriti nell'applicazione il 28 Febbraio 2017. Per le date degli orali, si concorderanno con gli studenti in modo flessibile.

    Si ricorda che il sesto appello corrisponde alla prova "in itinere" che verrà svolta il penultimo venerdì di esercitazione (riservato ai soli studenti che si sono iscritti o hanno modificato quest'anno la loro iscrizione all'applicazione.

    NOTA DEL 20/10/2016 Si comunica che tutte le date sopra indicate sono state inserite anche in ESSE3 per rendere visibile a chi deve fare il controllo sull'inserimento degli appelli che questi sono stati pianificati: il periodo di iscrizione però a queste prove è volutamente chiuso dato lo studente deve usare l'applicazione specifica per iscriversi agli appelli in laboratorio.


    ATTENZIONE: Dalla sessione estiva dell'A.A. 2010/11, le prove di Principi Sistemi Operativi si svolgono presso il Laboratorio LINFA (II piano Facoltà di Ingegneria) e NON al laboratorio BASE.

    Per l'iscrizione alle prove scritte si deve usare l'applicazione inserendo come Username nome.cognome e come Password quella inserita all'atto della registrazione all'insegnamento (che normalmente avviene durante la prima esercitazione in laboratorio. NOTA BENE: la convalida della registrazione avviene solo alla consegna del foglio di riepilogo firmato).

    Di norma le iscrizioni/cancellazioni ad un appello si chiudono due giorni prima (ad esempio se l'appello è pianificato di venerdì, le iscrizioni/cancellazioni sono possibili fino alla mezzanotte del martedì precedente!) e comunque le indicazioni della data di chiusura dell'appello sono riportate per ogni appello. Si rende noto che l'applicazione in uso dall'A.A. 2010-11 impedisce ad uno studente in caso di valutazione insufficiente di iscriversi ad una prova successiva fino a che non avrà preso visione dei suoi errori fissando uno specifico appuntamento con l'Ing. Galassi!

    Per l'iscrizione alla prova orale se non è presente uno specifico appello su ESSE3, è necessario invece inviare una email al docente per fissare un appuntamento. In questo caso, ESSE3 verrà usato per la sola verbalizzazione del voto finale senza bisogno che lo studente si iscriva ad un appello, dato che tale inserimento verrà effettuato dal docente.

    Dall'A.A. 2013-14, il voto finale dell'esame di Principi di Sistemi Operativi non deriva più dalla media aritmetica, arrotondata per difetto, dei voti della prova scritta svolta in laboratorio e della prova orale, ma viene calcolato (sempre con arrotondamento per difetto) come il 30% del voto della prova prova scritta svolta in laboratorio e il 70% del voto della prova orale.

    Si ricorda che la verbalizzazione relativa al primo appello dopo la conclusione delle lezioni sarà possibile solo per gli studenti in corso che hanno compilato il questionario di valutazione (come specificato nella sezione Valutazione della Didattica della pagina del Corso di Laurea Magistrale).

    Testi Prove Scritte

    I testi delle prove scritte si trovano nella pagina Esami di Principi di Sistemi Operativi: di alcuni di essi viene fornita anche una possibile soluzione.

    Risultati Prove Scritte

    Dall'A.A. 2010-11, gli studenti che hanno partecipato ad una prova scritta di Principi di Sistemi Operativi possono prendere visione del voto della prova scritta svolta in laboratorio collegandosi all'applicazione utilizzata per l'iscrizione alla prova e selezionando la voce Dati iscrizione corso (in lato a sinistra).

    Consigli Utili

    Attenzione.png

    Per superare agevolmente la prova scritta, che si svolgerà in laboratorio, si consiglia agli studenti di seguire con continuità le lezioni ed, in particolare, le esercitazioni in laboratorio. Inoltre, si consiglia di preparare la prova scritta sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l'esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.

    Ambienti di Programmazione Utilizzati: Java 1.5 di pubblico dominio, disponibile comunque in laboratorio (per scaricarlo si veda sezione Strumenti Software).

    Testi Consigliati

    Textbook.png

    Materiale come lucidi, esercizi e testi di esame (e alcune soluzioni) sono disponibili in questa pagina e nella pagina del vecchio insegnamento.

    Comunque, testi di riferimento possono essere:

    J. Peterson, A. Silberschatz: "Operating System Concepts", Addison Wesley, 1990 (anche versione italiana: SILBERSCHATZ A., GALVIN P., G. GAGNE: "Sistemi Operativi: concetti ed esempi - sesta edizione", Casa Editrice Addison-Wesley, 2002).

    M. Milenkovic: "Sistemi Operativi", McGraw-Hill, 1990.

    P. Ancilotti, M. Boari: "Principi e Tecniche di Programmazione Concorrente", UTET, 1988.

    Inoltre, per la parte relativa a Java (ripasso e approfondimento) si segnala:

    G. Cabri, F. Zambonelli, "Programmazione a oggetti in Java: dai fondamenti a Internet", Pitagora editrice, 2003.

    Lucidi dell'Insegnamento

    Lucidi.png

    Sono disponibili i lucidi in formato PDF usati durante le lezioni di teoria sui seguenti argomenti che necessitano tutti, a parte il primo file, di password di lettura (tale password sarà comunicata durante la prima lezione):

    1. Programma del corso e modalità di esame
    2. Lucidi introduttivi sui Sistemi Operativi: evoluzione e categorizzazione dei Sistemi Operativi
    3. Lucidi sui processi: generalità
    4. Lucidi sui processi: interazione fra processi
    5. Lucidi sui processi: esempi di uso dei semafori
    6. Lucidi sui processi: processi comunicanti in ambiente globale
    7. Lucidi sui processi: costrutti di sincronizzazione in ambiente globale
    8. Lucidi su processi in ambiente Locale: processi comunicanti in ambiente locale (aggiornamento del 14/05/2012)
    9. Lucidi sul Nucleo
    10. Lucidi di SO su fork ed exec di Unix
    11. Lucidi sul deadlock
    12. Lucidi sulla Gestione della Memoria: metodi di allocazione contigua
    13. Lucidi sulla Gestione della Memoria: metodi di allocazione non contigua
    14. Lucidi sulla Gestione della Memoria Virtuale
    15. Lucidi sulla Gestione della Memoria in Unix
    16. Lucidi sulla Gestione dei file: livello logico
    17. Lucidi sulla Gestione dei file: livello fisico


    Sono disponibili i lucidi usati durante i seminari sui seguenti argomenti:

    Seminario sulla concorrenza nel linguaggio Java ( Ing. Mariachiara Puviani, versione A.A. 2014/15)

    Si avvisano inoltre gli studenti che per ripassare le primitive di Unix è disponibile un'applicazione (scaricabile qui (file JAR)) sviluppata nel suo elaborato da Sentimenti Marco (prova finale del 29/10/2012). Tale applicazione è descritta nell'elaborato dal titolo UNIX FUNCTION HELPER: SUPPORTO ALL'APPRENDIMENTO DELLE PRIMITIVE UNIX (scaricabile qui (PDF).

    Esercizi presentati in laboratorio

    EserciziLezione.png

    Gli esercizi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma Adobe Acrobat, altri (.java) in semplice formato testo.

    Potete trovarli a questa pagina: Esercizi di Principi di Sistemi Operativi.

    Esercizi vari

    EserciziLezione.png

    Gli esercizi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma Adobe Acrobat, altri (.java) in semplice formato testo.

    Potete trovarli alla pagina del vecchio insegnamento.

    Strumenti Software

    Strumenti.png

    Si indicano di seguito gli strumenti software che si utilizzano durante il corso e si indica dove è possibile reperirli.

    • Per sviluppare programmi in Java si utilizza il JDK (Java Development Kit). È di pubblico domino e si puo' scaricare dal sito The Java Sun Site.
    • NOTA: Si consiglia di usare la versione 1.5 o la 1.6. È comunque necessario utilizzare Java2, che corrisponde alle versioni del jdk dalla 1.2 alla 1.6.
    • Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio.
    • Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è Eclipse.

    Tesi

    Accedendo all'applicazione specifica si potranno trovare degli argomenti di tesi di Laurea Magistrale collegati a questo insegnamento.