3 komunikasi antar prosesssd

36
 Distributed System Number three Komunikasi Antar Proses Interpr ocess Communication (IPC) Dahlia Widhyaestoeti, S.Kom [email protected] dahlia74march.wordpress.com Genap 2011/2012

Upload: akhirul-hajri

Post on 19-Feb-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 1/36

 

Distributed System

Number three

Komunikasi Antar ProsesInterprocess Communication (IPC)

Dahlia Widhyaestoeti, [email protected]

dahlia74march.wordpress.com

Genap 2011/2012

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 2/36

 

Komunikasi Antar ProsesInterprocess Communication (IPC)

•  Menyediakan mekanisme yang

memungkinkanproses-proses

berkomunikasi dan mensinkronisasiaksi-aksinya

•  Message System – komunikasi tanpa

memerlukan penggunaan shared

ariabel milik proses user

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 3/36

 

!perasi-operasi IPC

• Operasi-operasi yang disediakan – Send(message)

 – Receive(message)

• Message dapat berukuran tetap atau variabel

 – kuran tetap! implementasi "isik lebih simple# tapi

lebih sulit bagi user dalam pemrograman

 – kuran variabel! pemrograman lebih mudah tapi

implementasi "isik lebih sulit

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 4/36

 

Communication "ink

• $ila P dan Q hendak berkomunikasi

 – mereka perlu menetapkan suatu communication link

di antara mereka lalu melakukan tukar-menukar message melalui send%receive

• &' dalam implementasinya memerlukan

communication link

 – Secara "isik# contohnya shared memory# hardarebus

 – Secara logic# contohnya logical properties

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 5/36

 

Implementation #uestions

• *o are links established+

• an a link be associated ith more than toprocesses+

• *o many links can there be beteen everypair o" communicating processes+

• ,hat is the capacity o" a link+

• &s the sie o" a message that the link canaccommodate "i.ed or variable+

• &s a link unidirectional or bi-directional+

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 6/36

 

Implementasi

• Men/aab pertanyaan-pertanyaan 0

 – ara penetapan link

 – $isa berasosiasi dengan 1 2 proses

 – 3umlah link yang ditetapkan antara 2 proses

 – 4apasitas link

 – kuran message 0 tetap atau variabel

 – 5rah link 0 satu arah (unidirectional) atau dua arah

(bi-directional)

• Satu arah 0 proses hanya send (atau receive) dan hanya

satu yang receive

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 7/36

 

Metodologi• 6irect vs7 &ndirect ommunication

• Symmetric vs7 5symmetric ommunication

• 5utomatic vs7 8.plicit $u""ering

• Send by opy vs7 Send by Re"erence

• 9i.ed Sied vs7 :ariabel Sied Message

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 8/36

 

$irect Communication

• 'roses-proses harus

menyebutkanpasangannya

