Recap: Parallel Word Counter
Combină fork, pipes și thread-uri: toate conceptele de OS într-o singură provocare
Misiune: Numărătoarea de cuvinte pe banda perforată
O bandă perforată foarte lungă a ajuns la centrul de calcul și trebuie numărate cuvintele de pe ea. Un proces copil face numărătoarea și trimite rezultatul înapoi la părinte printr-un pipe, ca să fie înregistrat în jurnal.
Datele sunt deja în dreapta. Fă următoarele, în ordine:
- Scrie int numara_cuvinte(const char *text): numără cuvintele separate prin spații
- Creează un pipe, apoi fă fork
- Copilul numără cuvintele din text, tabloul deja declarat ("Vulpea bruna sare repede peste cainele lenes din curte"), convertește numărul într-un șir cu sprintf, îl scrie în pipe și iese
- Părintele citește numărul din pipe și afișează rezultatul, apoi așteaptă copilul
Exemplu
Programul tău ar trebui să afișeze
Copilul a numarat: 9 cuvinte
Folosește pipe(), fork(), write()/read() pentru comunicarea prin pipe și sprintf() pentru a formata numărul