Lock revenue variable, Operating System

Assignment Help:

Demonstrate that your program (include the program output as part of the final report) can produce the correct output with the following parameters. For each case comment if the output agree with the given parameters.

Case a. factory_delay=1, retail_delay=2, warehouse_delay=3, max_product=2 and max_revenue=4.


Case b. factory_delay=2, retail_delay=1, warehouse_delay=3, max_product=3 and max_revenue=4.

Case c. factory_delay=1, retail_delay=3, warehouse_delay=2, max_product=3 and max_revenue=6.

Factory thread:
 
    printf("Factory thread starting.\n");
 
   while (1){
   
     // lock revenue variable and test for termination conditon
     if (revenue>=max_revenue){
  break;
  }
   
     if ((product0)){
       product++;
       parts--;
    revenue--;

         printf("Factory: manufacturing. | Parts=%d | Products=%d | Revenue=%d|\n",parts,product,revenue);
     }
     else{
       if (product>=max_products)
         printf("Factory: stock overflow! | Parts=%d | Products=%d | Revenue=%d |\n",parts,product,revenue);      
       else if (parts<1)
         printf("Factory: no parts! | Parts=%d | Products=%d | Revenue=%d |\n",parts,product,revenue);      
     }   
       
     // delay the thread according to factory_delay
     Sleep(factory_delay*1000);
   }
 
    printf("Factory thread terminating.\n");


Related Discussions:- Lock revenue variable

Define maintaining data on a per client basis, Define Maintaining Data on a...

Define Maintaining Data on a Per Client Basis Perhaps the most dramatic syntactical programming change for the application developer of client – server applications is maintain

Determine the syntax of the assembler directive equ, Determine the syntax o...

Determine the syntax of the assembler directive EQU The following is syntax of the assembler directive EQU: EQU

Starvation, what do you mean by starvation?explain in detail

what do you mean by starvation?explain in detail

Distinguish among a streams driver and a streams module, Q. Distinguish amo...

Q. Distinguish among a STREAMS driver and a STREAMS module? Answer: The STREAMS driver controls the physical device that could be involved in a STREAMS operation. The STREAMS

Relationship among a(x, Q. The RC 4000 system as well as other systems hav...

Q. The RC 4000 system as well as other systems have defined a tree of processes (called a process tree) such that all the descendants of a process are given resources (objects) as

What is the main problem with the fcfs scheme, Question : a) Consider ...

Question : a) Consider table 1.0 below, assume the processes arrived in the order P 1 , P 2 , P 3 , P 4 at time shown and need the indicated burst time (both in milliseconds)

What are the various file operations, What are the various file operations?...

What are the various file operations? The six basic file operations are Creating a file Reading a file Writing a file Repositioning within a file Tr

Page fault handling , Page Fault Handling conditions like, where the copy...

Page Fault Handling conditions like, where the copy on write bit of a page is set and that page is send by more than one process, the Kernel assign new page and copies the conten

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd