1) Bagaimana kondisi Deadlock bisa terjadi?. Show
1) Faktor penyebab teerjadinya deadlock yang mengacu kepada Manajemen Memori.
Share this:Menyukai ini:Suka Memuat... TerkaitContohnya prosesor, Channel I/O, disk. Contoh peran sumber daya jenis ini pada terjadinya Deadlock ialah misalnya sebuah proses memakai disk A dan B, maka akan terjadi Deadlock jika setiap proses sudah memiliki salah satu disk dan meminta disk yang lain. Masalah ini tidak hanya dirasakan oleh pemrogram tetapi oleh seorang yang merancang sebuah sistem operasi. Cara yang digunakan pada umumnya dengan cara memperhitungkan dahulu sumber daya yang digunakan oleh proses-proses yang akan menggunakan sumber daya tersebut
Pengoperasian I/O
RESOURCEResource dapat berupa hardware device (seperti tape drive, memori) atau berupa informasi (record dalam suatu basis data, variable global, dll). Resource ada 2 jenis, yaitu:
Dua Jenis Resource :Resource preemtable adalah resource yang dapat diambil (dilepas) dari proses yang sedang memakainya tanpa memberi efek apapun pada proses tersebut. Resource nonpreemtable adalah resource yang tidak dapat diambil dari proses yang sedang membawanya karena akan menimbulkan kegagalan komputasi. Resource jenis ini yang sering Menyebabkan deadlock.
DIAGRAM GRAFSebuah sistem komputer terdiri dari berbagai macam sumber daya (resources), seperti:
Mekanisme hubungan dari proses-proses dan sumber-daya yang dibutuhkan/digunakan dapat di diwakilkan dengan graf.
Proses Pi meminta sumber daya Rj Sumber daya Rj yang mengalokasikan salah satu Graf Alokasi Sumber daya
Untuk mengetahui ada atau tidaknya deadlock (Pendeteksian) dalam suatu graf dapat dilihat dari perputaran dan resource yang dimilikinya, yaitu:
Fakta tentang Deadlock dalam OSPada windows NT, deteksi deadlock yaitu berupa BSOD(Blue Screen Of Death), recoverynya adalah reboot sederhana Pada linux untuk mengetahui apakah terjadi deadlock yaitu dengan menggunakan xosview untuk mengetahui proses yang menggunakan CPU 100%, lalu kill saja proses tersebut.
Deadlock di LinuxBeberapa kasus deadlock juga terjadi ketika OS Linux dijalankan dari kondisi sleep, proses yang mengakses USB device akan mengalami deadlock Hal ini disebabkan fungsi scheduler pada kernel yang digunakan tidak menyimpan state sebelum sleep, sehingga ketika kernel dijalankan kembali, Proses-proses yang mengakses USB device tersebut menunggu giliran mengakses, sementara scheduler belum menjadwalkan masing-masing proses.
Kondisi untuk Terjadinya Deadlock1. Mutual exclusion (mutual exclusion conditional) Hanya ada satu proses yang boleh memakai sumber daya, dan proses lain yang ingin memakai sumber daya tersebut harus menunggu hingga sumber daya tadi dilepaskan atau tidak ada proses yang memakai sumber daya tersebut. 2. Kondisi genggam dan tunggu (hold and wait) Hold and wait. Proses yang sedang memakai sumber daya boleh meminta sumber daya lagi maksudnya menunggu hingga benar-benar sumber daya yang diminta tidak dipakai oleh proses lain, hal ini dapat menyebabkan kelaparan sumber daya sebab dapat saja sebuah proses tidak mendapat sumber daya dalam waktu yang lama. 3. Kondisi non-preemption (non-preemption condition) Sumber daya yang ada pada sebuah proses tidak boleh diambil begitu saja oleh proses lainnya. Untuk mendapatkan sumber daya tersebut, maka harus dilepaskan terlebih dahulu oleh proses yang memegangnya, selain itu seluruh proses menunggu dan mempersilahkan hanya proses yang memiliki sumber daya yang boleh berjalan. 4. Kondisi menunggu secara sirkuler (circular wait condition) Kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang dipegang proses berikutnya.
Kondisi untuk Terjadinya Deadlock
Metode Mengatasi Deadlock1.Mengabaikan masalah deadlock 2.Mendeteksi dan memperbaiki 3.Menghindari deadlock (avoidance) 4.Pencegahan deadlock (prevention)
Mengabaikan Masalah Deadlock
Deteksi
Perbaikan/Pemulihan
Kriteria Pemilihan Proses Yang Akan Disingkirkan
Menghindari Deadlock (Avoidance)Menghindari deadlock dengan cara hanya memberi akses ke permintaan sumber daya yang tidak mungkin menimbulkan deadlock.
Algoritma Bankir
Safe StateState selamat (safe state) : jika tidak deadlock dan terdapat cara untuk memenuhi semua permintaan yang ditunda tanpa menghasilkan deadlock dengan menjalankan proses secara hati-hati mengikuti suatu urutan tertentu.. Apa yang dimaksud dengan deadlock dan jelaskan penyebab terjadinya deadlock?Deadlock adalah keadaan dimana sejumlah permintaan yang tidak bisa dijalankan oleh scheduler karena permintaan-permintaan tersebut saling tunggu menunggu. Deadlock adalah masalah utama dalam penggunaan data secara bersama-sama.
Bagaimana agar tidak terjadi deadlock?Metode Mengatasi Deadlock. singkirkan semua proses yang terlibat deadlock.. backup semua proses yang terlibat deadlock ke suatu check point yang didefinisikan sebelumnya dan jalankan kembali proses itu.. secara berurutan abaikan proses-proses sampai deadlock tidak terjadi lagi.. Bagaimanakah situasi yang terjadi setelah terjadi deadlock?Starvation adalah kondisi yang biasanya terjadi setelah deadlock. Proses yang kekurangan resource (karena terjadi deadlock) tidak akan pernah mendapat resource yang dibutuhkan sehingga mengalami starvation (kelaparan).
Apa yang terjadi jika suatu sistem operasi tidak bisa menangani deadlock?Jika sebuah sistem tidak memastikan deadlock akan terjadi, dan juga tidak didukung dengan pendeteksian deadlock serta pencegahannya, maka kita akan sampai pada kondisi deadlock yang dapat berpengaruh terhadap performance sistem karena sumber daya tidak dapat digunakan oleh proses sehingga proses-proses yang lain juga ...
|