Prasyarat Solusi Critical Section



Solusi dari masalah critical section harus memenuhi tiga syarat berikut:
  1. Mutual Exclusion. Mutual Exclusion merupakan sebuah jalan yang menjamin jika sebuah proses sedang menggunakan variabel atau berkas yang digunakan bersama-sama, proses lain akan dikeluarkan dari pekerjaan yang sama. Misal proses Pi sedang menjalankan critical section (dari proses Pi), maka tidak ada proses-proses lain yang dapat menjalankan critical section dari proses-proses tersebut. Dengan kata lain, tidak ada dua proses yang berada di critical section pada saat yang bersamaan.

    Contoh 18.4. Struktur umum dari proses Pi adalah:
             do {
                   entry section
                      critical section
                   exit section
                      remainder section
                   } while (1);



    Setiap proses harus meminta izin untuk memasuki critical section-nya. Bagian dari kode yang mengimplementasikan izin ini disebut entry section. Akhir dari critical section itu disebut exit section. Bagian kode selanjutnya disebut remainder section. Dari kode di atas, dapat kita lihat bahwa untuk bisa memasuki critical section sebuah proses harus melalui entry section.


    Gambar 18.3. ilustrasi proses Pi



  2. Terjadi kemajuan (progress).Jika tidak ada proses yang sedang menjalankan critical section-nya dan jika terdapat lebih dari satu proses lain yang ingin masuk ke critical section, maka hanya proses-proses yang tidak sedang menjalankan remainder section-nya yang dapat berpartisipasi dalam memutuskan siapa yang berikutnya yang akan masuk ke critical section, dan pemilihan siapa yang berhak masuk ke critical section ini tidak dapat ditunda secara tak terbatas (sehingga tidak terjadi deadlock).

  3. Ada batas waktu tunggu (bounded waiting).Jika seandainya ada proses yang sedang menjalankan critical section, maka terdapat batasan waktu berapa lama suatu proses lain harus menunggu giliran untuk mengakses critical section. Dengan adanya batas waktu tunggu akan menjamin proses dapat mengakses ke critical section (tidak mengalami starvation: proses seolah-olah berhenti, menunggu request akses ke critical section diperbolehkan).




Komentar

Postingan populer dari blog ini

Contoh Resume Jurnal

Nama-Nama Komponen Komputer Beserta Fungsinya

Instalasi Dan Pemasangan Kabel Fiber Optik