3600 - Operating Systems Semester Project
Phase 2



Start with your phase1.c program.

Copy 3600/4/phase1.c to 3600/4/phase2.c

Stay in the 3600/4 directory for now.


Please make these required updates...
=====================================

1. Do not call the main() function anywhere in your program.

2. Call execve() to create a child window.
   Do this after your call to fork().

3. After starting a child, the parent will display some boxes of varying color,
   and one black box.




4. When the user clicks a colored box, the child's background color will
   change to that color.

5. When the black box is clicked, the child window will close.

Rules: The parent and child windows will communicate using an IPC Message Queue. Do not use IPC Shared Memory, or any other communication method. The parent will send messages with a call to msgsnd(). The child will receive messages with a call to msgrcv(). The child will receive messages from the parent inside a thread. Only the parent process will establish a Message Queue ID. Only the child process will start a thread. It is recommended that the parent sends the Message Queue ID to the child in the command-line argument array of the execve() call.
You may start on phase-2. More will be listed on this page to help you.