ody Ahmad Mukti Informatika: Desember 2012

Rabu, 19 Desember 2012

Algoritma safety, algoritma banker, algoritma ostrich

Biasanya algoritma yang digunakan untuk penganan deadlock dan pencegahannya:
* Algoritma banker
 Algoritma banker bisa juga dikenal dengan algoritma penjadwalan. untuk algoritma banker sendiri bisa digambarkan seperti seorang banker/bankir yang berurusan meminjam/ meminta uang dibank kepada bankernya tersebut.

*Algoritma safety
Algoritma ini biasanya bekerja mencari apakah ststusnya aman atau tidak. yang dimaksud status aman disini bukan status dedlock. akan tetapi status tidak aman ini selamanya status deadlock melainkan adanya kemungkinan- kemungkinan dapat terjadi.

*Algoritma oistrich
yaitu : merupakan strategi yang menangani deadlock yang dengan cara mengabaikan masalah yang mungkin terjadi kemungkinan sering atau jarang terjadi, lebih baik pencegahan dari pada terjadi masalah yang tidak diinginkan.


Senin, 10 Desember 2012

Deadlock

Bagaimana cara menghindari deadlock:
* Sumber daya perlu diketahui untuk informasi awalnya.
tiap proses mempunyai kebutuhan maximum .
* Apakah sumber daya yang tersedia memutusakan untuk menghasilkan safe state.
* jika berada pada safe state maka untuk urutan event tidak boleh deadlock.

dan untuk pencegahan deadlock , itu sangat mudah:
* proses yang sedang berjalan tidak berlanjut sampai semuanya.
* beri urutan pada resource prosesnya
* jika proses ingin meminta resource berikutnya maka, resource yang sedang dipegang harus dilepaskan terlebih dahulu.

Algoritma Bankir
merupakan  alagoritma yang mempertimbangkan apakah permintaan itu sesuai dengan jumlah dana yang ia miliki dan sekaligus juga kita pikirkan apbila dananya ingin  diminta lagi.
maka untuk kondisi yang sepeti ini yang menyebabkan terjadinya deadlock, agar terhindar dari terjadinya dedlock maka setiap pinjaman yang harus dikembalikan harus tepat waktu.

Jumat, 07 Desember 2012

Deadlock

Deadlock adalah merupakan suatu kondisi  dimana proses tersebut tidak dapat kembali atau tidak adanya komunikasi. atau bisa juga sekumpulan proses yang terblok yang tiap proses mempunyai sumber daya dan menunggu proses yang lain  dipegang untuk berhenti.

Apa yang menyebabkan terjadinya deadlock:
* Non-pre-emptive:
merupakan suatu kondisi yang yang berada pada suatu proses itu tidak dapat diambil secara paksa dari prosesnya tersebut sapmapi proses itu melepaskannya.
* Circular wait:
 Yaitu kondisi  yang menyatakan adanya rantai yang saling meminta suatu sumber daya  yang dimiliki pada suatu proses dan proses yang lain.
* Hold and wait:
Yaitu merupakan suatu kondisi yang menyatakan proses prosesnya itu sedang memanfaatkan proses sumber daya dan meminta sumber daya yang lain.
* Mutual Exclusion :
yaitu merupakan suatu kondisi yang dimana setiap sumber daya itu tepat pada sutau proses tepat pada satu waktu.

Bagaimana cara  mengatasi deadlock:
* No preemption : mengijinkan preemption
* Avoidence : Menolak suatu permintaan resource yang berpotensi untuk deadlock.
* circular waiting : wajib memtberi penamaan resource yang berdasarkan level ataupun urutan.
*prevention : memastikan salah satu penyebab deadlock.
* mutual exclusion: jika filenya digunakan bersama-sama alangkah baiknya jika membuat file spool.
* perlunya informasi tambahan
* jika resourcenya maximum maka proses tersebut akan melepaskan dengan sendirinya.