Anda di halaman 1dari 3

Komunikasi Antar Proses

Komunikasi Antar Proses Konsep proses yang memiliki ruang alamat


logika yang independen dan terisolasi dari proses lain, merupakan salah satu
cara agar perebutan terhadap sumber daya tersebut tidak perlu ditangani
langsung oleh pemogram aplikasi, tapi ditangani oleh sistem operasi dan
dibantu dukungan perangkat keras yaitu MMU (Memory Management Unit)
Ada kalanya proses-proses yang berjalan tersebut saling bekerja sama
sehingga sistem operasi harus menyediakan fasilitas komunikasi antar proses
(IPC, Inter Process Communication).
Terdapat dua model komunikasi antar proses :
1. Mekanisme
IPC
Message
Passing
Mekanisme
message
passing
melibatkan intervensi sistem operasi
secara langsung. Misalnya proses A
hendak menyampaikan suatu pesan M
ke proses B maka proses A akan
mengirimkan pesannya ke kernel
sistem operasi(1), yang kemudian
diteruskan ke proses B (2)

2. Mekanisme
IPC
Shared
Memory
Mekanisme ini melibatkan sistem
operasi pada saat mengalokasikan
memori ke proses-proses yang akan
saling berkomunikasi lewat fasilitas ini.
Caranya adalah bagian tertentu dari
ruang alamat dua proses tersebut
dipetakan ke suatu lokasi memori fisik
sama sehingga proses-proses tersebut
menulis maupun membaca dari lokasi
ini.

Sedang Model Komunikasi message passing


dari :
1. Komunikasi Langsung
2. Komunikasi Tidak Langsung

yang
dapat
memori

Terdiri

Komunikasi Langsung :
Komunikasi Langsung Ciri-ciri komunikasi langsung :
1. Terdapat sambungan yg dapat bekerja secara otomatis antara prosesproses yang ingin berkomunikasi.
2. Tiap sambungan menghubungkan tepat dua proses, antar setiap
pasangan proses terdapat tepat satu jalur sambungan.

3. Sambungan dapat bersifat satu arah (unidirectional), namun biasanya


bersifat dua arah(bidirectional). P1 P2 Send(pesan, P2) bidirectional

Komunikasi Tidak Lnagsung :


Komunikasi Tidak Langsung Ciri-ciri komunikasi tidak langsung :
1. Komunikasi antar dua proses dapat terjadi jika dua-duanya memiliki
akses ke suatu mailbox yg sama.
2.

Tiap mailbox dapat menghubungkan lebih dari dua proses, dan


dimungkinkan terdapat lebih dari satu sambungan u/ setiap pasangan
proses yg hendak berkomunikasi. Setiap sambungan akan
menggunakan suatu mailbox

3. Sambungan dapat bersifat satu arah, tetapi umumnya bersifat dua arah
P1 P2 Send(pesan, M1) M1 (Mailbox 1) Receive(pesan, M1)

Sinkronisasi proses
Berkaitan dengan pengaturan urutan eksekusi proses - proses yang terkait
1. Implementasi Proses
Mekanisme sinkronisasi memastikan operasi terhadap sumber daya
tersebut secara mutual exclusive, yaitu setiap saat hanya diijinkan satu
proses yg dapat mengakses dan memanipulasi sumber daya tersebut. Namun
jika suatu sumber daya mengizinkan untuk diakses secara konkuren oleh N
proses maka sinkronisasi bertugas memastikan pada suatu waktu, maksimal
hanya sejumlah N proses yang dapat mengakses sumber daya tersebut.
2. Persyaratan Implementasi sinkronisasi proses
a.

b.

Mutual Exclusion : ketika suatu proses memasuki eksekusi kode critical


section-nya maka tidak boleh ada proses lain yang juga memasuki critical
section yang terkait. Sifat ini terutama benar untuk sumber daya yang
pengaksesannya bersifat mutual exclusive. Sifat ini dapat didefinisikan
ulang untuk sumber daya yang dapat diakses konkuren oleh sejumlah N
proses.
Progress : yaitu ketika ada proses yang hendak memasuki critical

c.

sectionnya dan pada saat itu tidak ada proses lain yang sedang
melakukan critical section, permintaan untuk masuk ke critical sectionnya
haruslah dipenuhi.
Bounded Waiting : Haruslah ada batasan tentang berapa kali proses lain
boleh menyalib suatu proses yang telah lebih dahulu meminta ijin untuk
memasuki critical sectionnya.

Buffering
Buffering Merupakan yang area memori untuk menyimpan data yang
sedang di pindahkan di antara dua device atau antara device dengan aplikasi
Alasan Buffering digunakan :
1. Untuk men-cope dengan kesalahan yang terjadi karena perbedaan
kecepatan antara produsen dengan konsumen dari sebuah stream
data.
2. Untuk menyesuaikan device-device yang mempunyai perbedaan dalam
ukuran transfer data. Hal ini sangat umum terjadi pada jaringan
komputer, dimana buffer dipakai secara luas untuk fragmentasi dan
pengaturan kembali pesan-pesan yang diterima
3. untuk mendukung copy semantics untuk aplikasi I/O
Baik komunikasi itu langsung atau tak langsung, penukaran pesan oleh
proses memerlukan antrian sementara. Pada dasarnya, terdapat tiga jalan
dimana antrian tersebut diimplementasikan:
1.

Kapasitas nol: antrian mempunyai panjang maksimum 0, maka link tidak


dapat mempunyai penungguan pesan (message waiting). Dalam kasus
ini, pengirim harus memblok sampai penerima menerima pesan.

2.

Kapasitas terbatas: antrian mempunyai panjang yang telah ditentukan,


paling banyak n pesan dapat dimasukkan. Jika antrian tidak penuh ketika
pesan dikirimkan, pesan yang baru akan menimpa, dan pengirim pengirim
dapat melanjutkan eksekusi tanpa menunggu. Link mempunyai kapasitas
terbatas. Jika link penuh, pengirim harus memblok sampai terdapat ruang
pada antrian.

3.

Kapasitas tak terbatas: antrian mempunyai panjang yang tak terhingga,


maka, semua pesan dapat menunggu disini. Pengirim tidak akan pernah
di blok.

Anda mungkin juga menyukai