You are on page 1of 23

Далечински управувач

процедура за повик

1
Конвенционална процедура за
повик

брои = прочитано ( fd, buf, бајти);


а) Параметар кој поминува во локална процедура повик: стекот пред
повикот за читање
б) Стекот додека е активна повиканата постапка
Премин на параметар:
◦ повик-по-вредност, повик-по-референца, повик-по-копија/обновување

2
Почетоци на клиент и сервер

Принцип на RPC-Remote Procedure Call (процедура за далечински повик)


помеѓу клиент и сервер програма.

3
Чекори на процедура за далечински
повик
1. Постапката на клиентот го повикува на почетокот клиентот на
нормален начин.
2. На почетокот клиентот создава порака, повикува локален
оперативен систем.
3. ОС на клиентот испраќа порака до далечинскиот ОС.
4. Далечинскиот оперативен систем дава порака server stub
5. server stub ги отпакува параметрите, го повикува серверот
6. Серверот работи, го враќа резултатот во stub
7. server stub го пакува во порака, го повикува локалниот
оперативен систем
8. ОС на серверот испраќа порака до ОС на клиентот
9. ОС на клиентот му дава порака на почетниот клиентот
10. stub го отпакува резултатот, се враќа на клиентот

4
Давање на вредност на
параметрите(1)
Пакувањето на параметрите во порака се нарекува маршалирање на параметрите
 Чекори вклучени во вршењето далечинско пресметување преку RPC

1.процедура за повик на клиент


2.почетно градење на пораки
3.пораките се испраќаат низ мрежата
4.сервер OS предава пораки на серверот stub
5. Stub отпакува пораки
6. Stub прави локален повик за ,,додавање,,
5
Давање на референци на
параметрите
 Пример: параметар е низа од знаци
 Стратегија: call-by-copy/restore
◦ Копирајте ја низата во пораката и испратете ја на серверот
◦ Stub на серверот може да го повика серверот со покажувач кон ова низа (овој
покажувач има различна нумеричка вредност)
◦ Промените што серверот ги прави директно влијае на користењето на
покажувачот баферот за пораки во stub серверот
◦ Кога серверот ќе заврши, може да се испрати оригиналната порака назад до
stub на клиентот
◦ Stub на клиентот го копира назад на клиентот
 Оптимизација:
◦ Ако низата е внесена на серверот, не треба да се копира назад
◦ Ако низата се емитува на серверот, не треба да се испраќа на прво место
 Тежок проблем(!):
◦ Покажува кон произволна структура на податоци

6
ВРАТИ

 Принципот на користење на вратите како IPC механизам.


 Врата – генеричко име за постапка во адресен простор на процес на
сервер кој може да се повика со процес кој се поврзува со серверот

7
Асинхрони RPC(1)

а) Интерконекцијата помеѓу клиентот и серверот во традиционален RPC


б) Интеракцијата со користење на асинхрони RPC

8
Асинхрони RPC(2)
 Еднонасочен RPC – клиентот продолжува веднаш потоа испраќање
барање до серверот
 Одложено синхроно RPC - клиент и сервер интеракција преку два
асинхрони RPC

9
Повикување од далечински објект

10
Дистрибуирани-распределени
објекти

Заедничка организација на далечински објект со прокси од


клиентот(состојбата не е распределена)

11
Поминување на параметарот
 Ситуацијата при поминување на објект со референца (оддалечен
објект) или по вредност (локален објект).

12
Комуникација ориентирана кон пораки

13
Постојана и синхронична
комуникација (1)
Општа организација на комуникациски систем во кој хостовите се поврзани
преку мрежа

Интерфејс за пораки
o Испраќање домаќин(хост) -Апликација-Оперативен Систем-Локален тампон
o Сервер за комуникација-бафер независен од комуникацијата домаќин(хост)

14
Постојана и синхронична
комуникација(2)
 Постојана комуникација – порака што била поднесенa за
пренос се чуваат од страна накомуникациски систем колку што
е потребно за да се испорача до примачот (на пр. систем за
електронска пошта)
 Преодна комуникација – пораката се складира од страна
накомуникациски систем само додека испраќањето исе
извршува примената апликација (на пр. складиште-и-напред
рутер)
 Асинхрона комуникација – продолжува испраќачот веднаш
откако ќе ја достави својата порака за преносливост
 Синхрона комуникација - испраќачот е блокиран додека:
◦ неговата порака е зачувана во локален тампон кај домаќинот
што прима, или
◦ всушност доставен до примачот, или
◦ примачот ја обработил пораката.

15
Постојана и синхронична
комуникација(3)

а) Постојана асинхрона комуникација


б) Постојана синхрона комуникација

16
Постојана и синхронична
комуникација(4)

c) Транзиторна асинхрона комуникација


d) Преодна синхрона комуникација базирана на прием

17
Постојана и синхронична
комуникација(4)

e) минлива синхрона комуникација базирана на испорака на


пораки
f) Транзиторна синхрона комуникација базирана на одговор

18
Беркли Приклучоци (1)-минливи
Примитивен Значење
Приклучок Креирање нова крајна точка за комуникација
Врзи Прикачување локална адреса на штекер
Слушај Објава на подготвеноста за прифаќање на врски
Прифати Блокирајте го повикувачот додека не пристигне
барање за поврзување
Поврзете се Активно обидете се да воспоставите врска
Испрати Испратете некои податоци преку врската
Примање Примајте некои податоци преку врската
Затвори Ослободете ја врската

Сокет примитивен за TCP/IP.

19
Беркли Приклучоци (2)-минливи

 Шема на комуникација ориентирана кон поврзување со користење


приклучоци.

20
Модел на редица пораки(1)-
постојано...

Четири комбинации за лабаво-споени комуникации со користење


редици.

21
Модел на редица пораки(2)-
постојано...
Примитивен Значење
Стави Додавање порака на одредена редица
Добијте Блокирајте додека наведената редица не е празна и
отстранете ја првата порака
Анкета Проверете ја одредената редица за пораки и
отстранете ја првата. Никогаш не блокирај.
Известете Инсталирајте управувач што треба да се повика кога
пораката е ставена во наведенота редица.

 Основен интерфејс во редица до редица за систем пораки.

22
Брокери за пораки

 Општата организација на брокер за пораки во MQS


 Брокерот за пораки делува како портал на ниво на
апликација:неговата главна цел е да ги конвертира дојдовните пораки во
формат што може да се разбере од дестинацијата на апликација

23

You might also like