Page 124 - 6571
P. 124

виконуватися  як  критична  секція.  Аналогічно,  неподільним
                  чином  повинні  також  виконуватися  операції  віднімання  і
                  перевірка значення змінної nr в протоколі виходу.
                        Для  повного  рішення  даної  задачі,  необхідно  за  допомогою

                  семафорів  реалізувати  неподільні  дії  для  виконання  описаних
                  вище операцій. Кожна дія представляє собою критичну секцією,

                  реалізація яких подана в лістингу 16. Нехай mutexR – семафор,
                  що  забезпечує  взаємне  виключення  процесів-читачів  у  рішенні
                  задачі  про  читачів  та  письменників  поданого  в  лістинг  22.
                  Семафор  mutexR  ініціалізується  початковим  значенням  1,

                  початок  кожної  неподільної  дії  реалізується  операцією
                  P(mutexR), а кінець – операцією V(mutexR).
                        Алгоритм в лістингу 22 реалізує рішення задачі з пріорите-

                  том читачів. Якщо певний процес-читач звертається до бази да-
                  них, а інший читач і письменник досягають протоколів входу, то
                  новий читач отримує перевагу перед письменником. Отже, дане

                  рішення не є справедливим, оскільки нескінченний потік проце-
                  сів-читачів може постійно блокувати доступ письменників до ба-
                  зи даних.













































                                                             123
   119   120   121   122   123   124   125   126   127   128   129