Inter Process Communication (IPC) adalah
seperangkat teknik untuk pertukaran data di antara beberapa thread dalam satu atau lebih proses.
Proses tersebut dapat berjalan pada satu atau lebih komputer yang terhubung
dengan jaringan. Teknik IPC dibagi menjadi metode message passing,
synchronization, shared memory, dan remote procedure calls (RPC). IPC metode
yang digunakan dapat bervariasi berdasarkan bandwidth dan latency komunikasi antara
thread, dan jenis data yang dikomunikasikan.
Ada
beberapa alasan untuk menyediakan lingkungan yang memungkinkan proses
kerjasama:
*
Information sharing
*
Perhitungan percepatan
*
Modularity
*
Kenyamanan
a. Shared Memory: memori yang dapat diakses secara bersamaan
oleh beberapa program dengan maksud
untuk menyediakan komunikasi di antara mereka atau menghindari salinan yang
berlebihan. Tergantung pada konteks, program dapat berjalan pada satu prosesor
atau beberapa prosesor yang terpisah.
Merupakan
salah satu cara komunikasi antar proses dengan cara mengalokasikan suatu alamat
memori untuk dipakai berkomunikasi antar proses. Alamat dan besar alokasi
memori yang digunakan biasanya ditentukan oleh pembuat program. Pada metode
ini, sistem akan mengatur proses mana yang akan memakai memori pada waktu
tertentu sehingga pekerjaan dapat dilakukan secara efektif.
b.
Pipes: serangkaian proses berantai oleh aliran standar, sehingga setiap
proses output (stdout) feed secara langsung sebagai input (stdin) ke yang
berikutnya. Masing-masing sambungan ini diimplementasikan oleh pipa anonim.
Program filter sering digunakan dalam konfigurasi ini.
Sebuah pipa adalah teknik untuk
melewati informasi dari salah satu program untuk proses lain. Tidak seperti
bentuk komunikasi interprocess (IPC), sebuah pipa adalah satu-cara komunikasi
saja. Pada dasarnya, sebuah pipa melewati parameter seperti output dari satu
proses ke proses yang lain menerima sebagai masukan.
d.
Semaphore: sebuah variabel yang dilindungi
atau tipe data abstrak yang merupakan metode klasik untuk membatasi akses ke
sumber daya bersama seperti shared memory dalam suatu lingkungan pemrograman
paralel. Semaphore adalah solusi klasik
untuk mencegah race condition pada dining philosopher problem, meskipun mereka
tidak mencegah deadlock sumber daya.



Tidak ada komentar:
Posting Komentar