Концепція віддаленого виклику процедур - студопедія

Надійні і ненадійні примітиви

Для вирішення цієї проблеми існує три підходи. Перший полягає в тому, що система не бере на себе ніяких зобов'язань щодо доставки повідомлень. Реалізація надійного взаємодії стає цілком турботою користувача.

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

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

Виклик віддалених процедур (RPC)

Ідея виклику віддалених процедур (Remote Procedure Call - RPC) полягає в розширенні добре відомого і зрозумілого механізму передачі управління і даних усередині програми, що виконується на одній машині, на передачу управління і даних через мережу. Засоби віддаленого виклику процедур призначені для полегшення організації розподілених обчислень. Найбільша ефективність використання RPC досягається в тих додатках, в яких існує інтерактивний зв'язок між віддаленими компонентами з невеликим часом відповідей і відносно малою кількістю переданих даних. Такі додатки називаються RPC-орієнтованими.

Характерними рисами виклику локальних процедур є:

  • Асиметричність, тобто одна з взаємодіючих сторін є ініціатором;
  • Синхронність, тобто виконання викликає процедури при зупиняється з моменту видачі запиту і відновлюється тільки після повернення з викликається процедури.

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

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

Схожі статті