Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project has been created as part of the 42 curriculum by anashwan

minitalk

Description

Overview

minitalk is a small project focused on inter-process communication (IPC) using UNIX signals. It consists of two programs:

  • server
  • client

The client sends a string message to the server bit by bit using UNIX signals. The server receives these signals, reconstructs the original message, and prints it to standard output.

Project Goals

The goal of this project is to introduce and strengthen understanding of the following core concepts:

1. Processes

A process is an instance of a program currently running on the system. When a program is executed, the operating system creates a process, loads it into memory, and assigns it several properties. One of the most important is the Process ID (PID), a unique identifier used to reference and interact with the process. Signals can be sent to a specific process using its PID.

2. Signals

A signal is a standardized message sent to a process to notify it that a specific event has occurred. When a process receives a signal, its execution is interrupted so the signal can be handled.

  • Some signals can be handled or overridden by the program.
  • Others (such as SIGKILL) cannot be handled and always terminate the process.
  • UNIX also provides user-defined signals, which are used in this project to transmit data between processes.

Instructions

Compilation

To build both the client and the server, run:

make

Execution

  1. Start the server:
./server
  1. The server will display its PID.

  2. In a separate terminal, send a message using the client:

./client <pid> <message>

Cleanup

  • Remove object files:
make clean
  • Remove object files and executables:
make fclean

Resources

Technical References

Video Resources

AI Usage

AI tools were used for:

  • High-level explanations of UNIX signals and IPC concepts
  • Debugging guidance and reasoning about signal-based communication

About

An application of Inter-Process Communication in C, establishing a reliable data stream between processes using UNIX signal handlers and bitwise manipulation.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages