(→Esercizi con synchronized) |
(→Esercizi vecchi) |
||
(30 intermediate revisions by 2 users not shown) | |||
Line 14: | Line 14: | ||
'''[[User:Mariachiara | Ph.D. Ricercatrice Mariachiara Puviani]]''' | '''[[User:Mariachiara | Ph.D. Ricercatrice Mariachiara Puviani]]''' | ||
− | = | + | = Slide del corso = |
+ | Le slide le trovate su google docs. | ||
− | [ | + | [https://docs.google.com/a/studenti.unimore.it/presentation/d/13sZmEKlz5_yqd66mdI1ImK-vKw72Glp3BntLd1G49H0/edit?usp=sharing slide della prima lezione]. |
− | = | + | [https://docs.google.com/a/studenti.unimore.it/presentation/d/1gyKNa686qeiJd0x9R7UPMV13yW-7ndRxYv6luE_5SMY/edit?usp=sharing slide della seconda lezione]. |
− | = | + | [https://docs.google.com/a/studenti.unimore.it/presentation/d/1Misqjnviix6cchHzOJW63cbkwXfVTZ9bJRGSDSTb0yg/edit?usp=sharing slide della terza lezione]. |
− | + | [https://docs.google.com/a/studenti.unimore.it/presentation/d/1bSc35PP8FzD8yBJhXtX9ZT8xQkoEFW25XkyWF7Px6yQ/edit?usp=sharing slide della quarta lezione]. | |
− | + | [https://docs.google.com/a/studenti.unimore.it/presentation/d/10V8uCy-8RTG_tzM1vQzZWEuR3A9VOiFnvsnv8foukX4/edit?usp=sharing slide della quinta lezione]. | |
− | [ | + | |
− | + | [https://docs.google.com/a/studenti.unimore.it/presentation/d/1OhulWvV01eniwVh-JArFte0a7du-j5WZCRNqTtTXN2U/edit?usp=sharing slide della sesta lezione]. | |
− | [ | + | |
− | + | ||
− | + | ||
− | [ | + | [https://docs.google.com/a/studenti.unimore.it/presentation/d/1qstWbLbLjbXPnrDilV7SQBDddPU1caHeN4CVBrLRAQc/edit?usp=sharing slide della settima lezione]. |
− | + | Invito ad esperimento: | |
− | = | + | '''[https://docs.google.com/a/studenti.unimore.it/presentation/d/1X0QjKCYcOA7yw_UcZewPrnRse82bFwdp_Oy-_HsZRxc/edit?usp=sharing invito ad esperimento].''' |
− | + | = Esercizi = | |
+ | Il testo e le soluzioni agli esercizi di laboratorio saranno pubblicati di settimana in settimana prima delle esercitazioni, in modo da dare agli studenti la possibilità di guardarli prima delle lezioni di laboratorio. | ||
− | [ | + | Gli esercizi si trovano su BitBucket a [https://bitbucket.org/agr_unimore/operativesystemsmsc.git questo indirizzo]''': non è necessario creare Account né effettuare Login: il repository è pubblico (read-only). |
− | |||
− | + | '''Per scaricare il codice:''' | |
− | + | ||
− | + | Aprite un terminale e lanciate: | |
− | + | ''git clone https://bitbucket.org/agr_unimore/operativesystemsmsc.git'' | |
− | + | Per lavorare in Eclipse: | |
− | + | 1) Aprire un nuovo progetto | |
− | + | 2) Copiare il contenuto della cartella src/ della cartella scaricata con git dentro alla cartella src/ del vostro progetto. | |
− | + | Qualunque studente trovi errori nel codice è '''fortemente''' invitato a comunicarmelo :) | |
+ | Il codice è stato scritto usando [https://www.jetbrains.com/idea/ IntelliJ], e potrebbero quindi esserci problemi nell'import in altri ambienti (es. in Eclipse): in questo caso, copiare ed incollare i file dentro un progetto Eclipse creato da voi risolve il problema. | ||
Per ogni problema non esitate a contattarmi. | Per ogni problema non esitate a contattarmi. | ||
Line 64: | Line 61: | ||
''Marco Galassi'' | ''Marco Galassi'' | ||
− | === | + | === Letture Utili === |
+ | Passaggio di parametri in Java: | ||
+ | * [http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value Is Java “pass-by-reference” or “pass-by-value”? (StackOverflow)] | ||
+ | * [http://javadude.com/articles/passbyvalue.htm Java is Pass-By-Value, Dammit!] | ||
− | + | Java Concurrency Tutorial: [https://docs.oracle.com/javase/tutorial/essential/concurrency/index.html link] | |
− | + | Java Thread Documentation: [http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html link] | |
− | + | ||
− | + | = Guida Eclipse = | |
− | + | [[Media:Eclipse.pdf | Eclipse]] | |
− | + | =Classi utili= | |
− | + | ==Package Monitor== | |
− | + | ||
+ | Il package monitor è da inserire in ogni progetto per il suo corretto funzionamento | ||
− | === | + | ===Package JAR=== |
− | + | [http://{{SERVERNAME}}/didattica/psoNOD/Lastmonitor/packageMonitorPSO.jar <font COLOR="#0000ff">Package Jar</font>] | |
− | + | ||
− | + | ||
− | + | ===Singoli File=== | |
+ | [http://{{SERVERNAME}}/didattica/psoNOD/Lastmonitor/Monitor.java <font COLOR="#0000ff">Monitor </font>] | ||
+ | |||
+ | [http://{{SERVERNAME}}/didattica/psoNOD/Lastmonitor/Cond.java <font COLOR="#0000ff">Cond </font>] | ||
− | + | [http://{{SERVERNAME}}/didattica/psoNOD/Lastmonitor/Urgent.java <font COLOR="#0000ff">Urgent </font>] | |
+ | |||
+ | [http://{{SERVERNAME}}/didattica/psoNOD/Lastmonitor/Mutex.java <font COLOR="#0000ff">Mutex </font>] | ||
+ | |||
+ | ==Template== | ||
+ | |||
+ | [http://{{SERVERNAME}}/didattica/psoNOD/Lastmonitor/TemplateMain.java <font COLOR="#0000ff">TemplateMain </font>] | ||
+ | |||
+ | [http://{{SERVERNAME}}/didattica/psoNOD/Lastmonitor/TemplateProcesso.java <font COLOR="#0000ff">TemplateProcesso </font>] | ||
+ | |||
+ | [http://{{SERVERNAME}}/didattica/psoNOD/Lastmonitor/TemplateMonitor.java <font COLOR="#0000ff">TemplateMonitor </font>] | ||
+ | |||
+ | = Esercizi vecchi = | ||
+ | |||
+ | Trovate molti testi e soluzioni a [http://www.didattica.agentgroup.unimore.it/wiki/index.php/EsamiPSO questa pagina]. | ||
− | + | Esercizi vecchi realizzati con il package monitor: per i testi dovrebbero essere recuperabili nella seguente [http://www.didattica.agentgroup.unimore.it/didattica/psoNOD/MONITOR.html#java pagina] | |
− | Esercizi vecchi realizzati con il package monitor. | + | |
=== Esercitazione 1 (Ponte) === | === Esercitazione 1 (Ponte) === | ||
Line 216: | Line 229: | ||
Codice della soluzione es. 2 Pronto Soccorso | Codice della soluzione es. 2 Pronto Soccorso | ||
− | [http://{{SERVERNAME}}/didattica/psoLM/Esami/ | + | [http://{{SERVERNAME}}/didattica/psoLM/Esami/11-12/19Set12/PS.java <font COLOR="#0000ff">PS (monitor)</font>] |
− | [http://{{SERVERNAME}}/didattica/psoLM/Esami/ | + | [http://{{SERVERNAME}}/didattica/psoLM/Esami/11-12/19Set12/ProvaPS.java <font COLOR="#0000ff">ProvaPS (main)</font>] |
− | + | ||
− | + | ||
+ | [http://{{SERVERNAME}}/didattica/psoLM/Esami/11-12/19Set12/Paziente.java <font COLOR="#0000ff">Paziente (processo)</font>] | ||
=== Esercitazione 5 (Officina e Parco Giochi) === | === Esercitazione 5 (Officina e Parco Giochi) === | ||
Line 243: | Line 255: | ||
Codice della soluzione es. 2 Parco giochi | Codice della soluzione es. 2 Parco giochi | ||
− | [http://{{SERVERNAME}}/didattica/psoLM/Esami/11-12/ | + | [http://{{SERVERNAME}}/didattica/psoLM/Esami/11-12/16Dic11/ParcoGiochi.java <font COLOR="#0000ff">ParcoGiochi (monitor)</font>] |
− | [http://{{SERVERNAME}}/didattica/psoLM/Esami/11-12/ | + | [http://{{SERVERNAME}}/didattica/psoLM/Esami/11-12/16Dic11/ProvaParco.java <font COLOR="#0000ff">ProvaParco (main)</font>] |
− | [http://{{SERVERNAME}}/didattica/psoLM/Esami/11-12/ | + | [http://{{SERVERNAME}}/didattica/psoLM/Esami/11-12/16Dic11/Giostra.java <font COLOR="#0000ff">Giostra (processo)</font>] |
− | [http://{{SERVERNAME}}/didattica/psoLM/Esami/11-12/ | + | [http://{{SERVERNAME}}/didattica/psoLM/Esami/11-12/16Dic11/Persona.java <font COLOR="#0000ff">Persona (processo)</font>] |
Line 412: | Line 424: | ||
=== Biblioteca === | === Biblioteca === | ||
− | [http://{{SERVERNAME}}/didattica/psoNOD/Lastmonitor/Biblioteca.java <font COLOR="#0000ff">Biblioteca (monitor)</font>] | + | <!--[http://www.didattica.agentgroup.unimore.it/didattica/corsoso/testiEsami/99-00/16giu00.pdf Testo dell'esame in cui era contenuto il problema della Biblioteca (16/06/2000)] |
+ | -->[http://{{SERVERNAME}}/didattica/psoNOD/Lastmonitor/Biblioteca.java <font COLOR="#0000ff">Biblioteca (monitor)</font>] | ||
[http://{{SERVERNAME}}/didattica/psoNOD/Lastmonitor/ProvaBiblioteca.java <font COLOR="#0000ff">ProvaBiblioteca (main)</font>] | [http://{{SERVERNAME}}/didattica/psoNOD/Lastmonitor/ProvaBiblioteca.java <font COLOR="#0000ff">ProvaBiblioteca (main)</font>] | ||
[http://{{SERVERNAME}}/didattica/psoNOD/Lastmonitor/UtenteBiblioteca.java <font COLOR="#0000ff">UtenteBiblioteca (processo)</font>] | [http://{{SERVERNAME}}/didattica/psoNOD/Lastmonitor/UtenteBiblioteca.java <font COLOR="#0000ff">UtenteBiblioteca (processo)</font>] | ||
− | |||
− | |||
=== Call Centre === | === Call Centre === |
Latest revision as of 12:54, 22 December 2021
Contents
- 1 Esercitazioni
- 2 Slide del corso
- 3 Esercizi
- 4 Guida Eclipse
- 5 Classi utili
- 6 Esercizi vecchi
- 6.1 Esercitazione 1 (Ponte)
- 6.2 Esercitazione 2 (Deposito bagagli e Pizzeria al taglio)
- 6.3 Esercitazione 3 (Raccolta differenziata e Giostra)
- 6.4 Esercitazione 4 (Elezioni e Pronto soccorso)
- 6.5 Esercitazione 5 (Officina e Parco Giochi)
- 6.6 Esercitazione 6 (Terremoto e Albergo)
- 6.7 Esercitazione 7 (Negozio Cellulari e Elicottero)
- 6.8 Centro Prelievi
- 6.9 Ferrovia
- 6.10 Ambasciata
- 6.11 Museo
- 6.12 Sala parto
- 6.13 Asilo
- 6.14 Centro agopuntura
- 6.15 Distributore
- 6.16 Biblioteca
- 6.17 Call Centre
- 6.18 Sagra
- 6.19 Traghetto
- 6.20 Pastificio
- 6.21 Campo da golf
- 6.22 Frantoio
- 6.23 Parcheggio
- 6.24 Ufficio postale
- 6.25 Lavanderia
- 6.26 Traghetto
Esercitazioni
Ogni settimana verranno aggiunti in questa pagina gli esercizi proposti a lezione (venerdì mattina in laboratorio LINFA) e la soluzione agli esercizi della settimana precedente.
Informazioni sul docente
Dall'A.A. 2015-16
Negli A.A. precedenti
Ph.D. Ricercatrice Mariachiara Puviani
Slide del corso
Le slide le trovate su google docs.
Invito ad esperimento:
Esercizi
Il testo e le soluzioni agli esercizi di laboratorio saranno pubblicati di settimana in settimana prima delle esercitazioni, in modo da dare agli studenti la possibilità di guardarli prima delle lezioni di laboratorio.
Gli esercizi si trovano su BitBucket a questo indirizzo: non è necessario creare Account né effettuare Login: il repository è pubblico (read-only).
Per scaricare il codice:
Aprite un terminale e lanciate:
git clone https://bitbucket.org/agr_unimore/operativesystemsmsc.git
Per lavorare in Eclipse:
1) Aprire un nuovo progetto
2) Copiare il contenuto della cartella src/ della cartella scaricata con git dentro alla cartella src/ del vostro progetto.
Qualunque studente trovi errori nel codice è fortemente invitato a comunicarmelo :)
Il codice è stato scritto usando IntelliJ, e potrebbero quindi esserci problemi nell'import in altri ambienti (es. in Eclipse): in questo caso, copiare ed incollare i file dentro un progetto Eclipse creato da voi risolve il problema.
Per ogni problema non esitate a contattarmi.
Marco Galassi
Letture Utili
Passaggio di parametri in Java:
Java Concurrency Tutorial: link
Java Thread Documentation: link
Guida Eclipse
Classi utili
Package Monitor
Il package monitor è da inserire in ogni progetto per il suo corretto funzionamento
Package JAR
Singoli File
Template
Esercizi vecchi
Trovate molti testi e soluzioni a questa pagina.
Esercizi vecchi realizzati con il package monitor: per i testi dovrebbero essere recuperabili nella seguente pagina
Esercitazione 1 (Ponte)
30/10/15
Testo degli esercizi: Ponte.pdf
Codice della soluzione es.1 Ponte Semplice:
Ponte (interfaccia -opzionale-)
Codice della soluzione es.2 Ponte con capacità limitata:
(i file Auto e Ponte sono uguali a quelli dell'esempio precedente)
Codice della soluzione es.3 Ponte con capacità limitata e senza starvation:
(i file Auto e Ponte sono uguali a quelli dell'esempio precedente)
Codice della soluzione es.4 Ponte con capacità limitata e macchine con peso:
Esercitazione 2 (Deposito bagagli e Pizzeria al taglio)
13/11/15
Testo degli esercizi: Es2.pdf
Codice della soluzione es.1 Deposito bagagli:
Codice della soluzione es.2 Pizzeria al taglio
Esercitazione 3 (Raccolta differenziata e Giostra)
27/10/14
Testo degli esercizi: Es3.pdf
Codice della soluzione es.1 Raccolta differenziata:
Codice della soluzione es.2 Giostra:
Esercitazione 4 (Elezioni e Pronto soccorso)
03/11/14
Testo degli esercizi: Es4.pdf
Codice della soluzione es. 1 Elezioni:
MonitorSistemaElettorale (monitor)
Codice della soluzione es. 2 Pronto Soccorso
Esercitazione 5 (Officina e Parco Giochi)
17/11/14
Testo degli esercizi: Es5.pdf
Codice della soluzione es. 1 Officina
Codice della soluzione es. 2 Parco giochi
Esercitazione 6 (Terremoto e Albergo)
24/11/14
Testo degli esercizi: Es6.pdf
Codice della soluzione es.1 Albergo:
Codice della soluzione es.2 Terremoto:
Esercitazione 7 (Negozio Cellulari e Elicottero)
01/12/2014
Testo degli esercizi: Es7.pdf
Codice della soluzione es.1 Negozio Cellulari:
Codice della soluzione es.2 Elicottero
Centro Prelievi
Codice della soluzione es.1 Centro prelievi:
Ferrovia
Codice della soluzione es.2 Ferrovia:
ProvaStazioneFerroviarie (main)
Ambasciata
Codice della soluzione es.1 Ambasciata:
Museo
Codice della soluzione es.2 Museo:
Sala parto
Codice della soluzione es.1 Sala Parto:
Asilo
Codice della soluzione es.2 Asilo:
Centro agopuntura
Distributore
Codice della soluzione es.1 Distributore:
Biblioteca
Call Centre
Codice della soluzione es.2 Call Centre:
Sagra
Codice della soluzione es.1 Sagra:
Traghetto
Codice della soluzione es.1 Traghetto:
Pastificio
Codice della soluzione es.1 Pastificio:
Campo da golf
Codice della soluzione es.2 Campo da golf:
Frantoio
Codice della soluzione es 2. Frantoio:
Parcheggio
Codice della soluzione es.2 Parcheggio:
Ufficio postale
soluzione alternativa proposta da uno studente:
Lavanderia
Traghetto
Codice della soluzione es1. Traghetto:
Il testo e la soluzione delle prove d'esame li trovate alla pagina relativa agli esami.