informatica:sol:laboratorio19:esercitazionib:esercitazione8
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
informatica:sol:laboratorio19:esercitazionib:esercitazione8 [10/04/2019 alle 13:14 (6 anni fa)] – Massimo Torquati | informatica:sol:laboratorio19:esercitazionib:esercitazione8 [16/04/2019 alle 05:34 (6 anni fa)] (versione attuale) – Massimo Torquati | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
====== Esercitazione 8 ====== | ====== Esercitazione 8 ====== | ||
- | |||
===== Esercizio 1 ===== | ===== Esercizio 1 ===== | ||
- | Scrivere un programma C che appena attivato va immediatamente in background, attende per X secondi (eseguendo il programma | + | Implementare utilizzando le chiamate di sistema |
+ | < | ||
+ | mycat file1 [fileN]. | ||
+ | </ | ||
===== Esercizio 2 ===== | ===== Esercizio 2 ===== | ||
+ | |||
+ | Scrivere un programma C che appena attivato va immediatamente in background, attende per X secondi (eseguendo il programma ''/ | ||
+ | |||
+ | ===== Esercizio 3 ===== | ||
Un processo //zombie// è un processo terminato ma che ancora possiede delle risorse (' | Un processo //zombie// è un processo terminato ma che ancora possiede delle risorse (' | ||
Linea 12: | Linea 18: | ||
Scrivere un programma che prende un intero N come argomento e crea N processi zombies. Lanciare il programma in background e visualizzare gli zombies con il comando bash '' | Scrivere un programma che prende un intero N come argomento e crea N processi zombies. Lanciare il programma in background e visualizzare gli zombies con il comando bash '' | ||
- | ===== Esercizio | + | ===== Esercizio |
Scrivere un programma C che prende come argomento un intero N>1. L' | Scrivere un programma C che prende come argomento un intero N>1. L' | ||
Linea 27: | Linea 33: | ||
--- 20895: terminato con successo | --- 20895: terminato con successo | ||
---- 20894: terminato con successo | ---- 20894: terminato con successo | ||
+ | |||
</ | </ | ||
+ | |||
+ | ===== Esercizio 5 ===== | ||
+ | |||
+ | Completare il codice seguente in modo che il programma calcoli i primi 13 numeri di Fibonacci utilizzando per ogni chiamata '' | ||
+ | |||
+ | < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | /* | ||
+ | * Calcola ricorsivamente il numero di Fibonacci dell' | ||
+ | * La soluzione deve forkare un nuovo processo che esegue una sola | ||
+ | * chiamata di ' | ||
+ | * Se doPrint e' 1 allora la funzione lo stampa, altrimenti il | ||
+ | * numero calcolato va passato al processo padre. | ||
+ | */ | ||
+ | static void doFib(int n, int doPrint); | ||
+ | |||
+ | int main(int argc, char *argv[]) { | ||
+ | // questo programma puo' calcolare i numeri di Fibonacci solo fino a 13. | ||
+ | const int NMAX=13; | ||
+ | int arg; | ||
+ | | ||
+ | if(argc != 2){ | ||
+ | fprintf(stderr, | ||
+ | return EXIT_FAILURE; | ||
+ | } | ||
+ | arg = atoi(argv[1]); | ||
+ | if(arg < 0 || arg > NMAX){ | ||
+ | fprintf(stderr, | ||
+ | return EXIT_FAILURE; | ||
+ | } | ||
+ | doFib(arg, 1); | ||
+ | return 0; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
informatica/sol/laboratorio19/esercitazionib/esercitazione8.1554902050.txt.gz · Ultima modifica: 10/04/2019 alle 13:14 (6 anni fa) da Massimo Torquati