Алгоритм Декерса

Автор: Robert Simon
Дата Створення: 17 Червень 2021
Дата Оновлення: 24 Червень 2024
Anonim
Алгоритм Деккера
Відеоролик: Алгоритм Деккера

Зміст

Визначення - Що означає алгоритм Деккерса?

Алгоритм Dekker - це перший відомий алгоритм, який вирішує проблему взаємного виключення при одночасному програмуванні. Він зараховується до Th. Дж. Декер, голландський математик, який створив алгоритм для іншого кон. Алгоритм Dekkers використовується в черзі процесів і дозволяє двом різним потокам ділити один і той же ресурс одноразового використання без конфлікту, використовуючи спільну пам'ять для спілкування.


Вступ до Microsoft Azure та Microsoft Cloud | У цьому посібнику ви дізнаєтеся, що стосується хмарних обчислень та як Microsoft Azure може допомогти вам мігрувати та вести свій бізнес із хмари.

Техопедія пояснює алгоритм Dekkers

Алгоритм Dekker дозволить лише одному процесу використовувати ресурс, якщо два процеси намагаються використовувати його одночасно. Родзинкою алгоритму є те, як він вирішує цю проблему. Цьому вдалося запобігти конфлікту шляхом примусового взаємного виключення, що означає, що лише один процес може одночасно використовувати ресурс і буде чекати, якщо інший процес використовує його. Це досягається використанням двох «прапорів» та «жетону». Прапори вказують, хоче процес входити в критичний розділ (CS) чи ні; значення 1 означає ІСТИЧНЕ, що процес хоче ввести CS, тоді як 0 або FALSE означає протилежне. Маркер, який також може мати значення 1 або 0, вказує на пріоритет, коли для обох процесів прапори встановлені на ІСТИНУ.

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