Friday, April 28, 2017

Perbedaan Mutex dan Semaphore

#Ulasan 1

Dalam dunia Sistem Operasi, pasti ada hal-hal yang akan bekerja secara bersamaan, maupun hal yang bekerja sendiri-sendiri. Akan tetapi, jika hal-hal tersebut bekerja secara bersamaan tanpa adanya sebuah pembatas dimana mereka akan dibedakan cara kerjanya, maka proses tersebut dapat bertabrakan dan menimbulkan error pada mesin yang menjalankan proses tersebut. Sekarang saya akan menjelaskan perbedaan mutex dan semaphore untuk multiprocessing dan multithreading. URL yang saya dapatkan untuk bahan ulasan adalah: https://www.youtube.com/watch?v=DvF3AsTglUU, dengan pengarang HowTo, berdurasi 7 menit.

Proses tersebut terbagi menjadi dua, yaitu semaphore dan mutex. Mutex adalah singkatan dari mutual exclusion, dimana jika ada 3 proses yang akan berjalan secara bersamaan, mutex menyediakan fitur lock and release, dimana lock tersebut bekerja sebagai kunci yang dapat membuka suatu jalur agar sebuah proses dapat berjalan dengan semestinya.  Anggap mutex sebagai cara kerja jika orang yang sedang berada di rumah yang hanya memiliki satu pintu dan satu kunci. Analogikan bahwa orang yang berada dalam rumah tersebut adalah sebuah proses, rumah itu sendiri adalah sebuah Sistem Operasi, dan kunci tersebut adalah fitur mutex yang dapat menjalankan sistem lock and release. Jika satu orang ingin keluar rumah tersebut, maka harus mengambil kunci tersebut, dan sisa orang dirumah tersebut tidak dapat mengambil kuncinya karena sedang dipakai oleh satu orang tersebut. Maka, proses dapat berjalan dengan sebagaimana mestinya.

Semaphore juga merupakan suatu proses penggunaan fitur lock and release. Letak perbedaannya hanyalah dimana semaphore membatasi jumlah proses serta jumlah semaphore yang akan digunakan. Jika semaphore yang disediakan hanya berjumlah 2, makan proses yang harus berjalan hanya boleh 2 proses. Jika semaphore yang disediakan hanya berjumlah 3, maka proses yang harus berjalan hanya boleh 3 proses. Analogikan sebagai restoran yang hanya menyediakan 500 piring nasi goreng pada suatu acara. Berarti, orang yang datang ke acara tersebut hanya dibatasi sebanyak 500 pengunjung, tidak boleh lebih. Jika lebih, maka mereka tidak akan kebagian piring nasi goreng. Sama halnya dengan semaphore, jika jumlah proses melebihi jumlah semaphore, maka akan terjadi sebuah error.

Konten yang diberikan sangatlah baik adanya, dan lengkap. Penjelasan yang diberikan juga jelas sehingga memudahkan penonton untuk mengerti lebih baik akan perbedaan mutex dan semaphore secara analitis dan logical.

Github account: bertodaulat
URL ulasan: bertodaulat.blogspot.co.id
URL Video: http://youtu.be/DvF3AsTglUU
Pemetaan video materi: week06
Tanggal submisi revisi pertama: 29 April 2017