3 komunikasi antar prosesssd
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