Innovation... driven by intelligence and logic

Client-Server Communication using Inter Process Communication and Threads

Client-Server using Inter Process Communication  and Threads:

This is an intensive program where the trainee would learn Linux System Programming including IPC, Semaphores and Threads. Halfway throught the training program the trainee would start a project where a client-server environment would be simulated using the concepts being learned. The implementation will be done using C and Shell Scripting using Bash. Other concepts implemented would be learned through the training program.

Training Topics in Brief:

  • Introduction to Project and Linux Programming
  • Process Management
  • Signals and Handlers
  • IPC Mechanism - Pipes
  • IPC Mechanism - FIFOs
  • Synchronization Techniques - Semaphores
  • IPC Mechanism - Message Queues
  • IPC Mechanism - Shared Memory
  • Introduction to Threads
  • Threads Attributes
  • Threads Synchronization

Salient Features of Training Program

Training Objective:

  • This short program is designed to ensure that the trainees with academic capabilities will have the skill set needed to deal with the challenges involved in real-world Programming using Linux, C, system programming, ipc, synchronization techniques and thread to meet the needs of industries both today and in the future.
  • The trainees should be able to understand and implement the concepts absorbed in real world environment and should be able to create efficient program design and convert logic into algorithms and then to programs.
  • The course is taught mainly using the vim editor, C, gcc compiler, gdb debugger with Linux operating system.


  • Good Programming skills in C is asumed.
  • Knowledge of Shell Scripting is a must.
  • General understanding about operating system concepts will be helpful.


The Duration of Training would be:
  • The Duration of training would be 20 working days
  • There would be:
    • 15 Classroom Sessions of 2 hours each
    • 20 Lab Sessions of 4 hours each
    • 110 Hours of training.
Training Methodology:
  • Hands on approach to training, behaviorial model of training would be practiced.
  • During the training, the Trainee would implement a projects related to respective modules.
  • Comitment to Individual growth and constant evaluation.
  • Implementation of programming techniques through a Project.


After the training is over, the Trainee should be able to:-

  • use the concept absorbed in the real world situation
  • implement knowledge absorbed in their commercial / live projects
  • understand the prosess management including process creation, duplication, replacement
  • understand the kernels signal handling mechanism and implement the signal handlers
  • well versed with ipc techniques like, pipes, fifo, message queues, shared memory
  • synchronize access to the shared resources using semaphores

EmbLogic would issue/provide the following:-

  • Project Report for Submitting into their college.
  • Project presentation and demonstration assistance.
  • Completed Project (by the trainee).
  • Certificate of Completion for the training and Project as mentioned above.

Project Synopsys:

Client Server Communication using Inter Process Communication

System programming is the activity of programming system software. The systems programming aims to produce software which provides  services to the computer hardware. It requires a greater degree of hardware awareness. We need to create an Inter Process Communication mechanism based client-Server setup. There should be a Server program, Some clients would send requests to the server and the server would further find the appropriate client to process the request. The server then invokes the new client so as to process the request. The new client should then send the result back to the server, which then sends it forward to the requesting client. The mechanism for processes and Interprocess Communication can be out of the following:-
  • Process Duplication
  • Process Replacing
  • Pipes
  • Fifo
  • Message Queues
  • Shared Memory.

Synchronization Techniques used between processes is done using 
  •         Semaphore.
  •         Mutex.

The project could be inmplemented using

  • Processes or
  • Threads

We need to creat an Inter Process Communication based Client-Server setup. There should be a Server program, Some clients would send requests to the server and the server would further find the appropriate client to process the request. The server then envokes the new client so as to process the request. The new client should then rend the result back to the server , which then sends it forward to the requestiog client.

Training and Project Resources  click here...

EmbLogic™ is an ISO 9001:2008(QMS) (Quality Management System) Certified Company.

Go to Top ^