Daftar Isi:
Definisi - Apa yang dimaksud Semaphore?
Semaphore adalah objek sinkronisasi yang mengontrol akses oleh banyak proses ke sumber daya bersama dalam lingkungan pemrograman paralel. Semaphores banyak digunakan untuk mengontrol akses ke file dan memori bersama. Tiga fungsi dasar yang terkait dengan semaphore diatur, periksa dan tunggu sampai jelas untuk mengaturnya lagi. |
Semaphores digunakan untuk mengatasi masalah sinkronisasi patokan.
Konsep semaphore dikemukakan oleh ilmuwan komputer Belanda Edsger Dijkstra.
Techopedia menjelaskan Semaphore
Semaphore adalah nilai integer non-negatif yang mendukung operasi semaphore-> P () dan semaphore-> V (). P adalah operasi atom yang menunggu semafor menjadi positif dan kemudian menguranginya satu, sedangkan V adalah operasi atom yang menambah semafor satu, yang menyiratkan itu membangun menunggu P. Tes dan mengatur terkait dengan semafor adalah rutinitas diimplementasikan dalam perangkat keras untuk mengoordinasikan bagian kritis tingkat rendah.
Semafor biasanya diimplementasikan menggunakan deskriptor file. Kreasi semafor bukanlah atom. Jika dua proses mencoba untuk membuat, menginisialisasi dan menggunakan semaphore pada saat yang sama, kondisi balapan dibuat. Semaphores dibuat dan diinisialisasi ke nilai positif untuk menunjukkan ketersediaan sumber daya yang akan digunakan. Semaphores dapat diimplementasikan melalui interupsi atau dengan menggunakan operasi uji-set.
Setiap semaphore memiliki set izin. Ini membatasi jumlah utas yang mengakses sumber daya. Semafor dengan hanya satu izin dan diinisialisasi ke satu berfungsi sebagai kunci pengecualian bersama. Mereka disebut demikian karena mereka hanya memiliki dua negara: izin tersedia atau nol izin tersedia. Ini membungkus properti sehingga kunci dapat dilepaskan oleh utas selain pemiliknya, membantu pemulihan kebuntuan. Semaphore digunakan untuk saling pengecualian di mana semaphore memiliki nilai awal satu, dan P () dan V () dipanggil sebelum dan sesudah bagian kritis.