Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio16:esercitazionia:esercitazione7

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
informatica:sol:laboratorio16:esercitazionia:esercitazione7 [12/04/2016 alle 07:46 (9 anni fa)] Massimo Torquatiinformatica:sol:laboratorio16:esercitazionia:esercitazione7 [13/04/2016 alle 13:15 (9 anni fa)] (versione attuale) Massimo Torquati
Linea 1: Linea 1:
-====== Esercitazione ======+====== Esercitazione ======
  
-System calls (SC) che operano su directory. Per gli esercizi proposti si richiede di realizzare un Makefile.+System calls (SC) che operano su directory e SC per la creazione ed attesa di terminazione di processi (fork, wait, waitpid). Per gli esercizi proposti si richiede di realizzare un Makefile.
  
 ===== Esercizio 1 ===== ===== Esercizio 1 =====
  
-Scrivere un programma C che dati come argomenti una lista di file o directory stampa per ogni file: il tipo di file (-,l,d,s,...) la machera di bit di protezione (es. rw-r--r--),  l'user identifier (uid), il group identifier (gid) ed il tempo dell'ultima modifica. +Scrivere un programma C che dati come argomenti una lista di file o directory stampa per ogni file: il nome del file, il numero dell'inodo, il tipo di file (-,l,d,s,...) la machera di bit di protezione (es. rw-r--r--),  l'user identifier (uid), il group identifier (gid), la size ed il tempo dell'ultima modifica. 
 Per convertire il tempo di ultima modifica in un formato stampabile usare la funzione di libreria ''ctime''. Usare ''getpwuid'' e ''getgrgid'' per convertire uid e gid nei nomi corrispondenti. Per convertire il tempo di ultima modifica in un formato stampabile usare la funzione di libreria ''ctime''. Usare ''getpwuid'' e ''getgrgid'' per convertire uid e gid nei nomi corrispondenti.
  
Linea 22: Linea 22:
 </code> </code>
 Durante la visita dell'albero di directory non cosiderare le directory ''.'' e ''..''. Durante la visita dell'albero di directory non cosiderare le directory ''.'' e ''..''.
 +
 +===== Esercizio 3 =====
 +
 +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 ''ps -A -ostat,pid,ppid | grep Z''
 +
 +===== Esercizio 4 =====
 +
 +Scrivere un programma C che prende come argomento un intero N>1. L'intero N rappresenta il numero di processi figli che devono essere creati in totale.  I processi vanno creati come segue: il processo main stampa il suo pid e crea un figlio attendendone quindi la sua terminazione, il processo figlio a sua volta stampa il suo pid e crea un altro figlio attendendone la terminazione e cosi' via fino ad ottenere N processi figli in tutto. L'output formattato che si richiede che venga stampato sullo standard output e' il seguente: 
 +<code>
 +./family 4
 +---- 20894: creo un processo figlio
 +--- 20895: creo un processo figlio
 +-- 20896: creo un processo figlio
 +- 20897: creo un processo figlio
 +20898: sono l'ultimo discendente
 +20898: terminato con successo
 +- 20897: terminato con successo
 +-- 20896: terminato con successo
 +--- 20895: terminato con successo
 +---- 20894: terminato con successo
 +</code>
 +
 +
 +
  
  
informatica/sol/laboratorio16/esercitazionia/esercitazione7.1460447202.txt.gz · Ultima modifica: 12/04/2016 alle 07:46 (9 anni fa) da Massimo Torquati

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki