Komunikasi Antar Proses (IPC) di OS
Apa itu Komunikasi Antar Proses?
Komunikasi antar proses (IPC) digunakan untuk bertukar data antara beberapa thread dalam satu atau lebih proses atau program. Proses mungkin berjalan pada satu atau beberapa komputer yang terhubung melalui jaringan. Bentuk lengkap IPC adalah komunikasi antar-proses.
Ini adalah seperangkat antarmuka pemrograman yang memungkinkan seorang programmer untuk mengoordinasikan aktivitas di antara berbagai proses program yang dapat berjalan secara bersamaan dalam suatu sistem operasi. Hal ini memungkinkan program tertentu untuk menangani banyak permintaan pengguna secara bersamaan.
Karena setiap permintaan pengguna dapat mengakibatkan beberapa proses berjalan di sistem operasi, proses tersebut mungkin memerlukan komunikasi satu sama lain. Setiap pendekatan protokol IPC memiliki kelebihan dan keterbatasannya masing-masing, sehingga bukan hal yang aneh jika satu program menggunakan semua metode IPC.
Pendekatan untuk Komunikasi Antar Proses
Berikut adalah beberapa metode penting untuk komunikasi antarproses:
Pipa
Pipa banyak digunakan untuk komunikasi antara dua proses yang terkait. Ini adalah metode half-duplex, jadi proses pertama berkomunikasi dengan proses kedua. Namun, untuk mencapai full-duplex, diperlukan pipa lain.
Pesan Berlalu
Ini adalah mekanisme bagi suatu proses untuk berkomunikasi dan melakukan sinkronisasi. Dengan menggunakan penyampaian pesan, proses berkomunikasi satu sama lain tanpa menggunakan variabel bersama.
Mekanisme IPC menyediakan dua operasi:
- Kirim (pesan)- ukuran pesan tetap atau variabel
- Diterima (pesan)
Antrean Pesan
Antrean pesan adalah daftar tertaut pesan yang disimpan di dalam inti. Diidentifikasi oleh pengidentifikasi antrean pesan. Metode ini menawarkan komunikasi antara satu atau beberapa proses dengan kapasitas dupleks penuh.
Komunikasi langsung
Dalam proses komunikasi antar proses jenis ini, harus menyebutkan nama satu sama lain secara eksplisit. Dalam metode ini, sebuah link dibuat antara sepasang proses yang berkomunikasi, dan di antara masing-masing pasangan, hanya ada satu link yang ada.
Komunikasi Tidak Langsung
Komunikasi tidak langsung terjadi hanya ketika proses berbagi kotak surat yang sama, setiap pasangan proses berbagi beberapa tautan komunikasi. Sebuah tautan dapat berkomunikasi dengan banyak proses. Tautan tersebut dapat bersifat dua arah atau satu arah.
Berbagi memori
Memori bersama adalah memori yang dibagi antara dua atau lebih proses yang dibangun menggunakan memori bersama antara semua proses. Jenis memori ini perlu dilindungi satu sama lain dengan menyinkronkan akses di semua proses.
FIFO
Komunikasi antara dua proses yang tidak berhubungan. Ini adalah metode dupleks penuh, yang berarti bahwa proses pertama dapat berkomunikasi dengan proses kedua, dan sebaliknya juga dapat terjadi.
Mengapa IPC?
Berikut alasan penggunaan protokol komunikasi antarproses untuk berbagi informasi:
- Ini membantu mempercepat modularitas
- komputasi
- Pemisahan hak istimewa
- Praktis
- Membantu sistem operasi untuk berkomunikasi satu sama lain dan menyinkronkan tindakan mereka.
Istilah yang Digunakan di IPC
Berikut ini adalah beberapa istilah penting yang digunakan dalam IPC:
Semaphores: Semaphore adalah teknik mekanisme sinyal. Metode OS ini mengizinkan atau melarang akses ke sumber daya, yang bergantung pada cara pengaturannya.
Signals: Ini adalah metode untuk berkomunikasi antara beberapa proses dengan cara memberi sinyal. Proses sumber akan mengirimkan sinyal yang dikenali dengan nomor, dan proses tujuan akan menanganinya.
Saran Membaca: - Apa itu Semaphore? Biner, Menghitung Jenis dengan Contoh
Apa Itu Seperti FIFOS dan Berbeda dengan FIFOS
Seperti FIFOS | Berbeda dengan FIFOS |
---|---|
Ini mengikuti metode FIFO | Metode untuk menarik pesan penting tertentu sebelum sampai ke depan |
FIFO ada secara independen dari proses pengiriman dan penerimaan. | Selalu siap, jadi tidak perlu buka atau tutup. |
Memungkinkan transfer data antar proses yang tidak terkait. | Tidak memiliki masalah sinkronisasi antara buka & tutup. |
Kesimpulan
- Definisi: Komunikasi antar-proses digunakan untuk pertukaran data antara beberapa thread dalam satu atau lebih proses atau program.
- Pipa banyak digunakan untuk komunikasi antara dua proses terkait.
- Penyampaian pesan merupakan suatu mekanisme bagi suatu proses untuk berkomunikasi dan melakukan sinkronisasi.
- Antrian pesan adalah daftar pesan tertaut yang disimpan di dalam kernel
- Proses langsung adalah jenis proses komunikasi antar proses, harus menyebutkan nama satu sama lain secara eksplisit.
- Komunikasi tidak langsung terjalin hanya ketika proses berbagi kotak surat yang sama, setiap pasangan proses berbagi beberapa tautan komunikasi.
- Memori bersama adalah memori yang dibagi antara dua atau lebih proses yang dibuat menggunakan memori bersama di antara semua proses.
- Metode Komunikasi Antar Proses membantu mempercepat modularitas.
- Semaphore adalah teknik mekanisme sinyal.
- Signaling adalah metode untuk berkomunikasi antara beberapa proses melalui pensinyalan.
- Seperti FIFO mengikuti metode FIFO sedangkan Berbeda FIFO menggunakan metode untuk menarik pesan penting tertentu sebelum sampai ke depan.