CSL373: Assignment 1 on Process control and IPC

Background reading

  1. Read chapter 2 of Unix Network Programming Volume 2: Interprocess Communications by W. Richard Stevens
  2. Carefully read the following man pages: signal, ualarm, umask, sigprocmask, gettimeofday, wait, exec, fork, pipe,open, ipc, clone, msgctcl, msgsnd, msgrcf,rand, srand48.
  3. (optional) Read from the OS books the sections (bed time stories) that deal with: CPU scheduling, processes, threads, IPC.

Processes

  1. Expand the hare and turtle process descriptions and implement IPC solutions by defining cooperating processes.
  2. First use fork() and execve() to create the processes and develop complete applications using the following Linux IPC (message passing) mechanisms separately: (i) pipes (ii) FIFO files and (iii) message queues.

Threads

  1. Now, develop the same application (hare and turtle) using Linux pthreads (shared memory).

Tests

Note:

  1. To be done individually.
  2. The last date of submission of solutions using pipes, FIFOs and message Qs (processes) is Jan 16 (strict). The last date for the threads assignment is Jan 23.