Chat with us, powered by LiveChat Write and run a C program on UNIX that creates four new processes | Writedemy

Write and run a C program on UNIX that creates four new processes

Write and run a C program on UNIX that creates four new processes

Question

Write and run a C program on UNIX that creates four new processes: A, B, C,
and D. When the original process creates the new processes, it passes them
all the same pipe that they can use to send data to the original process,
which will serve as a logging process, displaying each line it receives along
with a time stamp. A pipeline is to exist between A and B, another between
B and C, and another between B and D. Including the shared pipe back to the
logging process and these three pipes (A-B, B-C, B-D) there are four pipes.

Process A generates 10 records consisting of the letter C or D (picked at
random for each record) along with the record number (1 byte ASCII) issued
sequentially from 0 to 9 and sends it to process B. Process A also sends a
log message something like: A sent process B ‘D1’ to the logging process.

Process B reads from the pipe connecting it to A. For each record it reads,
it will send it to the process indicated by the first character, along with
sending an appropriate log message to the logging process. For example, if
it receives a message containing ‘C2’, it sends the message to process C.
After sending the logging message, process B waits one second.

Process C reads its pipe and for each message received it sends the logging
process an appropriate message.

Process D reads its pipe and for each message received it sends the logging
process an appropriate message. Process D then waits 5 seconds after every
time it receives a message.

The logging process should terminate when it receives 30 messages, which is
10 messages from A to B, a total of 10 messages from either B to C or B to D,
and then a total of 10 more messages from either C or D indicating receipt.
Implement some way to terminate the other processes at appropriate times.

Here is pseudocode for the pipe program:

Main program
Include header files
Initialize variables
Create log pipe
Create A-B pipe
Create B-C pipe
Create B-D pipe
Fork process A
Loop 10 times
Create 10 records, starting with ‘C’ or ‘D’ chosen randomly
followed by a number from 0 to 9 issued in sequential order
Write each record to the A-B pipe
Write a message to the log pipe
End loop
Exit process A
Fork process B
Loop 10 times
Read a record from the A-B pipe
Write records starting with ‘C’ to the B-C pipe
Write records starting with ‘D’ to the B-D pipe
Write a message to the log pipe
Delay for 1 second
End loop
Exit process B
Fork process C
Loop until no more messages
Read a record from the B-C pipe
Write a message to the log pipe
End loop
Exit process C
Fork process D
Loop until no more messages
Read a record from the B-D pipe
Write a message to the log pipe
Delay 5 seconds
End loop
Exit process D
Loop 30 times (Logging process – not forked)
Read a message from the log pipe
Add the time to the message
Print the message to the screen
End loop
Kill process A if necessary
Kill process B if necessary
Kill process C if necessary
Kill process D if necessary
End

Note: You don’t need to pass any parameters to the child processes because
they already have access to all the pipes that were created in main process.

Our website has a team of professional writers who can help you write any of your homework. They will write your papers from scratch. We also have a team of editors just to make sure all papers are of HIGH QUALITY & PLAGIARISM FREE. To make an Order you only need to click Ask A Question and we will direct you to our Order Page at WriteDemy. Then fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.

Fill in all the assignment paper details that are required in the order form with the standard information being the page count, deadline, academic level and type of paper. It is advisable to have this information at hand so that you can quickly fill in the necessary information needed in the form for the essay writer to be immediately assigned to your writing project. Make payment for the custom essay order to enable us to assign a suitable writer to your order. Payments are made through Paypal on a secured billing page. Finally, sit back and relax.

Do you need an answer to this or any other questions?

About Writedemy

We are a professional paper writing website. If you have searched a question and bumped into our website just know you are in the right place to get help in your coursework. We offer HIGH QUALITY & PLAGIARISM FREE Papers.

How It Works

To make an Order you only need to click on “Order Now” and we will direct you to our Order Page. Fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.

Are there Discounts?

All new clients are eligible for 20% off in their first Order. Our payment method is safe and secure.

Hire a tutor today CLICK HERE to make your first order