informatica:sol:laboratorio15:esercitazionia:esercitazione7
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Prossima revisione | Revisione precedente | ||
informatica:sol:laboratorio15:esercitazionia:esercitazione7 [27/04/2015 alle 19:50 (10 anni fa)] – creata Massimo Torquati | informatica:sol:laboratorio15:esercitazionia:esercitazione7 [28/04/2015 alle 16:11 (10 anni fa)] (versione attuale) – Massimo Torquati | ||
---|---|---|---|
Linea 40: | Linea 40: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | ===== Esercizio 2 ===== | ||
+ | |||
+ | Scrivere un programma che prende un intero N come argomento e crea N processi zombies. | ||
+ | |||
+ | ===== Esercizio 3 ===== | ||
+ | |||
+ | Scrivere un programma chiamato '' | ||
+ | utilizzando una pipeline di 3 processi. | ||
+ | Il primo processo esegue il comando '' | ||
+ | il comando '' | ||
+ | '' | ||
+ | < | ||
+ | bash $> ps -A -ostat,pid | grep -e [zZ] | awk ' | ||
+ | </ | ||
+ | |||
+ | PS: per testare il programma utilizzare il programma prodotto nell' | ||
+ | |||
+ | ===== Esercizio 4 ===== | ||
+ | |||
+ | Considerare il seguento programma '' | ||
+ | < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | #define SYSCALL(r, | ||
+ | int main(int argc, char *argv[]) { | ||
+ | int x,r; | ||
+ | if (argc>1) { | ||
+ | x = atoi(argv[1]); | ||
+ | if (x<0) goto fine; | ||
+ | SYSCALL(r, write(1, & | ||
+ | } | ||
+ | do { | ||
+ | SYSCALL(r, | ||
+ | if (r==0) { | ||
+ | fprintf(stderr, | ||
+ | return 0; | ||
+ | } | ||
+ | fprintf(stderr, | ||
+ | --x; | ||
+ | if (x< | ||
+ | SYSCALL(r, write(1, & | ||
+ | } while(1); | ||
+ | fine: | ||
+ | fprintf(stderr, | ||
+ | return 0; | ||
+ | } | ||
+ | </ | ||
+ | Scrivere un programma ('' | ||
+ | |||
+ |
informatica/sol/laboratorio15/esercitazionia/esercitazione7.1430164236.txt.gz · Ultima modifica: 27/04/2015 alle 19:50 (10 anni fa) da Massimo Torquati