Page 120 - 4868
P. 120

Ошибка! Стиль не определен.                                                              118

                         while (open == 0) wait(door_open);
                         open = open-1;
                         signal(customer_left);
                       }
                       procedure get_next_customer() {
                         barber = barber+1;
                         signal(barber_available);
                         while (chair == 0) wait(chair_occupied);
                         chair = chair-1;
                       }
                       procedure finished_cut() {
                         open = open+1;
                         signal(door_open);
                         while (open > 0) wait(customer_left);
                       }
                     }
                     У    наведеній       реалізації     монітора      використовується         процедура
               get_haircut,  що  містить  два  оператори  wait,  оскільки  відвідувач
               проходить через два етапи: спочатку він чекає, поки не звільниться перукар, а
               потім – поки не закінчиться стрижка.


                     Запитання для самоперевірки

                     1. Яку  роль  відіграє  програмний  монітор  у  задачі  про  читачів  та
               письменників?
                     2. Яким чином виконується синхронізація процесів у задачі про читачів
               та письменників із використанням моніторів?
                     3. Яке основне призначення інтервального таймера?
                     4. У чому полягає принцип роботи інтервального таймера?
                     5. Що виступає ресурсом у моніторі який реалізує інтервальний таймер?
                     6. Який принцип роботи інтервального таймера з покриваючою умовою?
                     7. Який  принцип  роботи  інтервального  таймера  з  пріоритетним
               очікуванням?
                     8. Яке формулювання задачі про сплячого перукаря?
                     9. У чому полягає суть синхронізації під назвою «рандеву»?
                     10. Який  алгоритм  рішення  задачі  про  сплячого  перукаря  з
               використанням програмних моніторів?
   115   116   117   118   119   120   121   122   123   124   125