This project implements a multi-process worker pool in C using operating system concepts such as process creation (fork), inter-process communication (pipes), task scheduling, and result aggregation.
The program distributes text-processing tasks across multiple worker processes. Each worker analyzes assigned input lines and computes statistics including:
- Number of lines
- Number of words
- Number of characters
- Number of vowels
The parent process collects results from all workers and generates a final summary report.
- C Programming
- Process Creation (
fork) - Inter-Process Communication (IPC)
- Pipes
- Concurrent Task Processing
- File Input/Output
- Systems Programming
- Process Synchronization
I independently implemented:
- Worker process creation and management
- Task distribution across workers
- IPC using pipes
- Result aggregation
- Text-processing functions
- Command-line argument parsing
- Final reporting and worker utilization statistics
./workerpool -n 4 -f input.txtThis project strengthened my understanding of operating systems concepts, concurrent programming, process management, and low-level software development in C.