adalah sebagai berikut :
Dua proses atau lebih dapat bekerja sama dengan menggunakan penanda-penanda sederhana. Proses dipaksa berhenti sampai proses memperoleh penanda tertentu. Sembarang kebutuhan koordinasi kompleks dapat dipenuhi dengan strukstur penanda yang sesuai kebutuhannya. Variabel khusus untuk penandaan ini disebut semaphore.
Semaphore adalah alat untuk sinkronisasi yang tidak membutuhkan busy waiting. Semaphore S berupa variable integer. Semaphore hanya dapat diakses melalui operasi atomic yang tak dapat diinterupsi sampai kode selesai.
Implementasi SemaphoresDua proses atau lebih dapat bekerja sama dengan menggunakan penanda-penanda sederhana. Proses dipaksa berhenti sampai proses memperoleh penanda tertentu. Sembarang kebutuhan koordinasi kompleks dapat dipenuhi dengan strukstur penanda yang sesuai kebutuhannya. Variabel khusus untuk penandaan ini disebut semaphore.
Semaphore adalah alat untuk sinkronisasi yang tidak membutuhkan busy waiting. Semaphore S berupa variable integer. Semaphore hanya dapat diakses melalui operasi atomic yang tak dapat diinterupsi sampai kode selesai.
1. Dilakukan modifikasi pada operasi wait dan signal
2. Jika proses mengeksekusi operasi wait,maka nilai semaphore menjadi tidak positif, pada saat itu proses memblok dirinya sendiri dan terjadi waiting queue.
3. Proses yang sedang diblok akan menunggu hingga semaphore S di restart, yaitu pada saat beberapa proses yang lain mengeksekusi operasi signal. Suatu proses akan direstart engan operasi wakeup dan akan mengubah proses dari keadaan waiting ke ready
Synchronization With Semaphores
Synchronization With Semaphores
No comments:
Post a Comment