Answer:
Joe should read the explanatory text and complete the learning activities.
Explanation:
Given
See attachment for options
Required
Best strategy to get through the module
First off, rushing through the activities and taking guess for each question (as suggested by (a)) will not help him;
He may complete the activities but sure, he won't learn from the module.
Also, reading through the units without completing the activities is not an appropriate method because Joe will not be able to test his knowledge at the end of the module.
The best strategy to employ is to read through the units and complete the activities, afterwards (option (b)).
Preview, in MS word. It goes for print or publishing, whatever you desire.
Answer:
Explanation:
Following are the Semaphores:
Customers: Counts waiting customers;
Barbers: Number of idle barbers (0 or 1)
mutex: Used for mutual exclusion.
Cutting: Ensures that the barber won’t cut another customer’s hair before the previous customer leaves
Shared data variable:
count_cust: Counts waiting customers. ------------copy of customers. As value of semaphores can’t access directly.
// shared data
semaphore customers = 0; semaphore barbers = 0; semaphore cutting = 0; semaphore mutex = 1;
int count_cust= 0;
void barber() {
while(true) { //shop is always open
wait(customers); //sleep when there are no waiting customers
wait(mutex); //mutex for accessing customers1
count_cust= count_cust-1; //customer left
signal(barbers);
signal(mutex);
cut_hair();
}
}
void customer() {
wait(mutex); //mutex for accessing count_cust
if (count_cust< n) {
count_cust= count_cust+1; //new customer
signal(customers); signal(mutex);
wait(barbers); //wait for available barbers get_haircut();
}
else { //do nothing (leave) when all chairs are used. signal(mutex);
}
}
cut_hair(){ waiting(cutting);
}
get_haircut(){
get hair cut for some time; signal(cutting);
}
Answer:
I think a is correct answer.
I am progressing on learning Python, gonna get back to you and complete what you ask as a practice.