Deadlock Sistem Operasi by Annas
Deadlock Sistem Operasi by Annas
DEADLOC K
OLEH ANNAS RAHMA FATH F1B 007 009
Jurusan Teknik Elekto Fakultas Teknik Universitas Mataram
3/14/13
AnnazJuventus.blogspot.com
DEADLOCK
LATAR BELAKANG
Misalkan
pada suatu komputer terdapat dua buah program, sebuah tape drive dan sebuah printer. Program A mengontrol tape drive, sementara program B mengontrol printer. Setelah beberapa saat, program A meminta printer, tapi printer masih digunakan. Berikutnya, B meminta tape drive, sedangkan A masih mengontrol tape drive. Dua program tersebut memegang kontrol terhadap sumber daya yang Annaz3/14/13 dibutuhkan oleh program Juventus.blogspot.com yang lain. Tidak
DEADLOCK
PENYEBAB DEADLOCK
Kemungkinan 1. 2.
3.
3/14/13
et al. (1971)) Mutual Exclusion: satu proses satu sumber daya Hold and Wait: proses yang memegang sumber daya bisa meminta sumber daya lain No Preemption: sumber daya yang sedang digunakan oleh suatu proses tidak bisa sembarangan diambil dari Annazproses tersebut, melainkan harus Juventus.blogspot.com
DEADLOCK
PENGERTIAN
Deadlock
adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses yang lain untuk melepaskan resource yang sedang dipakai. Karena beberapa proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses tersebut. Deadlock adalah masalah yang biasa terjadi ketika banyak proses yang membagi sebuah resource yang hanya boleh dirubah oleh satu proses saja dalam satu waktu. Di kehidupan nyata, deadlock Annazdapat Juventus.blogspot.com 3/14/13
DEADLOCK
CONTOH DEADLOCK
3/14/13
AnnazJuventus.blogspot.com
DEADLOCK
DEADLOCK
Saat D membutuhkan sumber daya U, U sedang digunakan oleh C, demikian juga sebaliknya, sehingga terjadi deadlock AnnazJuventus.blogspot.com
3/14/13
DEADLOCK
Dalam kasus ini, setiap mobil berjalan sesuai nomor yang ditentukan Tetapi pada akhirnya mereka akan bertemu pada suatu titik yang menyebabkan deadlock
3/14/13
AnnazJuventus.blogspot.com
DEADLOCK
MENCEGAH DEADLOCK
Mengatasi
Mutual Exclusion yaitu dengan cara tidak berbagi data dengan proses lain atau dengan kata lain menyediakan data sendiri Memegang dan menunggu yaitu menunggu sampai sumber daya yang akan digunakan tidak lagi digunakan oleh proses lain - Artinya proses dapat berlangsung jika semua sumber daya yang diperlukan tidak digunakan oleh proses lain Dapat menyebabkan terjadinya AnnazJuventus.blogspot.com kelaparan sebab ada proses yang tidak 3/14/13
DEADLOCK
MENCEGAH DEADLOCK
Mengatasi
masalah No Preemptive dengan cara memerintahkan seluruh proses menunggu dan mempersilakan hanya proses yang memiliki sumber daya lama dan baru sesuai dengan daftar sumber daya yang sama dengan yang lain yang boleh berjalan Setiap kebutuhan total didata terlebih dahulu
AnnazJuventus.blogspot.com
3/14/13
DEADLOCK
MENANGANI DEADLOCK
Memakai
protokol untuk menghindari atau mengabaikandeadlock, sehingga dipastikan tidak akan memasuki keadaandeadlock 1. Deadlock Avoidance => memerintahkan pada sistem operasi untuk memberi informasi tentang operasi mana yang bisa dan perlu dilaksanakan (keadaan aman). Selain itu bisa juga menggunakan algoritma bankir 2. Deadlock Prevention => memastikan Annazbahwa keadaan yang penting tidak bisa Juventus.blogspot.com 3/14/13 menunggu
DEADLOCK
MENANGANI DEADLOCK
Mengabaikan
adanya deadlock dan menganggap keadaan deadlock tidak pernah terjadi ( Algoritma Ostrich ) 1. Secara sederhana algoritma ini dapat dikatakan abaikan deadlock seakan-akan tidak ada masalah apapun dengannya 2. Algoritma ini disadur oleh Sistem Operasi Unix, meskipun memerlukan biaya yang cukup besar untuk mengatasi sebuah deadlock
AnnazJuventus.blogspot.com
3/14/13
DEADLOCK
Strategi Ostrich
Pendekatan yang paling sederhana adalah dengan menggunakan strategi burung unta: masukkan kepala dalam pasir dan seolah-olah tidak pernah ada masalah sama sekali. Beragam pendapat muncul berkaitan dengan strategi ini. Menurut para ahli Matematika, cara ini sama sekali tidak dapat diterima dan semua keadaan deadlock harus ditangani. Sementara menurut para ahli Teknik, jika komputer lebih sering mengalami kerusakkan disebabkan oleh kegagalan hardware, error pada kompilator atau bugs pada sistem operasi. Maka ongkos yang dibayar untuk melakukan penanganan deadlock sangatlah besar dan lebih baik mengabaikan keadaan deadlock tersebut. Metode ini diterapkan pada sistem operasi UNIX dan MINIX.
AnnazJuventus.blogspot.com
3/14/13
DEADLOCK
KONDISI AMAN
Saat sistem meminta izin untuk mengambil sumber dayanya, sistem operasi harus memastikan bahwa ia dalam kondisi aman Sistem dalam kondisi aman jika seluruh sistem dapat berjalan tanpa terancam kekurangan sumber daya atau deadlock
3/14/13
AnnazJuventus.blogspot.com
DEADLOCK
Suatu state dinyatakan sebagai state tak selamat (unsafe state) jika tidak terdapat cara untuk memenuhi semua permintaaan yang saat ini ditunda dengan menjalankan proses-proses dengan suatu urutan.
3/14/13
AnnazJuventus.blogspot.com
DEADLOCK
ALGORITMA BANKIR
Setiap
proses yang masuk harus memberitahu berapa banyak sumber daya maksimum yang dibutuhkan Setelah itu sistem mendeteksi apakah sumber daya yang dibutuhkan memang bisa dijalankan dalam kondisi aman 1. Jika ya, maka sistem akan melepaskan sumber dayanya untuk digunakan 2. Jika tidak, maka proses harus menunggu hingga sumber Annazdayanya cukup
3/14/13
Juventus.blogspot.com
DEADLOCK
program 1.Matikan semua proses yang berjalan 2. Hanya matikan proses yang berjalan dalam siklus deadlock
Urutan
terminasinya: Prioritas rendah Seberapa jauh dan berapa banyak Annazbahan yang proses sudah atau akan 3/14/13 dibutuhkan atau dilakukan Juventus.blogspot.com
DEADLOCK
ini mengunakan pendekatan dengan teknik untuk menentukan apakah deadlock sedang terjadi serta prosesproses dan sumber daya yang terlibat dalam deadlock tersebut. Setelah kondisi deadlock dapat dideteksi, maka langkah pemulihan dari kondisi deadlock dapat segera dilakukan.
Langkah
pemulihan tersebut adalah Annazdengan memperoleh sumber daya yang Juventus.blogspot.com 3/14/13 diperlukan oleh proses-proses yang
DEADLOCK
1. TERMINASI PROSES
Metode ini akan menghapus proses-proses yang terlibat pada kondisi deadlock dengan mengacu pada beberapa syarat. Beberapa syarat yang termasuk dalam metode ini adalah : 1. Menghapus semua proses yang terlibat dalam kondisi deadlock (solusi ini terlalu mahal). 2. Menghapus satu persatu proses yang terlibat, sampai kondisi deadlock dapat diatasi (memakan banyak waktu). 3. Menghapus proses berdasarkan prioritas, waktu eksekusi, waktu untuk selesai, dan kedalaman dari rollback.
3/14/13
AnnazJuventus.blogspot.com
DEADLOCK
2. RESOURCE PREEMPTION
Metode
ini lebih menekankan kepada bagaimana menghambat suatu proses dan sumber daya, agar tidak terjebak pada unsafe condition. langkahnya, yaitu:
Beberapa
Pilih salah satu - proses dan sumber daya yang akan di-preempt. Rollback ke safe state yang Annazsebelumnya telah terjadi. Juventus.blogspot.com 3/14/13
DEADLOCK
Daftar Pustaka
Sumber Di Internet
Berbagai
3/14/13
AnnazJuventus.blogspot.com