Version 359 (modified by 5 years ago) ( diff ) | ,
---|
Laboratorio di Sistemi Operativi
Edizione per gli studenti del corso di laurea in "Sicurezza dei sistemi e delle reti informatiche" (F68)
ATTENZIONE
- l'ultima lezione si terrà il 7 gennaio 14:30-18:30 in aula Lambda;
- l'iscrizione agli esami di laboratorio avviene tramite email secondo le modalità che verranno segnalate Avvisi circa una settimana prima della data dell'esame.
-
Laboratorio di Sistemi Operativi
- ATTENZIONE
- Materiale 2019/2020
- 1. 7 ottobre 2019 (Aula 303)
- 2. 14 ottobre 2019 (Aula Delta)
- 3. 21 ottobre 2019 (Aula Delta)
- 4. 28 ottobre 2019 (Aula Delta)
- 5. 4 novembre 2019 (Aula Delta)
- 6. 11 novembre 2019 (Aula Delta)
- 7. 18 novembre 2019 (Aula Delta)
- 8. 25 novembre 2019 (Aula Delta)
- 9. 2 dicembre 2019 (Aula Delta)
- 10. 9 dicembre 2019 (Aula Delta)
- 11. 9 dicembre 2019 (Aula Delta)
- 12. 7 gennaio 2019 (Aula Lambda)
- Materiale aa.aa. precedenti
Materiale 2019/2020
- Calendario delle lezioni e degli esami di laboratorio
- Avvisi
- Il sito principale del corso
- Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau "Operating Systems: Three Easy Pieces", 2015 (Testo di riferimento)
1. 7 ottobre 2019 (Aula 303)
- Slide -- Slide (Versione per la stampa)
- Sperimentazione 1
- Riferimenti OSTEP: Introduction Lab tutorial
- Hai studiato il materiale della prima lezione? Prova a rispondere ad alcune domande
2. 14 ottobre 2019 (Aula Delta)
- Slide -- Slide (Versione per la stampa)
- ISO Debian live (credenziali user:live) Può essere usata come CD live (cioè d'avvio) oppure più comodamente con un emulatore.
qemu-system-i386 -cdrom /path/dove/hai/messo/solab.iso
# meglio con 768M di memoria qemu-system-i386 -m 768 -cdrom /path/dove/hai/messo/solab.iso
# è utile usare attivare la rete e connettersi con ssh -p 8022 user@localhost per evitare problemi con la tastiera, soprattutto in ambiente Windows & Mac qemu-system-i386 -m 768 -net nic,model=virtio -net user,hostfwd=tcp::8022-:22 -cdrom /path/dove/hai/messo/solab.iso
# In ambiente Linux l'emulatore kernel KVM velocizza parecchio l'esecuzione qemu-system-i386 -m 768 -enable-kvm -net nic,model=virtio -net user,hostfwd=tcp::8022-:22 -cdrom /path/dove/hai/messo/solab.iso
- QEmu MobaXTerm (utile per gli utenti Windows)
- Bigino NASM Bigino GDB Tutorial vi Bigino vi
- Appunti esercizi
3. 21 ottobre 2019 (Aula Delta)
- Slide -- Slide (Versione per la stampa)
- Riferimento istruzioni X86 (32bit)
- Appunti esercizi
- 50 anni di Unix!
- Riferimenti OSTEP: The Abstraction: Address Spaces Interlude: Memory API
4. 28 ottobre 2019 (Aula Delta)
- Slide -- Slide (Versione per la stampa)
- Riferimenti OSTEP: Process API
- UnaShellEssenziale
5. 4 novembre 2019 (Aula Delta)
- Slide -- Slide (Versione per la stampa)
- Memrise (utile per memorizzare i comandi principali)
- CMD Challenge (un po' di esercizi; per chi volesse cimentarsi in esercizi più orientati alla sicurezza:
ssh -p 2220 -l bandit0 -x bandit.labs.overthewire.org
, password bandit0) - Knuth vs. McInroy (accessibile gratuitamente da IP unimi o via proxy; TL;DR
tr -cs A-Za-z '\n' | tr A-Z a-z | sort | uniq -c | sort -rn | head
)
6. 11 novembre 2019 (Aula Delta)
7. 18 novembre 2019 (Aula Delta)
- Slide -- Slide (Versione per la stampa)
- Riferimenti OSTEP: Hard Disk Drives
- Esercizio i-node
8. 25 novembre 2019 (Aula Delta)
- Slide -- Slide (Versione per la stampa)
- Riferimenti OSTEP: Locks Semaphores
9. 2 dicembre 2019 (Aula Delta)
- Disco per la persistenza formato QEmu formato VirtualBox
- Esercitazione JOS (MIT) Lab1
- Slide -- Slide (Versione per la stampa)
10. 9 dicembre 2019 (Aula Delta)
11. 9 dicembre 2019 (Aula Delta)
12. 7 gennaio 2019 (Aula Lambda)
Esame
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); 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
- Materiale 2018/2019 (corso di laurea in Informatica)
- Materiale 2017/2018 (corso di laurea in Informatica)
- Materiale 2016/2017 (corso di laurea in Informatica)
- Materiale 2015/2016 (corso di laurea in Informatica)
- Materiale 2014/2015 (corso di laurea in Informatica)
- Materiale 2013/2014 (corso di laurea in Informatica)
- Materiale 2012/2013 (corso di laurea in Informatica)
- Materiale 2011/2012 (corso di laurea in Informatica)
- Materiale 2010/2011 (corso di laurea in Informatica)
- Materiale 2009/2010 (corso di laurea in Informatica)
- Materiale 2008/2009 (corso di laurea in Informatica)
Note:
See TracWiki
for help on using the wiki.