• Tidak ada hasil yang ditemukan

Sistem Operasi recent site activity (1)

N/A
N/A
Protected

Academic year: 2018

Membagikan "Sistem Operasi recent site activity (1)"

Copied!
4
0
0

Teks penuh

(1)

2.3. Komunikasi Antar Proses (Interprocess Communication)

Interprocess Communication (IPC) atau Komunikasi antar proses adalah komunikasi antar proses untuk mengirim data dari satu proses ke proses yang lain, baik antar proses dalam satu komputer maupun proses dalam komputer yang berbeda.

Ada 3 isu utama pada komunikasi antar proses, isu tersebut adalah

1. Bagaimana satu proses dapat menyampaikan informasi ke satu yang lain

2. Memastikan kedua atau lebih proses tidak salah dalam memasuki jalan proses yang sudah dibuat ketika sedang terlaksana proses pengiriman informasi tersebut 3. Pengurutan data secara tepat (sequencing) ketika suatu keadaan dependensi

(keadaan bergantung pada yang lain) hadir: Jika proses A adalah menghasilkan, dan B adalah mencetaknya, maka B harus menungggu sampai A selesai dalam memproduksi suatu informasi data sebelum B memulai untuk menyetaknya. 2.3.1. Race Condition

Race condition adalah suatu kondisi dimana dua atau lebih proses mengakses shared storage/sumber daya pada saat yang bersamaan dimana salah satu diantaranya dapat membaca dan menulis/membuat suatu data.

(2)

Sebagai contoh dari Race Condition adalah proses cetak dokumen menggunakan printer. Ketika ingin melakukan proses cetak dokumen, maka printer membaca sebuah nama dokumen yang akan dicetak. Nama tersebut akan disimpan printer, proses yang lain adalah, printer secara berkala melakukan cek

file mana yang akan di print, jika ada nama dokumen yang sudah terbaca oleh printer, maka printer kan mencetak file tersebut. Proses tersebut berjalan secara berurutan sehingga terjadi proses read and write data. Dibawah ini adalah gambaran skema proses dari contoh printer.

Dalam Murphy’s Law kasus tesebut dapat terjadi. Proses A membaca in dan menyimpan nilai "7" di sebuah variabel lokal yang disebut next_free_slot. Sebuah clock interrupt terjadi dan CPU memutuskan bahwa proses A berjalan cukup lama, sehingga digantika oleh proses B. Proses B juga membaca in, dan juga mengambil nilai 7, sehingga menyimpan nama berkas di slot nomor 7 dan memperbaharui nilai in menjadi 8. Maka proses mati dan melakukan hal lain.

(3)

sekarang secara internal konsisten, sehingga printer daemon tidak akan memberitahukan apa pun yang terjadi, tetapi poses B tidak akan mengambil output apa pun. Situasi seperti ini, dimana dua atau lebih proses melakukan proses reading atau writing beberapa shared data dan hasilnya bergantung pada ketepatan berjalan disebut race condition.

2.3.2.Critical Regions

Bagaimana menghindari race conditions? Kunci untuk mencegah masalah ini dan di situasi yang lain yang melibatkan shared memori, shared berkas, and shared sumber daya yang lain adalah menemukan beberapa jalan untuk mencegah lebih dari satu proses untuk melakukan proses writing dan reading kepada shared data pada saat yang sama. Dengan kata lain kita memutuhkan mutual exclusion, sebuah jalan yang menjamin jika sebuah proses sedang menggunakan shared berkas, proses lain dikeluarkan dari pekerjaan yang sama. Kesulitan yang terjadi karena proses 2 mulai menggunakan variabel bersama sebelum proses 1 menyelesaikan tugasnya.

Masalah menghindari race conditions dapat juga diformulasikan secara abstrak. Bagian dari waktu, sebuah proses sedang sibuk melakukan perhitungan internal dan hal lain yang tidak enggiring ke kondisi race conditions. Bagaimana pun setiap kali sebuah proses mengakses shared memory atau shared berkas atau melakukan sesuatu yang kitis akan menggiring kepada race conditions. Bagian dari program dimana shaed memory diakses disebut Critical Section atau Critical Region.

Walau pun dapat mencegah race conditions, tapi tidak cukup untuk melakukan kerjasama antar proses secara pararel dengan baik dan efisien dalam menggunakan shared data. Kita butuh 4 kondisi agar menghasilkan solusi yang baik:

1. Tidak ada dua proses secara bersamaan masuk ke dalam citical section. 2. Tidak ada asumsi mengenai kecepatan atau jumlah cpu.

(4)

4. Tidak ada proses yang menunggu selamamya untuk masuk critical section.

Berikut adalah gambar dari proses dari Critical Regions

Dari gambar di atas, dijelaskna bahwa, ada 2 proses yang terjadi dalam

pengiriman informasi tersebut, ketika proses A sedang berlangsung, pada waktu T1, proses A akan memasuki critical regions, pada proses yang lain, yaitu proses

B, pada waktu T1, proses B belum memasuki critical regions, tetapi saat waktu

T2, proses B seharusnya memasuki critical regions, tetapi karena proses A masih

berlangsung pada wilayah terseut, maka proses B di blokir pada wilayah ini. Ketika waktu T3 proses A sudah keluar dari critical regions, maka, proses B akan

masuk ke dalam critical regions tersebut.

Ketika proses B keluar dari critical regions tersebut pada T4, maka proses

Referensi

Dokumen terkait

Dari hasil penelitian ini diharapkan orangtua mendapatkan informasi tentang strategi coping yang dilakukan oleh remaja yang orangtuanya bercerai serta dampak dari

The MUI has a special commission called the Commission of Fatwa is whose responsibility is to issue fatwa to unify public opinion among Muslim community and give advices to

Dari roadmap arsitektur aplikasi ini dapat dilihat bahwa perlu adanya pengembangan terhadap sistem aplikasi yang telah ada diperusahaan, untuk memenuhi kebutuhan fungsi

Sejalan dengan dan mempertimbangkan ketentuan Komite Nasional Kebijakan Governance (KNKG) pada Pedoman Umum Good Corporate Governance (GCG) Indonesia agar Komite Nominasi

Berdasarkan hasil penelitian, dapat disimpulkan bahwa penggunaan media flash flipbook dapat meningkatan hasil belajar siswa pada materi gerak tumbuhan kelas VIII di SMP

ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume II-5/W3, 2015 25th International CIPA Symposium 2015, 31 August – 04 September 2015,

Pengecualian dari instrumen ekuitas AFS, jika, pada periode berikutnya, jumlah kerugian penurunan nilai berkurang dan pengurangan tersebut dapat dikaitkan secara obyektif

• Category “Policy Language Encoding” (PLE) defines conformance test cases that focus on the capability of the implementation being able to properly process the XACML conformant