Question: Question: Really need help in this Questions 1. First build main-race.c. Examine the code so you can see the (hopefully obvious) data race in the
Question:
Really need help in this
Questions
1. First build main-race.c. Examine the code so you can see the (hopefully obvious) data race in the code. Now run helgrind (by typing valgrind --tool=helgrind main-race) to see how it reports the race. Does it point to the right lines of code? What other information does it give to you?
2. What happens when you remove one of the offending lines of code? Now add a lock around one of the updates to the shared variable, and then around both. What does helgrind report in each of these cases?
3. Now let's look at main-deadlock.c. Examine the code. This code has a problem known as deadlock (which we discuss in much more d
4. Now run helgrind on this code. What does helgrind report?
5. Now run helgrind on main-deadlock-global.c. Examine the code; does it have the same problem that main-deadlock.c has? Should helgrind be reporting the same error? What does this tell you about tools like helgrind?
6. Let's next look at main-signal.c. This code uses a variable (done) to signal that the child is done and that the parent can now continue. Why is this code inefficient? (what does the parent end up spending its time doing, particularly if the child thread takes a long time to complete?)
7. Now run helgrind on this program. What does it report? Is the code correct?
8. Now look at a slightly modified version of the code, which is found in main-signal-cv.c. This version uses a condition variable to do the signaling (and associated lock). Why is this code preferred to the previous version? Is it correctness, or performance, or both?
9. Once again run helgrind on main-signal-cv. Does it report any errors?
Marcel Ltd manufactures a product which has the following standard costs:
Selling price 262
Direct materials (2 kg) 104
Direct labour (3 hours) 61
Fixed overheads 9 174
Standard profit 88
In July the company budgets production of 1,400 units. The actual production is
1,700 units and the total sales for the month amounts to 579,020. The company
sells its entire production and therefore incurs no costs in holding stock.
The actual costs for July were as follows:
Direct materials Usage is 2.16 kg per unit 264,384
Direct labour Total hours were 5,440 136,000
Fixed overheads 18,000
You are required to calculate the following variances and reconcile them with the
difference between the actual and budgeted results.
(i) Material usage and price variances.
(ii) Labour rate and efficiency variances.
(iii) Fixed overhead variance.
(iv) Sales price and volume variances.



Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
