SITO1 -- SITO2 -- Forum1 -- CercaGlobale -- Informativa su Cookie e Privacy


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Aiutooo
#1
Ciao a tutti qualcuno riuscirebbe a darmi una mano con questo esercizio di sistemi operativi?
la Parte shell fatta devo fare la parte C... qualcuno può aiutarmi?
Grazie in anticipo

Esercizio 
Si realizzi un programma concorrente per UNIX che deve avere una parte in Bourne Shell e una parte in C. La parte in Shell deve prevedere due parametri: il primo deve essere il nome assoluto di un direttorio che identifica una gerarchia (G) all’interno del file system, mentre il secondo parametro deve essere considerato un numero intero strettamente positivo (H). Il programma deve cercare nella gerarchia G specificata tutti i direttori che contengono almeno due file che abbiano un numero di linee uguale ad H: si riporti il nome assoluto di tali direttori sullo standard output. In ogni direttorio trovato, si deve invocare la parte in C, passando come parametri i nomi assoluti dei file trovati (F1, F2, ... FM) e il numero H. 

La parte in C accetta un numero variabile di parametri che rappresentano nomi assoluti di file (F1, F2, ... FM) e un numero intero strettamente positivo (H): il numero di file è variabile ma comunque maggiore o uguale a 2; si effettuino i necessari controlli sul numero dei parametri e sull’ultimo parametro considerando, senza verificarlo, che tutti i file abbiano esattamente H linee. Il processo padre deve creare M processi figli (P0 … PM-1): ogni processo figlio è associato ad uno dei file Fi. I processi figli eseguono concorrentemente ed elaborano tutte le H linee del file associato. In particolare, per ogni linea, ciascun processo figlio Pi comunica al padre il primo carattere della linea corrente, e aspetta che il padre gli comunichi se stampare la linea su standard output o meno, e così via per tutte le linee. Il processo padre, per ognuna delle H linee elaborate dai figli, attende che tutti figli gli comunichino un carattere a testa, e comunica di scrivere la linea al figlio che ha mandato il carattere con codice ASCII maggiore, mentre agli altri figli comunica che non devono scrivere. Al termine i processi figli comunicano al padre quante linee hanno scritto sullo standard output e il padre deve stampare su standard output i PID di ogni figlio con il corrispondente valore ritornato.
Cita messaggio
Grazie da:
#2
Rivolgiti ad un forum che parla solo di programmazione ed in particolare di programmazione di sistemi operativi.
E specifica scuola/classe che frequenti o Università/quale-indirizzo. Hai bisogno di persone che "lavorano" normalmente con problemi simili altrimenti non ti risponderà mai nessuno.
Il mio blog: ZEROZEROCENT.BLOGSPOT.COM
LEGGE DI MURPHY: SE QUALCOSA PUO' ANDAR MALE, LO FARA'
VERSIONE QUANTISTICA DELLA LEGGE DI MURPHY: TUTTO VA MALE CONTEMPORANEAMENTE
Cita messaggio
Grazie da:
#3
E, se mi posso permettere, usa un titolo che indichi meglio il tuo problema. At
"Le avversità spesso ci piegano ma la ns. forza ci risolleva sempre.

Ubuntu 16.04 - Ubuntu 18.04 - MX-Linux 18.2 - Mint 19 Tessa
Cita messaggio
Grazie da:


Vai al forum:


Utenti che stanno guardando questa discussione: