Sinkronisasi dan Deadlock Pada Sistem Operasi

Apa itu Sinkronisasi ? kenapa Sistem Operasi Membutuhkan Sinkronisasi? Seperti kita ketahui bahwa hidup sating berkaitan satu sama lain, begitu juga Sinkronisasi Pada Sistem Operasi. Hal ini jika tidak ada penopang dalam menjalankan suatu sistem, maka akan menemui suatu kendala yang berakibat ketidakkonsistenan pada data, sehingga data tidak menjadi konkuren.


Pengertian dari Sinkronisasi adalah Akses bebarengan untuk berbagi dua bersama dapat mengakibatkan inkosistensi data. Pemeliharaan konsistensi data memerlukan mekanisme untuk memastikan eksekusi dari proses kerjasama.
Tujuan dari sinkronisasi itu sendiri ialah untuk menghindari terjadinya inkonsitensi data karena pengaksesan oleh beberapa proses yang berbeda serta untuk mengatur urutan jalannya proses-proses sehingga dapat berjalan dengan balk dan sesuai apa yang di harapkan.
Masalah pada Sistem Operasi Sinkronisasi bisa terdapat dari masalah lainnya, seperti Masalah Race Condition & Critical Section.
     At dari Race Conditon adalah situasi di mans beberapa proses mengakses dan memanipulasi data bersama pada scat besamaan.


        Arti dari masalah Critical Section adalah sebuah segmen kode di mana sebuah proses yang mana sumber daya bersama diakses

Critical Section mempunyai beberapa kode :

        Entry Section : kode yang digunakan untuk masuk ke dalam critical section
        Critical Section : Kode di mana hanya ada satu proses yang dapat dieksekusi pada satu waktu.
        Exit Section: akhir dari critical section, mengizinkan proses lain.
        Remainder Section : kode istirahat setelah masuk ke critical section.
Kunci untuk mencegah masalah ini dan di situasi yang lain yang melibatkan shared memori, shared berkas, and shared sumber daya yang lain adalah menemukan beberapa jalan untuk mencegah lebih dari satu proses untuk melakukan proses writing dan reading kepada shared data pada saat yang sama.
Bagaimana pun setiap kali sebuah proses mengakses shared memory atau shared berkas atau melakukan sesuatu yang kitis akan menggiring kepada race conditions. Bagian dari program dimana shaed memory diakses disebut Critical Section atau Critical Region. Walau pun dapat mencegah race conditions, tapi tidak cukup untuk melakukan kerjasama antar proses secara pararel


Dengan baik dan efisien dalam menggunakan shared data, kita butuh 4 kondisi agar menghasilkan solusi yang baik yakni :


        Tidak ada dua proses secara bersamaan masuk ke dalam citical section.
        Tidak ada asumsi mengenai kecepatan atau jumlah cpu.
        Tidak ada proses yang berjalan di luar critical secion yang dapat mengeblok proses lain.
        Tidak ada proses yang menunggu selamamya untuk masuk critical section.

Solusi untuk mengatasi masalah Critical Section, yaitu:

        Mutual exclution : Jika proses pi sedang mengeksekusi critical section-nya maka tidak ada proses lain yang dapat mengeksekusi dalam critical section mereka.
        Progress : Jika tidak ada proses yang sedang dieksekusi dalam critical section dan ada beberapa proses yang ingin masuk ke critical section mereka, maka pemilihan proses yang akan masuk ke critical section berikutnya tidak bias ditunda.

Bounded Waiting :Suatu keterikatan harus ada pada sejumlah proses yang diijinkan masuk ke critical section mereka, setelah adanya proses yang meminta masuk ke critical section dan sebelum permintaan itu diterima.

Subscribe to receive free email updates: