Komunikasi antar
proses ini terdiri dari komunikasi langsung dan komunikasi tidak langsung. Penjelasan selengkapnya
adalah sebagai berikut :
1.
Komunikasi
Langsung
Proses-proses
yang ingin dikomunikasikan harus memiliki sebuah cara untuk memilih satu dengan
yang lain. Mereka dapat menggunakan komunikasi langsung/tidak langsung. Setiap
proses yang ingin berkomunikasi harus memiliki nama yang bersifat eksplisit,
baik penerimaan atau pengirim dari komunikasi tersebut. Dalam konteks ini
pengiriman dan penerimaan pesan secara primitive dapat dijabarkan sebagai :
o Send
(P, Pesan) è mengirim pesan ke proses P
o Receive
(Q, Pesan) è menerima pesan dari proses Q
Catatan :
ü Ada
sambungan yang dapat bekerja secara otomatis antara tiap pasangan proses yang
ingin berkomunikasi.
ü Sambungan
tersebut menghubungkan 2 (dua) proses.
ü Antara
tiap-tiap pasangan proses ada 1 (satu) jalur.
ü Sambungan
tersebut mungkin bersifat unidirectional, namun biasanya bidirectional.
Pembahasan ini
memperlihatkan sebuah cara simetris dalam pemberian alamat. Oleh karena itu
keduanya, yaitu pengirim dan penerima proses harus member nama bagi yang lain
untuk berkomunikasi. Hanya pengirim yang memberikan nama bagi penerima
sedangkan penerima tidak menyediakan nama bagi pengirim. Dalam konteks ini,
pengirim dan penerima secara sederhana dapat dijabarkan sebagai :
·
Send (P, message) è
mengirim sebuah pesan kepada proses P.
·
Receive (id, message) è
menerima sebuah pesan dari semua proses. Variabel id diatur sebagai nama dari
proses dengan komunikasi.
2.
Komunikasi
Tak Langsung
Dengan
komunikasi tidak langsung, pesan akan dikirimkan pada dan diterima dari/melalui
mailbox (kotak surat) atau
terminal-terminal. Sebuah mailbox dapat dilihat secara abstrak sebagai sebuah
objek di dalam setiap pesan yang ditempatkan dari proses dan dari setiap pesan
yang bias dipindahkan. Setiap kotak surat memiliki sebuah identifikasi
(idenditas) yang unik. Sebuah proses dapat berkomunikasi dengan beberapa proses
lain melalui sebuah nomor dari mailbox yang berbeda. Dua proses dapat saling
berkomunikasi apabila kedua proses tersebut sharing mailbox.
Sebagai contoh
:
§ Send
(A, Pesan) è mengirim pesan ke mailbox A
§ Receive
(A, Pesan) è menerima pesan dari mailbox A
Catatan
:
ü Sambungan
antara 2 (dua) proses diberikan jika antara kedua proses tersebut saling
menggunakan mailbox secara bersama-sama.
ü Sambungan
tersebut menghubungkan lebih dari 2 (dua) proses.
ü Antara
tiap-tiap pasangan proses yang saling berkomunikasi ada sejumlah sambungan yang
berbeda. Tiap-tiap link berhubungan
dengan satu mailbox.
ü Sambungan
tersebut mungkin bersifat unidirectional,
namun biasanya bidirectional.
Sistem
operasi memungkinkan suatu proses untuk :
F Membuat
mailbox yang baru.
F Mengirim
atau menerima pesan yang ada di mailbox.
F Menghapus
mailbox.
Proses
yang membuat mailbox pertama kali
secara default akan memiliki mailbox tersebut. Untuk pertama kali,
pemilik adalah satu-satunya proses yang dapat menerima pesan melalui mailbox ini. Bagaimana pun, kepemilikan
dan hak menerima pesan mungkin dapat dialihkan ke proses lain melalui system
pemanggilan.
Berbagi mailbox
:
a) P1,
P2, dan P3 berbagi mailbox A.
b) P1,
mengirimkan ; P2 dan P3 menerima.
c) Siapa
yang mendapatkan pesan ?
Solusi :
1. Mengizinkan
suatu jalur untuk dihubungkan dengan paling banyak dua proses.
2. Mengizinkan
hanya ada satu proses pada waktu yang sama untuk mengeksekusi operasi
penerimaan.
3. Mengizinkan
system untuk memilih secara mutlak proses mana yang akan menerima pesan (apakah
itu P2 atau P3 tetapi tidak keduanya, tidak akan menerima pesan). Sistem
mungkin mengidentifikasi penerima kepada pengirim.
Mailbox mungkin dapat
memiliki oleh sebuah proses atau system operasi. Jika mailbox dimiliki oleh proses, maka kita mendefinisikan antara
pemilik (yang hanya dapat menerima pesan melalui mailbox) dan pengguna dari mailbox
(yang hanya dapat mengirim pesan ke mailbox). Selama setiap mailbox mempunyai kepemilikan yang unik,
maka tidak aka nada kebingungan tentang siapa yang harus menerima pesan dari mailbox. Ketika proses yang memiliki mailbox tersebut diterminasi, mailbox akan hilang. Semua proses yang
mengirim pesan ke mailbox ini diberi
pesan bahwa mailbox tersebut tidak
lagi ada.
Tidak ada komentar:
Posting Komentar