secara eksplisit – send(;# message)

• ; adalah receiver 

 – receive('# message)• ' adalah sender 

P Q

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 9/36

 

Si%at-si%at Communication "ink $irect

Comm&

• <ink ditetapkan secara otomatis

• <ink diasosiasikan dengan pasanganproses yang sedang berkomunikasi tsb

• 5ntara sepasang proses hanya bisa ada =

link• <ink bisa satu arah tapi biasanya dua arah

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 10/36

 

Kekurangan $irect Comm&

• Modularitas terbatas

 – 'engubahan nama proses perlu pengubahan

di seluruh call – 'erlu pemeriksaan /ika terdapat nama yang

sama

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 11/36

 

Indirect Communication

• Message-message dikirim danditerima melalui suatu mailbo.

(/uga disebut port )

 – Masing-masing mailbo. memiliki

id yang unik – 'roses-proses hanya dapat

berkomunikasi /ika mereka men-

share mailbo.

 – send(5# message)• 4irim message ke dalam mailbo. 5

 – receive(5# message)

• >erima message dari dalam mailbo. 5

AP Q

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 12/36

 

Si%at-si%at Communication "ink

Indirect Comm&

• <ink ditetapkan saat dua proses men-

share suatu mailbo.

• <ink dapat diasosiasikan dengan se/umlah

proses

• Setiap pasang proses bisa men-share

beberapa link

• <ink bisa satu arah atau dua arah

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 13/36

 

!perasi-operasi Indirect Comm&

• 'roses memulai komunikasi dengan men-

create mailbo.

• 4omunikasi berlangsung denganpemanggilan perintah send ? receive

message melalui mailbo. tersebut

• Saat proses hendak e.it maka prosesmen-destroy mailbo.

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 14/36

 

Masalah pada Mailbo' Sharing

• Mailbo. sharing

 –  P 1, P 2 , and P 3 share mailbo. 57

 –  P 1# sends! P 2 dan P 3 receive7

 – Siapa yang mendapatkan message+

• Solusi – $atasi link diasosiasikan hanya untukma. 2 proses

 – *anya mengi/inkan satu proses setiapsaat yang meng-eksekusi operasireceive

 – Sistem memilih siapa receiver-nya

 – Sender menyebutkan siapa receiver-nya

AP1

P2

P3

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 15/36

 

Sinkronisasi

• Message passing dapat dibedakan

men/adi 0

 – blocking

 – non-blocking

• Blocking adalah synchronous

• Non-blocking adalah asynchronous• 'rimiti" send and receive dapat blocking

or non-blocking7

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 16/36

 

u%%ering untuk "ink

• @ kemungkinan cara implementasi

 – Zero capacity – tidak ada bu""er 

• Sender harus menunggu sampai muncul receiver

dan sebaliknya (sinkronisasi - rendezvous)

 – Bounded capacity – bisa berisi ma. n

message

• Sender harus menunggu /ika penuh

 – Unbounded capacity – tak terbatas

• Sender tidak pernah menunggu

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 17/36

 

Komunikasi Client-Serer

• Sockets

• Remote 'rocedure alls

• Remote Method &nvocation (3ava)

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 18/36

 

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 19/36

 

Socket 

• Socket dide"inisikan sebagai suatu endpoint for communication7

• Sebuah programming inter"ace ke OS yangmemungkinkan proses untuk saling

berkomunikasi ke proses lainya• 8ksekusi >'%6' berlangsung di level kernel#

socket bertindak sebagai /embatan ke user space7

• Merupakan gabungan &' address dan port• Socket 11!2"!1#!$%12"   menun/ukkan baha

port 12" pada host 11!2"!1#!$

• 4omunikasi terdiri dari pasangan socket7

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 20/36

 

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 21/36

 

Komunikasi antar Socket 

• ontoh standard port 0

 – >8<N8> menggunakan port 2@

 – 9>' menggunakan port 2=

 – *>>' server menggunakan port AB

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 22/36

 

Ilustrasi Socket 

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 23/36

 

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 24/36

 

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 25/36

 

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 26/36

 

Komunikasi Socket 

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 27/36

 

$etail Komunikasi Socket 

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 28/36

 

emote Procedure Calls (PC) (*)

• Remote 'rocedure all (R') membuatabstraksi pemanggilan prosedur antara prosesdalam sistem /aringan (network )

• &tubs – client-side pro.y untuk procedure aktualpada server

• 'lient-side stub mengalokasikan server danmengirimkan  marshalls parameter 

• &erver-side stub menerima message#membuka parameter marshall# dan men/alankanprocedure pada server 

Mekanisme PC

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 29/36

 

Mekanisme PC

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 30/36

 

emote Procedure Calls (PC) (+)

• 6alam sistem single-processor 0

 – message send C pemanggilan "ungsi

 – reply C "unction return

 – sender mengakti"kan receiver dengan

message sebagai argument# dan sender ait

untuk mendapatkan reply dari "unction return

• Skema R' ini dilakukan /uga padaproses-proses yang running di komputer berlainan

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 31/36

 

Mekanisme IPC

• Sebelummekanisme&' digunakan# data harus di-packaging kedalam"ormat transimisi7 <angkah ini dinamakan marshalling 

• Proxy bertanggung /aab untuk marshalling data# kemudianmengirimkandata dan meminta instans dari komponen (remote

• !tu" menerimareDuest# unmarshall data# dan memanggilmethod

yang diminta7 4emudianproses mengembalikan nilai yangdiinginkan

• ontoh 0 OM (#omponent $"%ect &odel ) - Microso"t# OR$5(ommon Ob/ect ReDuest $roker 5rchitecture - OME)

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 32/36

 

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 33/36

 

Contoh PC

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 34/36

 

Kelebihan PC

• Relati" mudah digunakan 0 – 'emanggilan remote procedure tidak /auh berbeda

dibandingkan pemanggilan local procedure7 Sehinggapemrogram dpt berkonsentrasi pd software logic #tidak perlu memikirkan low level details seperti

socket# marshalling ? unmarshalling 7

• Relatively portable 0

 – S%, developed using R' is easier to be portedcompared to sockets7

• Robust 0 – Se/ak th =FAB-an R' telah banyak digunakan dalam

pengembangan mission'critical application ygmemerlukan scala"ility, fault tolerance, ? relia"ility 7

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 35/36

 

Kekurangan PC

• >idak "leksibel terhadap perubahan 0

 – Static relationship beteen client ? server at run-time7

• $erdasarkan prosedural (structured programming yang

sudah ketinggalan /aman dibandingkan OO'7

N b h

7/23/2019 3 Komunikasi Antar Prosesssd

http://slidepdf.com/reader/full/3-komunikasi-antar-prosesssd 36/36

 

Number three

Komunikasi Antar Proses

Interprocess Communication (IPC)

Sumber● &da Nurhaida# S>7# M>7● 6&S>R&$>86 SGS>8MS Second 8dition# 5ndre)

S7>anenbaum# Maarten :an Steen