OS202
Synchronization
Hal pertama yang saya pelajari adalah bahwa Synchronization Tools merupakan sebuah cara untuk berbagi sumber daya sistem dengan proses sedemikian rupa sehingga, akses bersamaan ke data bersama ditangani sehingga meminimalkan kemungkinan data yang tidak konsisten. Menjaga konsistensi data menuntut mekanisme untuk memastikan pelaksanaan yang sinkron dari proses kerja sama. Proses Sinkronisasi diperkenalkan untuk menangani masalah yang muncul saat menjalankan beberapa proses. Beberapa masalah dibahas di bawah ini.
-> Source : Synchronization
Semaphores
Hal kedua yang saya pelajari adalah bahwa Semaphore merupakan variabel integer yang, selain inisialisasi, diakses hanya melalui dua operasi atom standar: wait () dan signal (). Semaphore diperkenalkan oleh ilmuwan komputer Belanda Edsger Dijkstra, dan operasi wait () awalnya disebut P sedangkan untuk operasi signal () pada awalnya disebut V.
-> Source : OSC 10, Page 272
Deadlock
Hal kelima yang saya pelajari adalah bahwa Deadlock merupakan proses yang terjadi ketika sekumpulan proses diblokir karena setiap proses memegang sumber daya dan menunggu sumber daya lain yang diperoleh oleh beberapa proses lain. Pertimbangkan contoh ketika dua kereta datang menuju satu sama lain di jalur yang sama dan hanya ada satu jalur, tidak ada kereta yang bisa bergerak begitu mereka berada di depan satu sama lain. Situasi serupa terjadi dalam sistem operasi ketika ada dua atau lebih proses yang memegang beberapa sumber daya dan menunggu sumber daya yang dipegang oleh (s) lain.
-> Source : Deadlock
Peterson Solution
Hal keenam yang saya pelajari adalah bahwa Peterson Solution merupakan algoritma yang digunakan untuk menyinkronkan dua proses. Ini menggunakan dua variabel, bendera array bool ukuran 2 dan variabel int untuk mencapainya. Dalam solusi, i mewakili Konsumen dan j mewakili Produsen. Awalnya benderanya salah. Ketika sebuah proses ingin mengeksekusi bagian kritisnya, proses tersebut menetapkan panji ke true dan berubah sebagai indeks dari proses lainnya. Ini berarti bahwa proses tersebut ingin dijalankan tetapi akan memungkinkan proses lain untuk dijalankan terlebih dahulu. Proses melakukan menunggu sibuk sampai proses lain telah menyelesaikan bagian kritisnya sendiri. Setelah ini, proses saat ini memasuki bagian kritisnya dan menambahkan atau menghapus nomor acak dari buffer bersama. Setelah menyelesaikan bagian kritis, itu menetapkan benderanya sendiri ke false, menandakan tidak ingin dieksekusi lagi. Program ini berjalan selama jangka waktu tertentu sebelum keluar. Kali ini dapat diubah dengan mengubah nilai makro RT.
-> Source : Peterson Solution
Deadlock Detection
Hal kedelapan yang saya pelajari adalah bahwa cara untuk mendeteksi deadlock dapat dilakukan oleh sistem dengan cara menyediakan algoritma untuk memeriksa status sistem untuk menentukan apakah telah terjadi deadlock. Cara kedua yang dapat dilakukan oleh sistem adalah dengan menyediakan algoritma untuk recover dari deadlock. Hal ini akan disediakan oleh sistem ketika tidak mempunyai program untuk mencegah dan menghindari adanya deadlock. Jika sistem sudah menyediakan program penghindaran dan pencegahan maka penyediaan algoritma deteksi dan recover deadlock tidak dilakukan.
-> Source : OSC10, Page 337
Banker’s Algorithm
Hal kesembilan yang saya pelajari adalah bahwa Banker’s Algorithm merupakan cara sistem untuk menghindari terjadinya deadlock. Algoritma ini berjalan dengan alokasi sumber daya dan penghindaran deadlock yang menguji keamanan dengan mensimulasikan alokasi untuk jumlah maksimum yang mungkin telah ditentukan sebelumnya dari semua sumber daya, kemudian membuat pemeriksaan “status-s” untuk menguji kemungkinan aktivitas, sebelum memutuskan apakah alokasi harus diizinkan untuk melanjutkan.
-> Source : Banker’s Algorithm