Reference no: EM131106406
Create a series of 3 processes that "pass" information from one to another. The producer program will read a line of data from a file and periodically (based on a random delay) send it to the next program (the filter) using shared memory segments. The filter program will read the data from the first shared memory segment, do a transformation to the data (change lower case letters to upper case letters, and visa versa) and then periodically (based on a random delay) pass the data on to the consumer program through a second shared memory section. The consumer will read the data from SM 2, perform a reverse transformation on the data, and store the results in an output file. For the submitted program, only the transformed information (as seen by the filter) should be printed to the console.
To simplify the use of the shared memory segments, and to manage the overall program, a fourth program (the main program) should be used to create SM 1 and SM 2 and start up the above processes. The main program will take as a parameter the number of seconds that this program should run (something in the range of 10 to 20 seconds). The input file should be named "input.txt" and the output file should be named "output.txt". (The main program could also take other command line parameters such as input and output file names, however you can hardcode these or query the user. ...The) main program will then create the shared memory segments and the processes.
The program should use an alarm timer to determine when to shut down. (we may use the kill() or killall() functions to close down the created processes.)
This is my pseudocode implementation of the filter program .
/*********************************************
*
* File Name: filter.c
*
* Author: Cotter
*
* This is part of exercise #5 from CS431
* This program will
* receive and transmit asynchronously by
* reading information in from a shared memory segment a
* character at a time, changing the case of
* the letter if it is alphabetic, and then
* outputting the character to an output SM.
*
**********************************************/
#include <iostream.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
int main ()
{
// Local variables
char input[25];
const int timeToProduce = 3;
// Announce existence.
cout << "Filter: Alive and running\n" << endl;
// Open connection to SM 1, and to SM 2
// Processing loop
while(1)
{
// Be sure to use sync mechanisms! (semaphore)
if (input = get a string from SM1) == EOF)
jump out of loop
Sleep(rand( ) % timeToProduce);
// For each character "c" in "input"...
//Convert from lower to upper case and visa versa
if((c >= 'a') && (c <= 'z'))
c = c-'a' + 'A';
else if((c >= 'A') && (c <= 'Z'))
c = c-'A' + 'a';
// output results to console
// output results to SM2
}
// Terminating
cout << "Filter: Terminating" << endl;
return 0;
}
What are your forecasts of the company''s year end inventory
: Given the estimated sales forecast and the estimated relationship between inventories and sales, what are your forecasts of the company's year-end inventory level and its inventory turnover ratio?
|
What effect does this transaction
: Satchel Inc. purchases 10,000 shares of its own previously issued $10 par common stock for $290,000. Assuming the shares are held in the treasury with intent to reissue, what effect does this transaction have on
|
Ordering calendars at walton bookstore
: Consider each change to the monetary inputs (the purchase cost, the selling price, and the salvage price) one at a time in Example 12.6. For each such change, either up or down, describe how the cost of understocking and the cost of overstocking c..
|
Determining the service-learning activity
: With that in mind, what are three strength/attributes that you have and that you can offer in a service-learning activity?
|
Create a series of 3 processes that pass information
: Create a series of 3 processes that "pass" information from one to another. The producer program will read a line of data from a file and periodically (based on a random delay) send it to the next program (the filter) using shared memory segments. Th..
|
What is walter''s target fixed assets sales ratio
: Walter Industries has $5 billion in sales and $1.7 billion in fixed assets. Currently, the company's fixed assets are operating at 90% of capacity. a. What level of sales could Walter Industries have obtained if it had been operating at full capacity..
|
What account should be credited in the general fund
: What account should be credited in the general fund on the date the grant was received - The grant from the state is an example of what type of non exchange transaction?
|
Where in the financial statements is preferred stock
: Where in the financial statements is preferred stock normally reported?
|
What amount should darien report for infrastructure
: On the statement of net assets at December 31, 2005, what amount should Darien report for infrastructure under the governmental activities column?
|