Version 191 (modified by 10 years ago) ( diff ) | ,
---|
Laboratorio di Sistemi Operativi
Aggiungete pure (con Reddit) i link che vi sembrano interessanti per il corso e votate quelli già esistenti! (Quelli che riportano il flair
sono stati citati a lezione e sono fortemente consigliati per la preparazione all'esame)
-
Laboratorio di Sistemi Operativi
- Materiale 2013/2014
- Materiale aa.aa. precedenti
Materiale 2013/2014
- Calendario delle lezioni
- Avvisi
- Il sito principale del corso
- Il sito con il materiale delle lezioni di Matteo Re
1. 5 marzo 2014 (Aula)
2. 12 marzo 2014 (Lab)
- Slide -- Slide (Versione per la stampa)
- ISO LiveCD Mon Dec 30 09:28:56 2013 +0100 fdf1cdd (119MiB SHA1 014fca5dd7651ef35beec0e1f318ae5d2b1fd591)
- Qemu per Windows (11MiB) Altre versioni di Qemu
- Sperimentazione 2
- Tutto vi in una schermata (tastiera italiana)
3. 19 marzo 2014 (Lab)
4. 26 marzo 2014 (Aula+Lab)
5. 2 aprile 2014 (Lab)
- Slide -- Slide (Versione per la stampa)
- Thread isolati
- Thread memoria condivisa
- Thread sincronizzati con Peterson
- Thread sincronizzati con "TSL" enter.asm
- PThread sincronizzati con semafori
6. 16 aprile 2014 (Lab)
- Slide -- Slide (Versione per la stampa)
- PThread sincronizzati con monitor
- Wikipedia on Unix philosophy
- Per familiarizzare con shell e comandi, può essere utile una fase di memorizzazione con Memrise
7. 23 aprile 2014 (Lab)
8. 30 aprile 2014 (Lab)
9. 7 maggio 2014 (Lab)
- Slide -- Slide (Versione per la stampa)
- MIT Lab 1
- Disco aggiuntivo per la persistenza con Qemu con JOS (persistence-jos.qcow, 1.4MiB)
14 maggio 2014: lezione sospesa
10. 21 maggio 2014 (Lab)
11. 28 maggio 2014 (Lab)
4 giugno 2014: Lezione sospesa
12. 11 giugno 2014 (Lab)
Esame
- TemaDEsame
- Sistema live usato durante l'esame (116MiB, SHA1 9d1aed82668b6c95fb25d5d7cd1255039d531af7)
- 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:
#include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <time.h> 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); 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); 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
Note:
See TracWiki
for help on using the wiki.