Ремоте Процедуре Цалл или РПЦ је моћна техника за конструисање дистрибуираних апликација заснованих на клијент-серверу. Такође је познат као позив функције или позив потпрограма. Позив удаљене процедуре је када рачунарски програм изазива извршавање процедуре у другом адресном простору, кодираном као позив локалне процедуре, а да програмер експлицитно не наводи детаље за удаљену интеракцију. Програмер пише у суштини исти код без обзира да ли је потпрограм локалан за програм који се извршава или удаљен. Ово је облик интеракције клијент-сервер имплементиран преко система за прослеђивање порука захтев-одговор.
РПЦ модел подразумева транспарентност локације да су процедуре позивања углавном исте, било да су локалне или удаљене. Обично нису идентични, тако да се локални позиви могу разликовати од удаљених позива. Даљински позиви су обично спорији и мање поуздани од локалних позива, тако да је важно разликовати их.
РПЦ су облик међупроцесне комуникације (ИПЦ), у којој различити процеси имају различите адресне просторе. Они имају различите виртуелне адресне просторе на истој хост машини, иако је физички адресни простор исти. Док ако су на различитим хостовима, физички адресни простор је другачији.
Како упутити даљински позив за процедуру
Позивно окружење је суспендовано, параметри процедуре се преносе преко мреже у окружење у коме се процедура треба извршити, и процедура се тамо извршава.
Када се процедура заврши и произведе своје резултате, она се враћа назад у окружење које позива, где се извршавање наставља као да се враћа из редовног позива процедуре.
НАПОМЕНА: РПЦ је посебно погодан за интеракцију клијент-сервер (нпр. упит-одговор) у којој се ток контроле мења између позиваоца и позиваоца. Концептуално, клијент и сервер се не извршавају истовремено; уместо тога, нит извршења скаче са позиваоца на позиваоца и затим назад.
Врсте РПЦ-а
Постоје три типа позива удаљених процедура (РПЦ) у оперативном систему, као што су:
1. Цаллбацк РПЦ
Овај тип РПЦ-а омогућава П2П парадигму између процеса који учествују. Помаже процесу да буде и клијентски и серверски сервис. Цаллбацк РПЦ има следеће функције, као што су:
вб и вб нет
- Даљински обрађени проблеми интерактивне апликације.
- Нуди сервер са управљањем клијентима.
- Повратни позив чини да клијентски процес чека.
- Управљајте застојима повратног позива.
- То олакшава пеер-то-пеер парадигму међу процесима који учествују.
2. Емитовање РПЦ
Броадцаст РПЦ је емитовање захтева клијента на мрежи, које обрађују сви сервери са методом за обраду тог захтева. Броадцаст РПЦ има следеће функције, као што су:
- Омогућава вам да наведете да порука са захтевом клијента мора бити емитована.
- Можете декларисати портове за емитовање.
- Помаже да се смањи оптерећење на физичкој мрежи.
3. РПЦ у пакетном режиму
РПЦ у пакетном режиму помаже да се у реду чекају, раздвоје РПЦ захтеви, у баферу за пренос, на страни клијента, а затим се шаљу на мрежи у једној групи на сервер. РПЦ у пакетном режиму има следеће функције, као што су:
- Минимизира трошкове који су укључени у слање захтева тако што их шаље преко мреже у једној серији на сервер.
- Овај тип РПЦ протокола је ефикасан само за апликацију којој су потребне ниже стопе позива.
- Потребан му је поуздан протокол за пренос.
Шта ради РПЦ?
Када се програмски изрази који користе РПЦ оквир компајлирају у извршни програм, стуб је укључен у преведени код који представља код удаљене процедуре.
Када се програм покрене и изда позив процедуре, стуб прима захтев и прослеђује га клијентском рунтиме програму на локалном рачунару. Када се клијентски стуб први пут позове, он контактира сервер имена да би одредио транспортну адресу на којој се сервер налази.
Програм за време извршавања клијента зна како да се обрати апликацији удаљеног рачунара и сервера и шаље поруку преко мреже која захтева удаљену процедуру. Слично, сервер укључује рунтиме програм и стуб који су повезани са самом удаљеном процедуром, а протоколи за захтев за одговор се враћају на исти начин.
Карактеристике РПЦ-а
У оперативном систему, даљински позив процедуре (РПЦ) има следеће карактеристике, као што су:
- РПЦ скрива сложеност процеса прослеђивања порука од корисника.
- РПЦ користи само одређене слојеве ОСИ модела као што је транспортни слој.
- Клијенти могу да комуницирају са сервером користећи језике вишег нивоа.
- РПЦ добро функционише и са локалним и са удаљеним окружењима.
- Програм РПЦ је написан једноставним кодом и програмер га лако разуме.
- Оперативни систем може лако да рукује процесима и нитима укљученим у РПЦ.
- Оперативни систем скрива апстракције РПЦ-а од корисника.
Како РПЦ функционише?
Када се позове удаљени позив процедуре, позивајуће окружење се суспендује, параметри процедуре се преносе преко мреже у окружење у коме се процедура треба извршити, а процедура се затим извршава у том окружењу.
Када се процедура заврши, резултати се преносе назад у окружење које позива, где се извршавање наставља као да се враћа из редовног позива процедуре.
јбуттон
Позив удаљене процедуре (РПЦ) функционише у следећим корацима у оперативном систему:
Корак 1: Клијент, клијентски стуб и РПЦ време извођења се извршавају на клијентској машини.
Корак 2: Клијент покреће клијентски стуб процес прослеђивањем параметара на уобичајен начин. Паковање параметара процедуре се зове марсхаллинг . Клијентски стуб се складишти у оквиру клијентовог сопственог адресног простора, а такође тражи од локалног РПЦ Рунтиме-а да га пошаље назад на стуб сервера.
Корак 3: У овој фази, корисник може приступити РПЦ-у обављањем редовног локалног процедуралног позива. РПЦ Рунтиме управља преносом порука између мреже преко клијента и сервера, а такође обавља посао поновног преноса, потврде, рутирања и шифровања.
4. корак: Након завршетка серверске процедуре, враћа се на стуб сервера, који пакује (маршализира) повратне вредности у поруку. Серверски стуб затим шаље поруку назад транспортном слоју.
5. корак: У овом кораку, транспортни слој шаље назад поруку о резултату клијентском транспортном слоју, који враћа поруку назад у клијентски стуб.
Корак 6: У овој фази, клијентски стуб демаршалира (отпакује) повратне параметре у резултујућем пакету, а процес извршења се враћа позиваоцу.
Проблеми са удаљеним позивом за процедуру (РПЦ)
У оперативном систему, позив удаљене процедуре или РПЦ суочени су са неким проблемима који се морају решити, као што су:
1. РПЦ Рунтиме
дужина јава стринга
РПЦ рунтиме систем је библиотека рутина и услуга које управљају мрежним комуникацијама које су у основи РПЦ механизма. У току РПЦ позива, кодови система на страни клијента и сервера руководе повезивањем, успостављају комуникацију преко одговарајућег протокола, прослеђују податке о позиву између клијента и сервера и рукују грешкама у комуникацији.
2. Стуб
Функција стуба је да обезбеди транспарентност коду апликације који је написао програмер.
3. Везивање
Како клијент зна кога да позове и где се налази услуга?
Најфлексибилније решење је коришћење динамичког везивања и проналажење сервера у време извршавања када је РПЦ први пут направљен. Када се клијентски стуб први пут позове, он контактира сервер имена да би одредио транспортну адресу на којој се сервер налази. Везивање се састоји из два дела:
4. Семантика позива повезана са РПЦ-ом
јава датум у стринг
Углавном се класификује у следеће изборе,
Карактеристике РПЦ-а
Ево основних карактеристика позива удаљеног поступка:
- Позвана процедура је у другом процесу, који се вероватно налази у другој машини.
- Процеси не деле адресни простор.
- Параметри се прослеђују само вредностима.
- РПЦ се извршава унутар окружења серверског процеса.
- Не нуди приступ окружењу процедуре позива.
Предности РПЦ-а
Ево неких предности или предности РПЦ-а, као што су:
- РПЦ метода помаже клијентима да комуницирају са серверима конвенционалном употребом позива процедура на језицима високог нивоа.
- РПЦ метод је моделиран по позиву локалне процедуре, али је највероватније да ће се процедура извршити у другом процесу и обично на другом рачунару.
- РПЦ подржава процесне и нити оријентисане моделе.
- РПЦ чини интерни механизам за прослеђивање порука скривеним од корисника.
- Напор који је потребан да се поново напише и поново развије код је минималан.
- Позиви удаљених процедура могу се користити за дистрибуцију и локално окружење.
- Он обавезује многе слојеве протокола за побољшање перформанси.
- РПЦ обезбеђује апстракцију. На пример, природа мрежне комуникације која преноси поруке остаје скривена од корисника.
- РПЦ дозвољава коришћење апликација у дистрибуираном окружењу које није само у локалном окружењу.
- Са РПЦ кодом, напори за поновно писање и поновни развој су минимизирани.
- Модели оријентисани на процес и нити које подржава РПЦ.
Недостаци РПЦ-а
Ево неких недостатака или недостатака коришћења РПЦ-а, као што су:
- Позив удаљене процедуре преноси параметре само по вредностима и вредностима показивача, што није дозвољено.
- Време позивања (и повратка) удаљене процедуре (тј. режијски трошкови) може бити знатно мање од локалне процедуре.
- Овај механизам је веома рањив на неуспех јер укључује комуникациони систем, другу машину и други процес.
- РПЦ концепт се може имплементирати на различите начине, што није стандардно.
- Не нуди никакву флексибилност у РПЦ-у за хардверску архитектуру јер је углавном заснована на интеракцији.
- Цена процеса је повећана због удаљеног позива процедуре.