Введение в распределенные


Получение сообщения TOKEN



Download 3,3 Mb.
bet70/74
Sana13.07.2022
Hajmi3,3 Mb.
#785639
1   ...   66   67   68   69   70   71   72   73   74
Bog'liq
Косяков ТАТ книга

Получение сообщения TOKEN. При получении сообщения TOKEN процесс Pi изменяет значение Holder на self и выполняет функцию AssignPrivilege и, затем, MakeRequest. C помощью функции AssignPrivilege процесс Pi может передать маркер другому процессу или осуществить вход в КС. Если маркер будет передан другому процессу, с помощью функции MakeRequest процесс Pi может запросить возврат маркера себе.

  • Выход из КС. При выходе из КС процесс Pi изменяет значение Using на false и выполняет функцию AssignPrivilege и, затем, MakeRequest. C помощью функции AssignPrivilege процесс Pi может передать маркер другому процессу, а выполнение функции MakeRequest позволит запросить возврат маркера обратно в Pi.

    Обратим внимание, что процесс может войти в КС, если он обладает маркером, и при этом первый элемент в его очереди Q имеет значение self. Эта ситуация проиллюстрирована в коде функции AssignPrivilege, представленном в Листинге 4.2.
    Благодаря организации процессов в логическое дерево возникновение конфликтных ситуаций, связанных с произвольными задержками передачи сообщений и изменением порядка их поступления в каналах, не обладающих свойством FIFO, ограничено взаимодействием двух соседних процессов. Поэтому в алгоритме Реймонда нет
    необходимости использовать порядковые номера (англ. sequence numbers) сообщений. Алгоритм работает таким образом, что обмен сообщениями между двумя соседними процессами подчиняется определенному шаблону взаимодействия, проиллюстрированному на рис. 4.13. На рис. 4.13 предполагается, что изначально маркер находится в одной из вершин поддерева, корнем которого является процесс Pi.


    Рис. 4.13. Шаблон взаимодействия соседних процессов.




    Как следует из рис. 4.13, единственно возможной ситуацией нарушения порядка поступления сообщений является ситуация, когда отправленное процессом Pi сообщение REQUEST, следующее за сообщением TOKEN, будет получено процессом Pj вперед сообщения TOKEN. На самом деле, процесс Pj в состоянии распознать такую ситуацию, т.к. согласно представленному шаблону взаимодействия, следующим ожидаемым сообщением должно быть именно сообщение TOKEN, и Pj сможет отложить обработку сообщения REQUEST до получения TOKEN. Однако это не является необходимым, т.к. такое нарушение порядка поступления сообщений не оказывает влияния на функционирование алгоритма. Действительно, если REQUEST поступает в процесс Pj раньше, чем TOKEN, то идентификатор процесса Pi будет помещен в конец очереди Qj процесса Pj. В связи с тем, что Pj пока еще не владеет маркером, функция AssignPrivilege выполнена не будет. Факт того, что Pi отправил маркер Pj, означает, что очередь Qj была не пуста, и переменная Askedj процесса Pj установлена в значение true, и поэтому функция MakeRequest также не будет выполнена, что не позволит запросу REQUEST распространиться среди других процессов. Когда сообщение TOKEN, в конце концов, доберется до процесса Pj, он войдет в КС или передаст маркер соседнему процессу, идентификатор которого находится в начале его очереди Qj. Этим процессом не может быть процесс Pi, передающий маркер Pj, т.к. его запрос был добавлен в конец непустой очереди Qj. Поэтому получение процессом Pj сообщения REQUEST вперед сообщения TOKEN не оказывает никакого влияния на его работу.

    Download 3,3 Mb.

    Do'stlaringiz bilan baham:
  • 1   ...   66   67   68   69   70   71   72   73   74




    Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
    ma'muriyatiga murojaat qiling

    kiriting | ro'yxatdan o'tish
        Bosh sahifa
    юртда тантана
    Боғда битган
    Бугун юртда
    Эшитганлар жилманглар
    Эшитмадим деманглар
    битган бодомлар
    Yangiariq tumani
    qitish marakazi
    Raqamli texnologiyalar
    ilishida muhokamadan
    tasdiqqa tavsiya
    tavsiya etilgan
    iqtisodiyot kafedrasi
    steiermarkischen landesregierung
    asarlaringizni yuboring
    o'zingizning asarlaringizni
    Iltimos faqat
    faqat o'zingizning
    steierm rkischen
    landesregierung fachabteilung
    rkischen landesregierung
    hamshira loyihasi
    loyihasi mavsum
    faolyatining oqibatlari
    asosiy adabiyotlar
    fakulteti ahborot
    ahborot havfsizligi
    havfsizligi kafedrasi
    fanidan bo’yicha
    fakulteti iqtisodiyot
    boshqaruv fakulteti
    chiqarishda boshqaruv
    ishlab chiqarishda
    iqtisodiyot fakultet
    multiservis tarmoqlari
    fanidan asosiy
    Uzbek fanidan
    mavzulari potok
    asosidagi multiservis
    'aliyyil a'ziym
    billahil 'aliyyil
    illaa billahil
    quvvata illaa
    falah' deganida
    Kompyuter savodxonligi
    bo’yicha mustaqil
    'alal falah'
    Hayya 'alal
    'alas soloh
    Hayya 'alas
    mavsum boyicha


    yuklab olish