Komunikasi antar proses: Perbedaan antara revisi

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Konten dihapus Konten ditambahkan
HsfBot (bicara | kontrib)
k Bot: Perubahan kosmetika
Taylor 49 (bicara | kontrib)
perbai kecil
Baris 1: Baris 1:
{{rapikan|topik=teknologi informasi}}
{{rapikan|topik=teknologi informasi}}

'''Inter-Process Communication''' (IPC) atau '''Komunikasi antar proses''' adalah cara atau mekanisme pertukaran data antara satu [[Proses (komputer)|proses]] dengan proses lainnya, baik itu proses yang berada di dalam komputer yang sama, atau komputer jarak jauh yang terhubung melalui jaringan. IPC terdiri atas protokol yang menjamin sebuah respons dari sebuah permintaan. Contoh dari IPC adalah [[UNIX Socket|Socket dalam sistem operasi keluarga UNIX]], [[RISC OS|message dalam sistem operasi RISC OS]], [[Port (Mach)|port]] dalam [[sistem operasi]] [[Mach Kernel|Mach]], [[Named Pipe]] dalam [[OS/2]], [[Dynamic Data Exchange|Dynamic Data Exchange (DDE)]] dalam [[sistem operasi]] [[Windows]], [[SPX]] dalam [[sistem operasi]] [[Novell]], [[IAC]] dalam sistem operasi [[Apple]] [[Macintosh]] (khususnya [[AppleEvents]]) dan beberapa komponen perangkat lunak seperti [[CORBA]] atau [[Component Object Model|Component Object Model (COM)]].
'''Inter-Process Communication''' (IPC) atau '''Komunikasi antar proses''' adalah cara atau mekanisme pertukaran data antara satu [[Proses (komputer)|proses]] dengan proses lainnya, baik itu proses yang berada di dalam komputer yang sama, atau komputer jarak jauh yang terhubung melalui jaringan. IPC terdiri atas protokol yang menjamin sebuah respons dari sebuah permintaan. Contoh dari IPC adalah [[UNIX Socket|Socket dalam sistem operasi keluarga UNIX]], [[RISC OS|message dalam sistem operasi RISC OS]], [[Port (Mach)|port]] dalam [[sistem operasi]] [[Mach Kernel|Mach]], [[Named Pipe]] dalam [[OS/2]], [[Dynamic Data Exchange|Dynamic Data Exchange (DDE)]] dalam [[sistem operasi]] [[Windows]], [[SPX]] dalam [[sistem operasi]] [[Novell]], [[IAC]] dalam sistem operasi [[Apple]] [[Macintosh]] (khususnya [[AppleEvents]]) dan beberapa komponen perangkat lunak seperti [[CORBA]] atau [[Component Object Model|Component Object Model (COM)]].


Meskipun IPC secara otomatis dilakukan oleh program, sebuah fungsi yang sama juga dapat dilakukan secara interaktif ketika pengguna melakukan operasi ''copy-cut-paste'' dari satu proses ke proses lainnya dengan menggunakan [[clipboard]].
Meskipun IPC secara otomatis dilakukan oleh program, sebuah fungsi yang sama juga dapat dilakukan secara interaktif ketika pengguna melakukan operasi ''copy-cut-paste'' dari satu proses ke proses lainnya dengan menggunakan [[clipboard]].


== Pendekatan ==
==Pendekatan==


{| class="wikitable"
{| class="wikitable"
Baris 12: Baris 13:
! Sistem Operasi/Lingkungan
! Sistem Operasi/Lingkungan
|-
|-
| [[Berkas|File]]
| [[Berkas komputer|Berkas (File)]]
| Sebuah berkas yang disimpan pada disk, atau disintesis oleh file server sesuai permintaan. Dapat diakses oleh beberapa proses.
| Sebuah berkas yang disimpan pada disk, atau disintesis oleh file server sesuai permintaan. Dapat diakses oleh beberapa proses.
| Hampir semua sistem operasi
| Hampir semua sistem operasi
Baris 37: Baris 38:
|-
|-
| [[Shared memory]]
| [[Shared memory]]
| Beberapa proces diberi akses pada blok memory yang sama, yang dimana membuat sebuah bufer bersama untuk proses-proses berkomunisaki satu sama lain.
| Beberapa proces diberi akses pada blok [[Memori (komputer)|memori]] yang sama, tempat sebuah bufer terletak bersama untuk proses-proses berkomunisaki satu sama lain.
| Semua sistem operasi yang mendukung standar [[POSIX]]
| Semua sistem operasi yang mendukung standar [[POSIX]]
|-
|-
Baris 63: Baris 64:


== Implementasi ==
== Implementasi ==

Ada beberapa dari [[API]] (Application Programming Interface) yang memungkinkan untuk digunakan untuk IPC. Beberapa platform yang tidak tergantung API termasuk berikut ini:
Ada beberapa dari [[API]] (Application Programming Interface) yang memungkinkan untuk digunakan untuk IPC. Beberapa platform yang tidak tergantung API termasuk berikut ini:


* [[Anonymous pipe]] dan [[named pipe]]
* [[Anonymous pipe]] dan [[Named pipe]]
* [[Common Object Request Broker Architecture]] (CORBA)
* [[Common Object Request Broker Architecture]] (CORBA)
* [[Freedesktop.org]] [[D-Bus]]
* [[Freedesktop.org]] [[D-Bus]]
Baris 80: Baris 82:
== Pranala luar ==
== Pranala luar ==
* [http://www.freedesktop.org/wiki/Software/dbus D-Bus] Situs resmi [[D-Bus]]
* [http://www.freedesktop.org/wiki/Software/dbus D-Bus] Situs resmi [[D-Bus]]



{{komputer-stub}}
{{komputer-stub}}

Revisi per 6 Desember 2018 11.46


Inter-Process Communication (IPC) atau Komunikasi antar proses adalah cara atau mekanisme pertukaran data antara satu proses dengan proses lainnya, baik itu proses yang berada di dalam komputer yang sama, atau komputer jarak jauh yang terhubung melalui jaringan. IPC terdiri atas protokol yang menjamin sebuah respons dari sebuah permintaan. Contoh dari IPC adalah Socket dalam sistem operasi keluarga UNIX, message dalam sistem operasi RISC OS, port dalam sistem operasi Mach, Named Pipe dalam OS/2, Dynamic Data Exchange (DDE) dalam sistem operasi Windows, SPX dalam sistem operasi Novell, IAC dalam sistem operasi Apple Macintosh (khususnya AppleEvents) dan beberapa komponen perangkat lunak seperti CORBA atau Component Object Model (COM).

Meskipun IPC secara otomatis dilakukan oleh program, sebuah fungsi yang sama juga dapat dilakukan secara interaktif ketika pengguna melakukan operasi copy-cut-paste dari satu proses ke proses lainnya dengan menggunakan clipboard.

Pendekatan

Metode Penjelasan Singkat Sistem Operasi/Lingkungan
Berkas (File) Sebuah berkas yang disimpan pada disk, atau disintesis oleh file server sesuai permintaan. Dapat diakses oleh beberapa proses. Hampir semua sistem operasi
Sinyal Sebuah pesan sistem yang dikirim dari suatu proses ke proses lain. Dapat digunakan sebagai metode sinkronisasi. Biasanya tidak digunakan untuk transfer data. Hampir semua sistem operasi
Socket Aliran data yang dikirim melalui antarmuka jaringan, untuk proses yang berbeda pada komputer yang sama maupun pada komputer berbeda pada jaringan. Biasanya ber-orientasi byte. Hampir semua sistem operasi
UNIX domain socket Mirip dengan Socket internet, tetapi seluruh komunikasi terjadi dalam kernel dan menggunakan sistem file sebagai alamat. Semua sistem operasi yang mendukung standar POSIX
Pipe Sebuah saluran data satu arah. Data yang ditulis pada ujung tulis (write end) dari pipa dibufer oleh sistem operasi sampai data pada ujung baca (read end) dibaca. Semua sistem operasi yang mendukung standar POSIX
Named pipe Sebuah pipe yang di-implementasi melalui sebuah file pada sistem file daripada melalui input dan output standard. Beberapa proses dapat membaca dan menulis file sebagai sebuah bufer untuk komunikasi antar proses. Semua sistem operasi yang mendukung standar POSIX
Shared memory Beberapa proces diberi akses pada blok memori yang sama, tempat sebuah bufer terletak bersama untuk proses-proses berkomunisaki satu sama lain. Semua sistem operasi yang mendukung standar POSIX
Message passing Memungkinkan beberapa program untuk berkomunikasi menggunakan message queue dan/atau saluran yang tidak diatur sistem operasi. Digunakan dalam paradigma Message Passing Interface (MPI), Java RMI, CORBA, atau lainnya
Memory map Sebuah berkas yang dipetakan pada RAM dan dapat dimodifikasi dengan mengubah alamat-alamat memory secara langsung daripada mengeluarkan (output) ke aliran. Semua sistem operasi yang mendukung standar POSIX; Mungkin dapat menyebabkan kondisi kompetisi (race condition) jika sebuah berkas sementara (temporary file) digunakan.
Message queue Aliran data mirip dengan socket, namun biasanya menjaga batas pesan (dalam maksud ukuran pesan dipatenkan sebelum pesan dikirim ke penampungan pesan dan proses yang menulis/membaca pesan layaknya berkomunikasi menggunakan suatu unit pesan). Kebanyakan sistem operasi
Mailbox Beberapa sistem operasi
Mailslot Windows NT, IBM OS/2

Implementasi

Ada beberapa dari API (Application Programming Interface) yang memungkinkan untuk digunakan untuk IPC. Beberapa platform yang tidak tergantung API termasuk berikut ini:

Pranala luar