Pages

Senin, 12 Mei 2014

INTERPROCESS COMMUNICATION, RACE CONDITIONS DAN MUTUAL EXCLUSION



1.      Interprocess communication
(interprocess Communication) adalah komunikasi antar proses untuk mengirim data dari satu proses ke proses yang lain, baik antar proses dalam satu komputer maupun proses-proses dalam komputer yang berbeda. IPC dapat dilakukan dengan berbagai cara yaitu Shared memory, Mapped memory, Pipe, FIFO, socked dsb.
Shared memory : merupakan komunikasi antar proses dengan cara membaca dan menulis pada lokasi memory yang telah di sharing.
Interprocess Communication menyediakan komunikasi antar proses dan penyelarasan aksi-aksi antar proses tanpa berbagi alamat memory yang sama. Komunikasi antar proses bahkan dapat dilakukan walaupun jarak antara komputer yang melakukan proses sangat jauh.
1.      Contoh penggunaan IPC :
1.      Program CorelDRAW yang dapat mengirim data bitmapnya pada aplikasi lain seperti CorelTRACE untuk mentrace gambarnya menjadi vector atau CorelPHOTO-PAINT untuk mengedit bitmap tersebut, kemudian hasilnya dapat ditampilkan kembali dalam CorelDRAW.
2.      Program messenger seperti Pidgin menggunakan IPC Socket untuk mengirim data berupa string antar user yang sedang chatting.
3.      File descriptor adalah sebuah kunci abstrak untuk mengakses sebuah file. Biasanya digunakan untuk sistem operasi POSIX. Dalam POSIX, file descriptor adalah integer, terdapat 3 nilai integer yang mendekripsikan file descriptor, 0 untuk standard input (stdin), 1 untuk standard output (stdout), 2 untuk standard error (stderr). Dalam Pipe, file descriptor digunakan sebagai standard input-output antar proses agar proses dapat berkomunikasi satu sama lain. File descriptor yang digunakan adalah array integer dengan 2 address, 0 untuk read (stdin) dan 1 untuk write (stdout).


2.      Race conditions
Race condition adalah suatu kondisi dimana dua atau lebih proses mengakses shared memory/sumber daya pada saat yang bersamaan dan hasil akhir dari data tersebut tergantung dari proses mana yang terakhir selesai dieksekusi sehingga hasil akhirnya terkadang tidak sesuai dengan yang dikehendaki.
3.      Mutual exclusion
Adalah Suatu kondisi dimana setiap sumber daya diberikan tepat pada satu proses pada suatu waktu (kondisi-kondisi untuk solusi). Tiga kondisi untuk menentukan mutual Exclusion diantaranya :
  1. Tidak ada dua proses yang pada saat bersamaan berada di critical region.
  2. Tidak ada proses yang berjalan diluar critical region yang bisa menghambat proses lain
  3. Tidak ada proses yang tidak bisa masuk ke critical region

0 komentar:

Posting Komentar