Page 107 - 6571
P. 107

7. Згідно яких правил відбувається синхронізація за допомо-
            гою прапорців?
                  8. У  якому  випадку  є  ефективною  синхронізація  з  активним
            очікуванням?

                  9. Які існують недоліки у бар’єрної синхронізації із керуючим
            процесом?
                  10. Яким чином реалізується бар’єр з об’єднуючим деревом?



                                                 ЛЕКЦІЯ 13

                                 ОСНОВНІ ГРУПИ СЕМАФОРІВ ТА

                                               ЇХ РЕАЛІЗАЦІЯ



                  13.1 Синтаксис і семантика семафорів


                  Більшість протоколів з активним очікуванням досить склад-
            нідля  практичної  реалізації.  Окрім  того,  немає  чіткої  межі  між

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

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

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

                  Синхронізація є основою паралельних програм, тому для ро-
            зробки правильних протоколів синхронізації бажано мати спеціа-
            льні  засоби,  які  можна  використовувати  для  блокування  призу-

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

            гналізація.
                  Ідея семафора відповідно до назви взята з методу синхроні-
            зації руху поїздів, прийнятого на залізниці. Залізничний семафор

            – це «сигнальний прапорець», що показує, чи шлях попереду ві-
            льний або зайнятий іншим поїздом. У процесі руху поїзда сема-

                                                        106
   102   103   104   105   106   107   108   109   110   111   112