Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-Process Worker Pool

Overview

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.

Technical Concepts

  • C Programming
  • Process Creation (fork)
  • Inter-Process Communication (IPC)
  • Pipes
  • Concurrent Task Processing
  • File Input/Output
  • Systems Programming
  • Process Synchronization

My Contribution

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

Example Usage

./workerpool -n 4 -f input.txt

Learning Outcomes

This project strengthened my understanding of operating systems concepts, concurrent programming, process management, and low-level software development in C.

About

Multi-process worker pool in C using fork(), pipes, and IPC.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages