= Laboratorio di Sistemi Operativi =
Aggiungete pure (con [http://it.reddit.com/r/unimi_solab Reddit]) i link che vi sembrano interessanti per il corso e votate quelli già esistenti!
(Quelli che riportano il //flair//
{{{#!html
consigliato
}}}
sono stati citati a lezione e sono **fortemente consigliati** per la preparazione all'esame)
{{{
#!html
}}}
[[PageOutline]]
== Materiale 2014/2015 ==
* [https://www.google.com/calendar/embed?src=h8vcei0cpi8qj7h36u394rbctk%40group.calendar.google.com&ctz=Europe/Rome Calendario delle lezioni]
* [http://homes.di.unimi.it/sisop/blog/blosxom.cgi/index.html Avvisi]
* [http://homes.di.unimi.it/sisop/ Il sito principale del corso]
* [http://homes.di.unimi.it/re/solab2.html Il sito con il materiale delle lezioni di Matteo Re]
=== 1. 4 marzo 2015
* [http://homes.di.unimi.it/~sisop/lucidi1415/solab01.pdf Slide] [http://homes.di.unimi.it/~sisop/lucidi1415/solab01-handout.pdf Slide (versione per la stampa)]
* [http://www.nasm.us/ NASM]
* [http://wiki.qemu.org/Main_Page Qemu] [http://homes.di.unimi.it/~sisop/lucidi1415/qemu-mobax-win-solab.zip Qemu e MobaXTerm per Windows (31MB SHA1 d353fade4daa4309309e4cb394f43e629810e7c8)]
* ["Sperimentazione 1"]
=== 2. 11 marzo 2015
* [http://homes.di.unimi.it/~sisop/lucidi1415/solab02.pdf Slide] [http://homes.di.unimi.it/~sisop/lucidi1415/solab02-handout.pdf Slide (versione per la stampa)]
* [http://homes.di.unimi.it/~sisop/lucidi1415/solab.iso Live CD version: @ Tue Mar 10 09:53:53 2015 +0100 5958933 @ (137MB SHA1 14c668b61a282e99612d0cb125d26d873711d179)] (credenziali user:live)
* [https://www.cs.uaf.edu/2006/fall/cs301/support/x86/ NASM Cheat sheet]
* ["Sperimentazione 2"]
=== 3. 18 marzo 2015
* [http://homes.di.unimi.it/~sisop/lucidi1415/solab03.pdf Slide] [http://homes.di.unimi.it/~sisop/lucidi1415/solab03-handout.pdf Slide (versione per la stampa)]
* ["Sperimentazione 3"]
=== 4. 25 marzo 2015
* [http://homes.di.unimi.it/~sisop/lucidi1415/solab04.pdf Slide] [http://homes.di.unimi.it/~sisop/lucidi1415/solab04-handout.pdf Slide (versione per la stampa)]
=== 5. 1 aprile 2015
* [http://homes.di.unimi.it/~sisop/lucidi1415/solab05.pdf Slide] [http://homes.di.unimi.it/~sisop/lucidi1415/solab05-handout.pdf Slide (versione per la stampa)]
* [http://homes.di.unimi.it/~sisop/lucidi1314/lab01.pdf Esercizio i-node]
=== 6. 15 aprile 2015
* [http://homes.di.unimi.it/~sisop/lucidi1415/solab06.pdf Slide] [http://homes.di.unimi.it/~sisop/lucidi1415/solab06-handout.pdf Slide (versione per la stampa)]
=== 7. 22 aprile 2015
* [http://homes.di.unimi.it/~sisop/lucidi1415/solab07.pdf Slide] [http://homes.di.unimi.it/~sisop/lucidi1415/solab07-handout.pdf Slide (versione per la stampa)]
=== 8. 29 aprile 2015
* [http://homes.di.unimi.it/~sisop/lucidi1415/solab08.pdf Slide] [http://homes.di.unimi.it/~sisop/lucidi1415/solab08-handout.pdf Slide (versione per la stampa)]
=== 9. 6 maggio 2015
=== 13 maggio 2015 Lezione sospesa
=== 10. 20 maggio 2015
=== 27 maggio 2015 Lezione sospesa
=== 11. 3 giugno 2015
=== 12. 10 giugno 2015
=== Esame
* [wiki:TemaDEsame]
* [http://homes.di.unimi.it/~sisop/lucidi1213/solab-esame.iso Sistema live usato durante l'esame (116MiB, SHA1 9d1aed82668b6c95fb25d5d7cd1255039d531af7)]
* [http://homes.di.unimi.it/~sisop/lucidi1213/persistence-esame.qcow Disco aggiuntivo per la persistenza con Qemu per l'esercizio JOS (992KiB)]
La procedura per finalizzare l''''intero''' esame di ''Sistemi Operativi I e II'' è riassunta di seguito:
{{{
#!c
#include
#include
#include
#include
int solab(void) {
return rand() % 31;
}
int teoria(void) {
return rand() % 31;
}
int main() {
int fds[2], rt, rl;
printf("Iscrizione SIFA a (entrambi) Sistemi Operativi I e II\n");
pipe(fds);
srand(time(NULL));
if (fork() == 0) {
int r;
do {
sleep(rand() % 2);
r = solab();
printf("Voto laboratorio: %d\n", r);
} while (r < 18);
close(fds[0]);
write(fds[1], &r, sizeof(r));
return 0;
}
do {
sleep(rand() % 3);
rt = teoria();
printf("Voto teoria: %d\n", rt);
srand(time(NULL));
} while (rt < 18);
close(fds[1]);
read(fds[0], &rl, sizeof(rl));
printf("Registrazione (occorre essere iscritti SIFA) di Sistemi Operativi I e II: %u \n",
(unsigned int)((3.*(float)rl + 9.*(float)rt)/12.));
return 0;
}
}}}
== Materiale aa.aa. precedenti ==
* [wiki:WikiStart@193 Materiale 2013/2014]
* [wiki:WikiStart@168 Materiale 2012/2013]
* [wiki:WikiStart@124 Materiale 2011/2012]
* [wiki:WikiStart@98 Materiale 2010/2011]
* [wiki:WikiStart@66 Materiale 2009/2010]
* [wiki:WikiStart@49 Materiale 2008/2009]
{{{
#!html
}}}