T0542 / 04 - 01 INTERPROCESS COMMUNICATION Permasalahan: • Penyampaian informasi antar proses • Pengaturan proses agar tidak saling menghalangi • Proper sequencing bila terjadi dependencies RACE CONDITION • Dua proses mengakses shared memory pada saat yang bersamaan T0542 / 04 - 02 • Contoh: spooler directory pada printer T0542 / 04 - 03 CRITICAL REGION • Bagian program dimana shared memory diakses Mutual Exclusion: • Mekanisme untuk mencegah suatu proses mengakses resouce yang sedang dipakai oleh preses lain Empat kondisi agar terjadi mutual exclusion: 1. Tidak ada dua proses yang berada di critical region pada saat yang bersamaan 2. Tidak ada asumsi mengenai kecepatan dan jumlah CPU 3. Tidak ada proses yang berada di luar critical region menghalangi (blocking) proses yang lain 4. Tidak ada proses yang menunggu selamanya untuk masuk critical region T0542 / 04 - 04 Mutual exclusion using critical regions T0542 / 04 - 05 MUTUAL EXCLUSION DENGAN BUSY WAITING • Disabling Interrupt • Proses mematikan (disable) semua interrupt setelah memasuki critical region dan menghidupkan kembali (reenable) interrupt tersebut sebelum meninggalkannya • disabling interrupt tidak sebaiknya dilakukan oleh user process • Lock Variables • Shared (lock) variables, awalnya diset 0 • Jika lock = 0, set lock = 1, kemudian masuk critial region • Jika lock = 1, tunggu sampai lock = 0 problem: race condition T0542 / 04 - 06 • Lock Variables • Shared (lock) variables, awalnya diset 0 • Jika lock = 0, set lock = 1, kemudian masuk critial region • Jika lock = 1, tunggu sampai lock = 0 problem: race condition • Strict Alternation (a) Process 0. (b) Process 1. T0542 / 04 - 07 • Peterson’s Solution T0542 / 04 - 08 • TSL Instruction • Sleep and Wakeup Sleep: system call yang menyebabkan proses yang memanggil diblock, atau ditunda (suspended) Wakup: system call yang menyebabkan proses dibangunkan, atau menjadi ready T0542 / 04 - 09 • Producer-Consumer Problem (Bounded-Buffer Problem) Producer-consumer problem with fatal race condition
© Copyright 2024 Paperzz